cdn.js 231 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487
  1. (() => {
  2. function _createForOfIteratorHelper(o, allowArrayLike) {var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];if (!it) {if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {if (it) o = it;var i = 0;var F = function F() {};return { s: F, n: function n() {if (i >= o.length) return { done: true };return { done: false, value: o[i++] };}, e: function e(_e) {throw _e;}, f: F };}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var normalCompletion = true,didErr = false,err;return { s: function s() {it = it.call(o);}, n: function n() {var step = it.next();normalCompletion = step.done;return step;}, e: function e(_e2) {didErr = true;err = _e2;}, f: function f() {try {if (!normalCompletion && it.return != null) it.return();} finally {if (didErr) throw err;}} };}function _callSuper(t, o, e) {return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e));}function _possibleConstructorReturn(self, call) {if (call && (_typeof(call) === "object" || typeof call === "function")) {return call;} else if (call !== void 0) {throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self) {if (self === void 0) {throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct() {try {var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));} catch (t) {}return (_isNativeReflectConstruct = function _isNativeReflectConstruct() {return !!t;})();}function _getPrototypeOf(o) {_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {return o.__proto__ || Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _inherits(subClass, superClass) {if (typeof superClass !== "function" && superClass !== null) {throw new TypeError("Super expression must either be null or a function");}subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } });Object.defineProperty(subClass, "prototype", { writable: false });if (superClass) _setPrototypeOf(subClass, superClass);}function _setPrototypeOf(o, p) {_setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {o.__proto__ = p;return o;};return _setPrototypeOf(o, p);}function _classCallCheck(instance, Constructor) {if (!(instance instanceof Constructor)) {throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target, props) {for (var i = 0; i < props.length; i++) {var descriptor = props[i];descriptor.enumerable = descriptor.enumerable || false;descriptor.configurable = true;if ("value" in descriptor) descriptor.writable = true;Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);}}function _createClass(Constructor, protoProps, staticProps) {if (protoProps) _defineProperties(Constructor.prototype, protoProps);if (staticProps) _defineProperties(Constructor, staticProps);Object.defineProperty(Constructor, "prototype", { writable: false });return Constructor;}function _toConsumableArray(arr) {return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();}function _nonIterableSpread() {throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _arrayWithoutHoles(arr) {if (Array.isArray(arr)) return _arrayLikeToArray(arr);}function _toArray(arr) {return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableRest();}function _iterableToArray(iter) {if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);}function _slicedToArray(arr, i) {return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();}function _nonIterableRest() {throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o, minLen) {if (!o) return;if (typeof o === "string") return _arrayLikeToArray(o, minLen);var n = Object.prototype.toString.call(o).slice(8, -1);if (n === "Object" && o.constructor) n = o.constructor.name;if (n === "Map" || n === "Set") return Array.from(o);if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);}function _arrayLikeToArray(arr, len) {if (len == null || len > arr.length) len = arr.length;for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];return arr2;}function _iterableToArrayLimit(r, l) {var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];if (null != t) {var e,n,i,u,a = [],f = !0,o = !1;try {if (i = (t = t.call(r)).next, 0 === l) {if (Object(t) !== t) return;f = !1;} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);} catch (r) {o = !0, n = r;} finally {try {if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;} finally {if (o) throw n;}}return a;}}function _arrayWithHoles(arr) {if (Array.isArray(arr)) return arr;}function ownKeys(e, r) {var t = Object.keys(e);if (Object.getOwnPropertySymbols) {var o = Object.getOwnPropertySymbols(e);r && (o = o.filter(function (r) {return Object.getOwnPropertyDescriptor(e, r).enumerable;})), t.push.apply(t, o);}return t;}function _objectSpread(e) {for (var r = 1; r < arguments.length; r++) {var t = null != arguments[r] ? arguments[r] : {};r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {_defineProperty(e, r, t[r]);}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));});}return e;}function _defineProperty(obj, key, value) {key = _toPropertyKey(key);if (key in obj) {Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true });} else {obj[key] = value;}return obj;}function _toPropertyKey(t) {var i = _toPrimitive(t, "string");return "symbol" == _typeof(i) ? i : String(i);}function _toPrimitive(t, r) {if ("object" != _typeof(t) || !t) return t;var e = t[Symbol.toPrimitive];if (void 0 !== e) {var i = e.call(t, r || "default");if ("object" != _typeof(i)) return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return ("string" === r ? String : Number)(t);}function _typeof(o) {"@babel/helpers - typeof";return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {return typeof o;} : function (o) {return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;}, _typeof(o);}var __defProp = Object.defineProperty;
  3. var __export = function __export(target, all) {
  4. for (var name in all)
  5. __defProp(target, name, {
  6. get: all[name],
  7. enumerable: true,
  8. configurable: true,
  9. set: function set(newValue) {return all[name] = function () {return newValue;};}
  10. });
  11. };
  12. // lib/index.js
  13. var exports_lib = {};
  14. __export(exports_lib, {
  15. yearsToQuarters: function yearsToQuarters() {return _yearsToQuarters;},
  16. yearsToMonths: function yearsToMonths() {return _yearsToMonths;},
  17. yearsToDays: function yearsToDays() {return _yearsToDays;},
  18. weeksToDays: function weeksToDays() {return _weeksToDays;},
  19. transpose: function transpose() {return _transpose;},
  20. toDate: function toDate() {return _toDate;},
  21. subYears: function subYears() {return _subYears;},
  22. subWeeks: function subWeeks() {return _subWeeks;},
  23. subSeconds: function subSeconds() {return _subSeconds;},
  24. subQuarters: function subQuarters() {return _subQuarters;},
  25. subMonths: function subMonths() {return _subMonths;},
  26. subMinutes: function subMinutes() {return _subMinutes;},
  27. subMilliseconds: function subMilliseconds() {return _subMilliseconds;},
  28. subISOWeekYears: function subISOWeekYears() {return _subISOWeekYears;},
  29. subHours: function subHours() {return _subHours;},
  30. subDays: function subDays() {return _subDays;},
  31. subBusinessDays: function subBusinessDays() {return _subBusinessDays;},
  32. sub: function sub() {return _sub;},
  33. startOfYesterday: function startOfYesterday() {return _startOfYesterday;},
  34. startOfYear: function startOfYear() {return _startOfYear;},
  35. startOfWeekYear: function startOfWeekYear() {return _startOfWeekYear;},
  36. startOfWeek: function startOfWeek() {return _startOfWeek;},
  37. startOfTomorrow: function startOfTomorrow() {return _startOfTomorrow;},
  38. startOfToday: function startOfToday() {return _startOfToday;},
  39. startOfSecond: function startOfSecond() {return _startOfSecond;},
  40. startOfQuarter: function startOfQuarter() {return _startOfQuarter;},
  41. startOfMonth: function startOfMonth() {return _startOfMonth;},
  42. startOfMinute: function startOfMinute() {return _startOfMinute;},
  43. startOfISOWeekYear: function startOfISOWeekYear() {return _startOfISOWeekYear;},
  44. startOfISOWeek: function startOfISOWeek() {return _startOfISOWeek;},
  45. startOfHour: function startOfHour() {return _startOfHour;},
  46. startOfDecade: function startOfDecade() {return _startOfDecade;},
  47. startOfDay: function startOfDay() {return _startOfDay;},
  48. setYear: function setYear() {return _setYear;},
  49. setWeekYear: function setWeekYear() {return _setWeekYear;},
  50. setWeek: function setWeek() {return _setWeek;},
  51. setSeconds: function setSeconds() {return _setSeconds;},
  52. setQuarter: function setQuarter() {return _setQuarter;},
  53. setMonth: function setMonth() {return _setMonth;},
  54. setMinutes: function setMinutes() {return _setMinutes;},
  55. setMilliseconds: function setMilliseconds() {return _setMilliseconds;},
  56. setISOWeekYear: function setISOWeekYear() {return _setISOWeekYear;},
  57. setISOWeek: function setISOWeek() {return _setISOWeek;},
  58. setISODay: function setISODay() {return _setISODay;},
  59. setHours: function setHours() {return _setHours;},
  60. setDefaultOptions: function setDefaultOptions() {return setDefaultOptions2;},
  61. setDayOfYear: function setDayOfYear() {return _setDayOfYear;},
  62. setDay: function setDay() {return _setDay;},
  63. setDate: function setDate() {return _setDate;},
  64. set: function set() {return _set;},
  65. secondsToMinutes: function secondsToMinutes() {return _secondsToMinutes;},
  66. secondsToMilliseconds: function secondsToMilliseconds() {return _secondsToMilliseconds;},
  67. secondsToHours: function secondsToHours() {return _secondsToHours;},
  68. roundToNearestMinutes: function roundToNearestMinutes() {return _roundToNearestMinutes;},
  69. roundToNearestHours: function roundToNearestHours() {return _roundToNearestHours;},
  70. quartersToYears: function quartersToYears() {return _quartersToYears;},
  71. quartersToMonths: function quartersToMonths() {return _quartersToMonths;},
  72. previousWednesday: function previousWednesday() {return _previousWednesday;},
  73. previousTuesday: function previousTuesday() {return _previousTuesday;},
  74. previousThursday: function previousThursday() {return _previousThursday;},
  75. previousSunday: function previousSunday() {return _previousSunday;},
  76. previousSaturday: function previousSaturday() {return _previousSaturday;},
  77. previousMonday: function previousMonday() {return _previousMonday;},
  78. previousFriday: function previousFriday() {return _previousFriday;},
  79. previousDay: function previousDay() {return _previousDay;},
  80. parsers: function parsers() {return _parsers;},
  81. parseJSON: function parseJSON() {return _parseJSON;},
  82. parseISO: function parseISO() {return _parseISO;},
  83. parse: function parse() {return _parse;},
  84. nextWednesday: function nextWednesday() {return _nextWednesday;},
  85. nextTuesday: function nextTuesday() {return _nextTuesday;},
  86. nextThursday: function nextThursday() {return _nextThursday;},
  87. nextSunday: function nextSunday() {return _nextSunday;},
  88. nextSaturday: function nextSaturday() {return _nextSaturday;},
  89. nextMonday: function nextMonday() {return _nextMonday;},
  90. nextFriday: function nextFriday() {return _nextFriday;},
  91. nextDay: function nextDay() {return _nextDay;},
  92. monthsToYears: function monthsToYears() {return _monthsToYears;},
  93. monthsToQuarters: function monthsToQuarters() {return _monthsToQuarters;},
  94. minutesToSeconds: function minutesToSeconds() {return _minutesToSeconds;},
  95. minutesToMilliseconds: function minutesToMilliseconds() {return _minutesToMilliseconds;},
  96. minutesToHours: function minutesToHours() {return _minutesToHours;},
  97. min: function min() {return _min;},
  98. millisecondsToSeconds: function millisecondsToSeconds() {return _millisecondsToSeconds;},
  99. millisecondsToMinutes: function millisecondsToMinutes() {return _millisecondsToMinutes;},
  100. millisecondsToHours: function millisecondsToHours() {return _millisecondsToHours;},
  101. milliseconds: function milliseconds() {return _milliseconds;},
  102. max: function max() {return _max;},
  103. longFormatters: function longFormatters() {return _longFormatters;},
  104. lightFormatters: function lightFormatters() {return _lightFormatters;},
  105. lightFormat: function lightFormat() {return _lightFormat;},
  106. lastDayOfYear: function lastDayOfYear() {return _lastDayOfYear;},
  107. lastDayOfWeek: function lastDayOfWeek() {return _lastDayOfWeek;},
  108. lastDayOfQuarter: function lastDayOfQuarter() {return _lastDayOfQuarter;},
  109. lastDayOfMonth: function lastDayOfMonth() {return _lastDayOfMonth;},
  110. lastDayOfISOWeekYear: function lastDayOfISOWeekYear() {return _lastDayOfISOWeekYear;},
  111. lastDayOfISOWeek: function lastDayOfISOWeek() {return _lastDayOfISOWeek;},
  112. lastDayOfDecade: function lastDayOfDecade() {return _lastDayOfDecade;},
  113. isYesterday: function isYesterday() {return _isYesterday;},
  114. isWithinInterval: function isWithinInterval() {return _isWithinInterval;},
  115. isWeekend: function isWeekend() {return _isWeekend;},
  116. isWednesday: function isWednesday() {return _isWednesday;},
  117. isValid: function isValid() {return _isValid;},
  118. isTuesday: function isTuesday() {return _isTuesday;},
  119. isTomorrow: function isTomorrow() {return _isTomorrow;},
  120. isToday: function isToday() {return _isToday;},
  121. isThursday: function isThursday() {return _isThursday;},
  122. isThisYear: function isThisYear() {return _isThisYear;},
  123. isThisWeek: function isThisWeek() {return _isThisWeek;},
  124. isThisSecond: function isThisSecond() {return _isThisSecond;},
  125. isThisQuarter: function isThisQuarter() {return _isThisQuarter;},
  126. isThisMonth: function isThisMonth() {return _isThisMonth;},
  127. isThisMinute: function isThisMinute() {return _isThisMinute;},
  128. isThisISOWeek: function isThisISOWeek() {return _isThisISOWeek;},
  129. isThisHour: function isThisHour() {return _isThisHour;},
  130. isSunday: function isSunday() {return _isSunday;},
  131. isSaturday: function isSaturday() {return _isSaturday;},
  132. isSameYear: function isSameYear() {return _isSameYear;},
  133. isSameWeek: function isSameWeek() {return _isSameWeek;},
  134. isSameSecond: function isSameSecond() {return _isSameSecond;},
  135. isSameQuarter: function isSameQuarter() {return _isSameQuarter;},
  136. isSameMonth: function isSameMonth() {return _isSameMonth;},
  137. isSameMinute: function isSameMinute() {return _isSameMinute;},
  138. isSameISOWeekYear: function isSameISOWeekYear() {return _isSameISOWeekYear;},
  139. isSameISOWeek: function isSameISOWeek() {return _isSameISOWeek;},
  140. isSameHour: function isSameHour() {return _isSameHour;},
  141. isSameDay: function isSameDay() {return _isSameDay;},
  142. isPast: function isPast() {return _isPast;},
  143. isMonday: function isMonday() {return _isMonday;},
  144. isMatch: function isMatch() {return _isMatch;},
  145. isLeapYear: function isLeapYear() {return _isLeapYear;},
  146. isLastDayOfMonth: function isLastDayOfMonth() {return _isLastDayOfMonth;},
  147. isFuture: function isFuture() {return _isFuture;},
  148. isFriday: function isFriday() {return _isFriday;},
  149. isFirstDayOfMonth: function isFirstDayOfMonth() {return _isFirstDayOfMonth;},
  150. isExists: function isExists() {return _isExists;},
  151. isEqual: function isEqual() {return _isEqual;},
  152. isDate: function isDate() {return _isDate;},
  153. isBefore: function isBefore() {return _isBefore;},
  154. isAfter: function isAfter() {return _isAfter;},
  155. intlFormatDistance: function intlFormatDistance() {return _intlFormatDistance;},
  156. intlFormat: function intlFormat() {return _intlFormat;},
  157. intervalToDuration: function intervalToDuration() {return _intervalToDuration;},
  158. interval: function interval() {return _interval;},
  159. hoursToSeconds: function hoursToSeconds() {return _hoursToSeconds;},
  160. hoursToMinutes: function hoursToMinutes() {return _hoursToMinutes;},
  161. hoursToMilliseconds: function hoursToMilliseconds() {return _hoursToMilliseconds;},
  162. getYear: function getYear() {return _getYear;},
  163. getWeeksInMonth: function getWeeksInMonth() {return _getWeeksInMonth;},
  164. getWeekYear: function getWeekYear() {return _getWeekYear;},
  165. getWeekOfMonth: function getWeekOfMonth() {return _getWeekOfMonth;},
  166. getWeek: function getWeek() {return _getWeek;},
  167. getUnixTime: function getUnixTime() {return _getUnixTime;},
  168. getTime: function getTime() {return _getTime;},
  169. getSeconds: function getSeconds() {return _getSeconds;},
  170. getQuarter: function getQuarter() {return _getQuarter;},
  171. getOverlappingDaysInIntervals: function getOverlappingDaysInIntervals() {return _getOverlappingDaysInIntervals;},
  172. getMonth: function getMonth() {return _getMonth;},
  173. getMinutes: function getMinutes() {return _getMinutes;},
  174. getMilliseconds: function getMilliseconds() {return _getMilliseconds;},
  175. getISOWeeksInYear: function getISOWeeksInYear() {return _getISOWeeksInYear;},
  176. getISOWeekYear: function getISOWeekYear() {return _getISOWeekYear;},
  177. getISOWeek: function getISOWeek() {return _getISOWeek;},
  178. getISODay: function getISODay() {return _getISODay;},
  179. getHours: function getHours() {return _getHours;},
  180. getDefaultOptions: function getDefaultOptions() {return getDefaultOptions2;},
  181. getDecade: function getDecade() {return _getDecade;},
  182. getDaysInYear: function getDaysInYear() {return _getDaysInYear;},
  183. getDaysInMonth: function getDaysInMonth() {return _getDaysInMonth;},
  184. getDayOfYear: function getDayOfYear() {return _getDayOfYear;},
  185. getDay: function getDay() {return _getDay;},
  186. getDate: function getDate() {return _getDate;},
  187. fromUnixTime: function fromUnixTime() {return _fromUnixTime;},
  188. formatters: function formatters() {return _formatters;},
  189. formatRelative: function formatRelative() {return formatRelative3;},
  190. formatRFC7231: function formatRFC7231() {return _formatRFC;},
  191. formatRFC3339: function formatRFC3339() {return _formatRFC2;},
  192. formatISODuration: function formatISODuration() {return _formatISODuration;},
  193. formatISO9075: function formatISO9075() {return _formatISO;},
  194. formatISO: function formatISO() {return _formatISO2;},
  195. formatDuration: function formatDuration() {return _formatDuration;},
  196. formatDistanceToNowStrict: function formatDistanceToNowStrict() {return _formatDistanceToNowStrict;},
  197. formatDistanceToNow: function formatDistanceToNow() {return _formatDistanceToNow;},
  198. formatDistanceStrict: function formatDistanceStrict() {return _formatDistanceStrict;},
  199. formatDistance: function formatDistance() {return formatDistance3;},
  200. formatDate: function formatDate() {return _format;},
  201. format: function format() {return _format;},
  202. endOfYesterday: function endOfYesterday() {return _endOfYesterday;},
  203. endOfYear: function endOfYear() {return _endOfYear;},
  204. endOfWeek: function endOfWeek() {return _endOfWeek;},
  205. endOfTomorrow: function endOfTomorrow() {return _endOfTomorrow;},
  206. endOfToday: function endOfToday() {return _endOfToday;},
  207. endOfSecond: function endOfSecond() {return _endOfSecond;},
  208. endOfQuarter: function endOfQuarter() {return _endOfQuarter;},
  209. endOfMonth: function endOfMonth() {return _endOfMonth;},
  210. endOfMinute: function endOfMinute() {return _endOfMinute;},
  211. endOfISOWeekYear: function endOfISOWeekYear() {return _endOfISOWeekYear;},
  212. endOfISOWeek: function endOfISOWeek() {return _endOfISOWeek;},
  213. endOfHour: function endOfHour() {return _endOfHour;},
  214. endOfDecade: function endOfDecade() {return _endOfDecade;},
  215. endOfDay: function endOfDay() {return _endOfDay;},
  216. eachYearOfInterval: function eachYearOfInterval() {return _eachYearOfInterval;},
  217. eachWeekendOfYear: function eachWeekendOfYear() {return _eachWeekendOfYear;},
  218. eachWeekendOfMonth: function eachWeekendOfMonth() {return _eachWeekendOfMonth;},
  219. eachWeekendOfInterval: function eachWeekendOfInterval() {return _eachWeekendOfInterval;},
  220. eachWeekOfInterval: function eachWeekOfInterval() {return _eachWeekOfInterval;},
  221. eachQuarterOfInterval: function eachQuarterOfInterval() {return _eachQuarterOfInterval;},
  222. eachMonthOfInterval: function eachMonthOfInterval() {return _eachMonthOfInterval;},
  223. eachMinuteOfInterval: function eachMinuteOfInterval() {return _eachMinuteOfInterval;},
  224. eachHourOfInterval: function eachHourOfInterval() {return _eachHourOfInterval;},
  225. eachDayOfInterval: function eachDayOfInterval() {return _eachDayOfInterval;},
  226. differenceInYears: function differenceInYears() {return _differenceInYears;},
  227. differenceInWeeks: function differenceInWeeks() {return _differenceInWeeks;},
  228. differenceInSeconds: function differenceInSeconds() {return _differenceInSeconds;},
  229. differenceInQuarters: function differenceInQuarters() {return _differenceInQuarters;},
  230. differenceInMonths: function differenceInMonths() {return _differenceInMonths;},
  231. differenceInMinutes: function differenceInMinutes() {return _differenceInMinutes;},
  232. differenceInMilliseconds: function differenceInMilliseconds() {return _differenceInMilliseconds;},
  233. differenceInISOWeekYears: function differenceInISOWeekYears() {return _differenceInISOWeekYears;},
  234. differenceInHours: function differenceInHours() {return _differenceInHours;},
  235. differenceInDays: function differenceInDays() {return _differenceInDays;},
  236. differenceInCalendarYears: function differenceInCalendarYears() {return _differenceInCalendarYears;},
  237. differenceInCalendarWeeks: function differenceInCalendarWeeks() {return _differenceInCalendarWeeks;},
  238. differenceInCalendarQuarters: function differenceInCalendarQuarters() {return _differenceInCalendarQuarters;},
  239. differenceInCalendarMonths: function differenceInCalendarMonths() {return _differenceInCalendarMonths;},
  240. differenceInCalendarISOWeeks: function differenceInCalendarISOWeeks() {return _differenceInCalendarISOWeeks;},
  241. differenceInCalendarISOWeekYears: function differenceInCalendarISOWeekYears() {return _differenceInCalendarISOWeekYears;},
  242. differenceInCalendarDays: function differenceInCalendarDays() {return _differenceInCalendarDays;},
  243. differenceInBusinessDays: function differenceInBusinessDays() {return _differenceInBusinessDays;},
  244. daysToWeeks: function daysToWeeks() {return _daysToWeeks;},
  245. constructNow: function constructNow() {return _constructNow;},
  246. constructFrom: function constructFrom() {return _constructFrom;},
  247. compareDesc: function compareDesc() {return _compareDesc;},
  248. compareAsc: function compareAsc() {return _compareAsc;},
  249. closestTo: function closestTo() {return _closestTo;},
  250. closestIndexTo: function closestIndexTo() {return _closestIndexTo;},
  251. clamp: function clamp() {return _clamp;},
  252. areIntervalsOverlapping: function areIntervalsOverlapping() {return _areIntervalsOverlapping;},
  253. addYears: function addYears() {return _addYears;},
  254. addWeeks: function addWeeks() {return _addWeeks;},
  255. addSeconds: function addSeconds() {return _addSeconds;},
  256. addQuarters: function addQuarters() {return _addQuarters;},
  257. addMonths: function addMonths() {return _addMonths;},
  258. addMinutes: function addMinutes() {return _addMinutes;},
  259. addMilliseconds: function addMilliseconds() {return _addMilliseconds;},
  260. addISOWeekYears: function addISOWeekYears() {return _addISOWeekYears;},
  261. addHours: function addHours() {return _addHours;},
  262. addDays: function addDays() {return _addDays;},
  263. addBusinessDays: function addBusinessDays() {return _addBusinessDays;},
  264. add: function add() {return _add;}
  265. });
  266. // lib/constants.js
  267. var daysInWeek = 7;
  268. var daysInYear = 365.2425;
  269. var maxTime = Math.pow(10, 8) * 24 * 60 * 60 * 1000;
  270. var minTime = -maxTime;
  271. var millisecondsInWeek = 604800000;
  272. var millisecondsInDay = 86400000;
  273. var millisecondsInMinute = 60000;
  274. var millisecondsInHour = 3600000;
  275. var millisecondsInSecond = 1000;
  276. var minutesInYear = 525600;
  277. var minutesInMonth = 43200;
  278. var minutesInDay = 1440;
  279. var minutesInHour = 60;
  280. var monthsInQuarter = 3;
  281. var monthsInYear = 12;
  282. var quartersInYear = 4;
  283. var secondsInHour = 3600;
  284. var secondsInMinute = 60;
  285. var secondsInDay = secondsInHour * 24;
  286. var secondsInWeek = secondsInDay * 7;
  287. var secondsInYear = secondsInDay * daysInYear;
  288. var secondsInMonth = secondsInYear / 12;
  289. var secondsInQuarter = secondsInMonth * 3;
  290. var constructFromSymbol = Symbol.for("constructDateFrom");
  291. // lib/constructFrom.js
  292. function _constructFrom(date, value) {
  293. if (typeof date === "function")
  294. return date(value);
  295. if (date && _typeof(date) === "object" && constructFromSymbol in date)
  296. return date[constructFromSymbol](value);
  297. if (date instanceof Date)
  298. return new date.constructor(value);
  299. return new Date(value);
  300. }
  301. // lib/toDate.js
  302. function _toDate(argument, context) {
  303. return _constructFrom(context || argument, argument);
  304. }
  305. // lib/addDays.js
  306. function _addDays(date, amount, options) {
  307. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  308. if (isNaN(amount))
  309. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, NaN);
  310. if (!amount)
  311. return _date;
  312. _date.setDate(_date.getDate() + amount);
  313. return _date;
  314. }
  315. // lib/addMonths.js
  316. function _addMonths(date, amount, options) {
  317. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  318. if (isNaN(amount))
  319. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, NaN);
  320. if (!amount) {
  321. return _date;
  322. }
  323. var dayOfMonth = _date.getDate();
  324. var endOfDesiredMonth = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, _date.getTime());
  325. endOfDesiredMonth.setMonth(_date.getMonth() + amount + 1, 0);
  326. var daysInMonth = endOfDesiredMonth.getDate();
  327. if (dayOfMonth >= daysInMonth) {
  328. return endOfDesiredMonth;
  329. } else {
  330. _date.setFullYear(endOfDesiredMonth.getFullYear(), endOfDesiredMonth.getMonth(), dayOfMonth);
  331. return _date;
  332. }
  333. }
  334. // lib/add.js
  335. function _add(date, duration, options) {
  336. var _duration$years =
  337. duration.years,years = _duration$years === void 0 ? 0 : _duration$years,_duration$months = duration.months,months = _duration$months === void 0 ? 0 : _duration$months,_duration$weeks = duration.weeks,weeks = _duration$weeks === void 0 ? 0 : _duration$weeks,_duration$days = duration.days,days = _duration$days === void 0 ? 0 : _duration$days,_duration$hours = duration.hours,hours = _duration$hours === void 0 ? 0 : _duration$hours,_duration$minutes = duration.minutes,minutes = _duration$minutes === void 0 ? 0 : _duration$minutes,_duration$seconds = duration.seconds,seconds = _duration$seconds === void 0 ? 0 : _duration$seconds;
  338. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  339. var dateWithMonths = months || years ? _addMonths(_date, months + years * 12) : _date;
  340. var dateWithDays = days || weeks ? _addDays(dateWithMonths, days + weeks * 7) : dateWithMonths;
  341. var minutesToAdd = minutes + hours * 60;
  342. var secondsToAdd = seconds + minutesToAdd * 60;
  343. var msToAdd = secondsToAdd * 1000;
  344. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, +dateWithDays + msToAdd);
  345. }
  346. // lib/isSaturday.js
  347. function _isSaturday(date, options) {
  348. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 6;
  349. }
  350. // lib/isSunday.js
  351. function _isSunday(date, options) {
  352. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 0;
  353. }
  354. // lib/isWeekend.js
  355. function _isWeekend(date, options) {
  356. var day = _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay();
  357. return day === 0 || day === 6;
  358. }
  359. // lib/addBusinessDays.js
  360. function _addBusinessDays(date, amount, options) {
  361. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  362. var startedOnWeekend = _isWeekend(_date, options);
  363. if (isNaN(amount))
  364. return _constructFrom(options === null || options === void 0 ? void 0 : options.in, NaN);
  365. var hours = _date.getHours();
  366. var sign = amount < 0 ? -1 : 1;
  367. var fullWeeks = Math.trunc(amount / 5);
  368. _date.setDate(_date.getDate() + fullWeeks * 7);
  369. var restDays = Math.abs(amount % 5);
  370. while (restDays > 0) {
  371. _date.setDate(_date.getDate() + sign);
  372. if (!_isWeekend(_date, options))
  373. restDays -= 1;
  374. }
  375. if (startedOnWeekend && _isWeekend(_date, options) && amount !== 0) {
  376. if (_isSaturday(_date, options))
  377. _date.setDate(_date.getDate() + (sign < 0 ? 2 : -1));
  378. if (_isSunday(_date, options))
  379. _date.setDate(_date.getDate() + (sign < 0 ? 1 : -2));
  380. }
  381. _date.setHours(hours);
  382. return _date;
  383. }
  384. // lib/addMilliseconds.js
  385. function _addMilliseconds(date, amount, options) {
  386. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, +_toDate(date) + amount);
  387. }
  388. // lib/addHours.js
  389. function _addHours(date, amount, options) {
  390. return _addMilliseconds(date, amount * millisecondsInHour, options);
  391. }
  392. // lib/_lib/defaultOptions.js
  393. function getDefaultOptions() {
  394. return defaultOptions;
  395. }
  396. function setDefaultOptions(newOptions) {
  397. defaultOptions = newOptions;
  398. }
  399. var defaultOptions = {};
  400. // lib/startOfWeek.js
  401. function _startOfWeek(date, options) {var _ref, _ref2, _ref3, _options$weekStartsOn, _options$locale, _defaultOptions3$loca;
  402. var defaultOptions3 = getDefaultOptions();
  403. var weekStartsOn = (_ref = (_ref2 = (_ref3 = (_options$weekStartsOn = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn !== void 0 ? _options$weekStartsOn : options === null || options === void 0 || (_options$locale = options.locale) === null || _options$locale === void 0 || (_options$locale = _options$locale.options) === null || _options$locale === void 0 ? void 0 : _options$locale.weekStartsOn) !== null && _ref3 !== void 0 ? _ref3 : defaultOptions3.weekStartsOn) !== null && _ref2 !== void 0 ? _ref2 : (_defaultOptions3$loca = defaultOptions3.locale) === null || _defaultOptions3$loca === void 0 || (_defaultOptions3$loca = _defaultOptions3$loca.options) === null || _defaultOptions3$loca === void 0 ? void 0 : _defaultOptions3$loca.weekStartsOn) !== null && _ref !== void 0 ? _ref : 0;
  404. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  405. var day = _date.getDay();
  406. var diff = (day < weekStartsOn ? 7 : 0) + day - weekStartsOn;
  407. _date.setDate(_date.getDate() - diff);
  408. _date.setHours(0, 0, 0, 0);
  409. return _date;
  410. }
  411. // lib/startOfISOWeek.js
  412. function _startOfISOWeek(date, options) {
  413. return _startOfWeek(date, _objectSpread(_objectSpread({}, options), {}, { weekStartsOn: 1 }));
  414. }
  415. // lib/getISOWeekYear.js
  416. function _getISOWeekYear(date, options) {
  417. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  418. var year = _date.getFullYear();
  419. var fourthOfJanuaryOfNextYear = _constructFrom(_date, 0);
  420. fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
  421. fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
  422. var startOfNextYear = _startOfISOWeek(fourthOfJanuaryOfNextYear);
  423. var fourthOfJanuaryOfThisYear = _constructFrom(_date, 0);
  424. fourthOfJanuaryOfThisYear.setFullYear(year, 0, 4);
  425. fourthOfJanuaryOfThisYear.setHours(0, 0, 0, 0);
  426. var startOfThisYear = _startOfISOWeek(fourthOfJanuaryOfThisYear);
  427. if (_date.getTime() >= startOfNextYear.getTime()) {
  428. return year + 1;
  429. } else if (_date.getTime() >= startOfThisYear.getTime()) {
  430. return year;
  431. } else {
  432. return year - 1;
  433. }
  434. }
  435. // lib/_lib/getTimezoneOffsetInMilliseconds.js
  436. function getTimezoneOffsetInMilliseconds(date) {
  437. var _date = _toDate(date);
  438. var utcDate = new Date(Date.UTC(_date.getFullYear(), _date.getMonth(), _date.getDate(), _date.getHours(), _date.getMinutes(), _date.getSeconds(), _date.getMilliseconds()));
  439. utcDate.setUTCFullYear(_date.getFullYear());
  440. return +date - +utcDate;
  441. }
  442. // lib/_lib/normalizeDates.js
  443. function normalizeDates(context) {for (var _len = arguments.length, dates = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {dates[_key - 1] = arguments[_key];}
  444. var normalize = _constructFrom.bind(null, context || dates.find(function (date) {return _typeof(date) === "object";}));
  445. return dates.map(normalize);
  446. }
  447. // lib/startOfDay.js
  448. function _startOfDay(date, options) {
  449. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  450. _date.setHours(0, 0, 0, 0);
  451. return _date;
  452. }
  453. // lib/differenceInCalendarDays.js
  454. function _differenceInCalendarDays(laterDate, earlierDate, options) {
  455. var _normalizeDates = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates2 = _slicedToArray(_normalizeDates, 2),laterDate_ = _normalizeDates2[0],earlierDate_ = _normalizeDates2[1];
  456. var laterStartOfDay = _startOfDay(laterDate_);
  457. var earlierStartOfDay = _startOfDay(earlierDate_);
  458. var laterTimestamp = +laterStartOfDay - getTimezoneOffsetInMilliseconds(laterStartOfDay);
  459. var earlierTimestamp = +earlierStartOfDay - getTimezoneOffsetInMilliseconds(earlierStartOfDay);
  460. return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInDay);
  461. }
  462. // lib/startOfISOWeekYear.js
  463. function _startOfISOWeekYear(date, options) {
  464. var year = _getISOWeekYear(date, options);
  465. var fourthOfJanuary = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  466. fourthOfJanuary.setFullYear(year, 0, 4);
  467. fourthOfJanuary.setHours(0, 0, 0, 0);
  468. return _startOfISOWeek(fourthOfJanuary);
  469. }
  470. // lib/setISOWeekYear.js
  471. function _setISOWeekYear(date, weekYear, options) {
  472. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  473. var diff = _differenceInCalendarDays(_date, _startOfISOWeekYear(_date, options));
  474. var fourthOfJanuary = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  475. fourthOfJanuary.setFullYear(weekYear, 0, 4);
  476. fourthOfJanuary.setHours(0, 0, 0, 0);
  477. _date = _startOfISOWeekYear(fourthOfJanuary);
  478. _date.setDate(_date.getDate() + diff);
  479. return _date;
  480. }
  481. // lib/addISOWeekYears.js
  482. function _addISOWeekYears(date, amount, options) {
  483. return _setISOWeekYear(date, _getISOWeekYear(date, options) + amount, options);
  484. }
  485. // lib/addMinutes.js
  486. function _addMinutes(date, amount, options) {
  487. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  488. _date.setTime(_date.getTime() + amount * millisecondsInMinute);
  489. return _date;
  490. }
  491. // lib/addQuarters.js
  492. function _addQuarters(date, amount, options) {
  493. return _addMonths(date, amount * 3, options);
  494. }
  495. // lib/addSeconds.js
  496. function _addSeconds(date, amount, options) {
  497. return _addMilliseconds(date, amount * 1000, options);
  498. }
  499. // lib/addWeeks.js
  500. function _addWeeks(date, amount, options) {
  501. return _addDays(date, amount * 7, options);
  502. }
  503. // lib/addYears.js
  504. function _addYears(date, amount, options) {
  505. return _addMonths(date, amount * 12, options);
  506. }
  507. // lib/areIntervalsOverlapping.js
  508. function _areIntervalsOverlapping(intervalLeft, intervalRight, options) {
  509. var _sort = [
  510. +_toDate(intervalLeft.start, options === null || options === void 0 ? void 0 : options.in),
  511. +_toDate(intervalLeft.end, options === null || options === void 0 ? void 0 : options.in)].
  512. sort(function (a, b) {return a - b;}),_sort2 = _slicedToArray(_sort, 2),leftStartTime = _sort2[0],leftEndTime = _sort2[1];
  513. var _sort3 = [
  514. +_toDate(intervalRight.start, options === null || options === void 0 ? void 0 : options.in),
  515. +_toDate(intervalRight.end, options === null || options === void 0 ? void 0 : options.in)].
  516. sort(function (a, b) {return a - b;}),_sort4 = _slicedToArray(_sort3, 2),rightStartTime = _sort4[0],rightEndTime = _sort4[1];
  517. if (options !== null && options !== void 0 && options.inclusive)
  518. return leftStartTime <= rightEndTime && rightStartTime <= leftEndTime;
  519. return leftStartTime < rightEndTime && rightStartTime < leftEndTime;
  520. }
  521. // lib/max.js
  522. function _max(dates, options) {
  523. var result;
  524. var context = options === null || options === void 0 ? void 0 : options.in;
  525. dates.forEach(function (date) {
  526. if (!context && _typeof(date) === "object")
  527. context = _constructFrom.bind(null, date);
  528. var date_ = _toDate(date, context);
  529. if (!result || result < date_ || isNaN(+date_))
  530. result = date_;
  531. });
  532. return _constructFrom(context, result || NaN);
  533. }
  534. // lib/min.js
  535. function _min(dates, options) {
  536. var result;
  537. var context = options === null || options === void 0 ? void 0 : options.in;
  538. dates.forEach(function (date) {
  539. if (!context && _typeof(date) === "object")
  540. context = _constructFrom.bind(null, date);
  541. var date_ = _toDate(date, context);
  542. if (!result || result > date_ || isNaN(+date_))
  543. result = date_;
  544. });
  545. return _constructFrom(context, result || NaN);
  546. }
  547. // lib/clamp.js
  548. function _clamp(date, interval, options) {
  549. var _normalizeDates3 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, date, interval.start, interval.end),_normalizeDates4 = _slicedToArray(_normalizeDates3, 3),date_ = _normalizeDates4[0],start = _normalizeDates4[1],end = _normalizeDates4[2];
  550. return _min([_max([date_, start], options), end], options);
  551. }
  552. // lib/closestIndexTo.js
  553. function _closestIndexTo(dateToCompare, dates) {
  554. var timeToCompare = +_toDate(dateToCompare);
  555. if (isNaN(timeToCompare))
  556. return NaN;
  557. var result;
  558. var minDistance;
  559. dates.forEach(function (date, index) {
  560. var date_ = _toDate(date);
  561. if (isNaN(+date_)) {
  562. result = NaN;
  563. minDistance = NaN;
  564. return;
  565. }
  566. var distance = Math.abs(timeToCompare - +date_);
  567. if (result == null || distance < minDistance) {
  568. result = index;
  569. minDistance = distance;
  570. }
  571. });
  572. return result;
  573. }
  574. // lib/closestTo.js
  575. function _closestTo(dateToCompare, dates, options) {
  576. var _normalizeDates5 = normalizeDates.apply(void 0, [options === null || options === void 0 ? void 0 : options.in, dateToCompare].concat(_toConsumableArray(dates))),_normalizeDates6 = _toArray(_normalizeDates5),dateToCompare_ = _normalizeDates6[0],dates_ = _normalizeDates6.slice(1);
  577. var index = _closestIndexTo(dateToCompare_, dates_);
  578. if (typeof index === "number" && isNaN(index))
  579. return _constructFrom(dateToCompare_, NaN);
  580. if (index !== undefined)
  581. return dates_[index];
  582. }
  583. // lib/compareAsc.js
  584. function _compareAsc(dateLeft, dateRight) {
  585. var diff = +_toDate(dateLeft) - +_toDate(dateRight);
  586. if (diff < 0)
  587. return -1;else
  588. if (diff > 0)
  589. return 1;
  590. return diff;
  591. }
  592. // lib/compareDesc.js
  593. function _compareDesc(dateLeft, dateRight) {
  594. var diff = +_toDate(dateLeft) - +_toDate(dateRight);
  595. if (diff > 0)
  596. return -1;else
  597. if (diff < 0)
  598. return 1;
  599. return diff;
  600. }
  601. // lib/constructNow.js
  602. function _constructNow(date) {
  603. return _constructFrom(date, Date.now());
  604. }
  605. // lib/daysToWeeks.js
  606. function _daysToWeeks(days) {
  607. var result = Math.trunc(days / daysInWeek);
  608. return result === 0 ? 0 : result;
  609. }
  610. // lib/isSameDay.js
  611. function _isSameDay(laterDate, earlierDate, options) {
  612. var _normalizeDates7 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates8 = _slicedToArray(_normalizeDates7, 2),dateLeft_ = _normalizeDates8[0],dateRight_ = _normalizeDates8[1];
  613. return +_startOfDay(dateLeft_) === +_startOfDay(dateRight_);
  614. }
  615. // lib/isDate.js
  616. function _isDate(value) {
  617. return value instanceof Date || _typeof(value) === "object" && Object.prototype.toString.call(value) === "[object Date]";
  618. }
  619. // lib/isValid.js
  620. function _isValid(date) {
  621. return !(!_isDate(date) && typeof date !== "number" || isNaN(+_toDate(date)));
  622. }
  623. // lib/differenceInBusinessDays.js
  624. function _differenceInBusinessDays(laterDate, earlierDate, options) {
  625. var _normalizeDates9 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates10 = _slicedToArray(_normalizeDates9, 2),laterDate_ = _normalizeDates10[0],earlierDate_ = _normalizeDates10[1];
  626. if (!_isValid(laterDate_) || !_isValid(earlierDate_))
  627. return NaN;
  628. var diff = _differenceInCalendarDays(laterDate_, earlierDate_);
  629. var sign = diff < 0 ? -1 : 1;
  630. var weeks = Math.trunc(diff / 7);
  631. var result = weeks * 5;
  632. var movingDate = _addDays(earlierDate_, weeks * 7);
  633. while (!_isSameDay(laterDate_, movingDate)) {
  634. result += _isWeekend(movingDate, options) ? 0 : sign;
  635. movingDate = _addDays(movingDate, sign);
  636. }
  637. return result === 0 ? 0 : result;
  638. }
  639. // lib/differenceInCalendarISOWeekYears.js
  640. function _differenceInCalendarISOWeekYears(laterDate, earlierDate, options) {
  641. var _normalizeDates11 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates12 = _slicedToArray(_normalizeDates11, 2),laterDate_ = _normalizeDates12[0],earlierDate_ = _normalizeDates12[1];
  642. return _getISOWeekYear(laterDate_, options) - _getISOWeekYear(earlierDate_, options);
  643. }
  644. // lib/differenceInCalendarISOWeeks.js
  645. function _differenceInCalendarISOWeeks(laterDate, earlierDate, options) {
  646. var _normalizeDates13 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates14 = _slicedToArray(_normalizeDates13, 2),laterDate_ = _normalizeDates14[0],earlierDate_ = _normalizeDates14[1];
  647. var startOfISOWeekLeft = _startOfISOWeek(laterDate_);
  648. var startOfISOWeekRight = _startOfISOWeek(earlierDate_);
  649. var timestampLeft = +startOfISOWeekLeft - getTimezoneOffsetInMilliseconds(startOfISOWeekLeft);
  650. var timestampRight = +startOfISOWeekRight - getTimezoneOffsetInMilliseconds(startOfISOWeekRight);
  651. return Math.round((timestampLeft - timestampRight) / millisecondsInWeek);
  652. }
  653. // lib/differenceInCalendarMonths.js
  654. function _differenceInCalendarMonths(laterDate, earlierDate, options) {
  655. var _normalizeDates15 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates16 = _slicedToArray(_normalizeDates15, 2),laterDate_ = _normalizeDates16[0],earlierDate_ = _normalizeDates16[1];
  656. var yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();
  657. var monthsDiff = laterDate_.getMonth() - earlierDate_.getMonth();
  658. return yearsDiff * 12 + monthsDiff;
  659. }
  660. // lib/getQuarter.js
  661. function _getQuarter(date, options) {
  662. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  663. var quarter = Math.trunc(_date.getMonth() / 3) + 1;
  664. return quarter;
  665. }
  666. // lib/differenceInCalendarQuarters.js
  667. function _differenceInCalendarQuarters(laterDate, earlierDate, options) {
  668. var _normalizeDates17 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates18 = _slicedToArray(_normalizeDates17, 2),laterDate_ = _normalizeDates18[0],earlierDate_ = _normalizeDates18[1];
  669. var yearsDiff = laterDate_.getFullYear() - earlierDate_.getFullYear();
  670. var quartersDiff = _getQuarter(laterDate_) - _getQuarter(earlierDate_);
  671. return yearsDiff * 4 + quartersDiff;
  672. }
  673. // lib/differenceInCalendarWeeks.js
  674. function _differenceInCalendarWeeks(laterDate, earlierDate, options) {
  675. var _normalizeDates19 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates20 = _slicedToArray(_normalizeDates19, 2),laterDate_ = _normalizeDates20[0],earlierDate_ = _normalizeDates20[1];
  676. var laterStartOfWeek = _startOfWeek(laterDate_, options);
  677. var earlierStartOfWeek = _startOfWeek(earlierDate_, options);
  678. var laterTimestamp = +laterStartOfWeek - getTimezoneOffsetInMilliseconds(laterStartOfWeek);
  679. var earlierTimestamp = +earlierStartOfWeek - getTimezoneOffsetInMilliseconds(earlierStartOfWeek);
  680. return Math.round((laterTimestamp - earlierTimestamp) / millisecondsInWeek);
  681. }
  682. // lib/differenceInCalendarYears.js
  683. function _differenceInCalendarYears(laterDate, earlierDate, options) {
  684. var _normalizeDates21 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates22 = _slicedToArray(_normalizeDates21, 2),laterDate_ = _normalizeDates22[0],earlierDate_ = _normalizeDates22[1];
  685. return laterDate_.getFullYear() - earlierDate_.getFullYear();
  686. }
  687. // lib/differenceInDays.js
  688. function _differenceInDays(laterDate, earlierDate, options) {
  689. var _normalizeDates23 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates24 = _slicedToArray(_normalizeDates23, 2),laterDate_ = _normalizeDates24[0],earlierDate_ = _normalizeDates24[1];
  690. var sign = compareLocalAsc(laterDate_, earlierDate_);
  691. var difference = Math.abs(_differenceInCalendarDays(laterDate_, earlierDate_));
  692. laterDate_.setDate(laterDate_.getDate() - sign * difference);
  693. var isLastDayNotFull = Number(compareLocalAsc(laterDate_, earlierDate_) === -sign);
  694. var result = sign * (difference - isLastDayNotFull);
  695. return result === 0 ? 0 : result;
  696. }
  697. function compareLocalAsc(laterDate, earlierDate) {
  698. var diff = laterDate.getFullYear() - earlierDate.getFullYear() || laterDate.getMonth() - earlierDate.getMonth() || laterDate.getDate() - earlierDate.getDate() || laterDate.getHours() - earlierDate.getHours() || laterDate.getMinutes() - earlierDate.getMinutes() || laterDate.getSeconds() - earlierDate.getSeconds() || laterDate.getMilliseconds() - earlierDate.getMilliseconds();
  699. if (diff < 0)
  700. return -1;
  701. if (diff > 0)
  702. return 1;
  703. return diff;
  704. }
  705. // lib/_lib/getRoundingMethod.js
  706. function getRoundingMethod(method) {
  707. return function (number) {
  708. var round = method ? Math[method] : Math.trunc;
  709. var result = round(number);
  710. return result === 0 ? 0 : result;
  711. };
  712. }
  713. // lib/differenceInHours.js
  714. function _differenceInHours(laterDate, earlierDate, options) {
  715. var _normalizeDates25 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates26 = _slicedToArray(_normalizeDates25, 2),laterDate_ = _normalizeDates26[0],earlierDate_ = _normalizeDates26[1];
  716. var diff = (+laterDate_ - +earlierDate_) / millisecondsInHour;
  717. return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
  718. }
  719. // lib/subISOWeekYears.js
  720. function _subISOWeekYears(date, amount, options) {
  721. return _addISOWeekYears(date, -amount, options);
  722. }
  723. // lib/differenceInISOWeekYears.js
  724. function _differenceInISOWeekYears(laterDate, earlierDate, options) {
  725. var _normalizeDates27 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates28 = _slicedToArray(_normalizeDates27, 2),laterDate_ = _normalizeDates28[0],earlierDate_ = _normalizeDates28[1];
  726. var sign = _compareAsc(laterDate_, earlierDate_);
  727. var diff = Math.abs(_differenceInCalendarISOWeekYears(laterDate_, earlierDate_, options));
  728. var adjustedDate = _subISOWeekYears(laterDate_, sign * diff, options);
  729. var isLastISOWeekYearNotFull = Number(_compareAsc(adjustedDate, earlierDate_) === -sign);
  730. var result = sign * (diff - isLastISOWeekYearNotFull);
  731. return result === 0 ? 0 : result;
  732. }
  733. // lib/differenceInMilliseconds.js
  734. function _differenceInMilliseconds(laterDate, earlierDate) {
  735. return +_toDate(laterDate) - +_toDate(earlierDate);
  736. }
  737. // lib/differenceInMinutes.js
  738. function _differenceInMinutes(dateLeft, dateRight, options) {
  739. var diff = _differenceInMilliseconds(dateLeft, dateRight) / millisecondsInMinute;
  740. return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
  741. }
  742. // lib/endOfDay.js
  743. function _endOfDay(date, options) {
  744. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  745. _date.setHours(23, 59, 59, 999);
  746. return _date;
  747. }
  748. // lib/endOfMonth.js
  749. function _endOfMonth(date, options) {
  750. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  751. var month = _date.getMonth();
  752. _date.setFullYear(_date.getFullYear(), month + 1, 0);
  753. _date.setHours(23, 59, 59, 999);
  754. return _date;
  755. }
  756. // lib/isLastDayOfMonth.js
  757. function _isLastDayOfMonth(date, options) {
  758. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  759. return +_endOfDay(_date, options) === +_endOfMonth(_date, options);
  760. }
  761. // lib/differenceInMonths.js
  762. function _differenceInMonths(laterDate, earlierDate, options) {
  763. var _normalizeDates29 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, laterDate, earlierDate),_normalizeDates30 = _slicedToArray(_normalizeDates29, 3),laterDate_ = _normalizeDates30[0],workingLaterDate = _normalizeDates30[1],earlierDate_ = _normalizeDates30[2];
  764. var sign = _compareAsc(workingLaterDate, earlierDate_);
  765. var difference = Math.abs(_differenceInCalendarMonths(workingLaterDate, earlierDate_));
  766. if (difference < 1)
  767. return 0;
  768. if (workingLaterDate.getMonth() === 1 && workingLaterDate.getDate() > 27)
  769. workingLaterDate.setDate(30);
  770. workingLaterDate.setMonth(workingLaterDate.getMonth() - sign * difference);
  771. var isLastMonthNotFull = _compareAsc(workingLaterDate, earlierDate_) === -sign;
  772. if (_isLastDayOfMonth(laterDate_) && difference === 1 && _compareAsc(laterDate_, earlierDate_) === 1) {
  773. isLastMonthNotFull = false;
  774. }
  775. var result = sign * (difference - +isLastMonthNotFull);
  776. return result === 0 ? 0 : result;
  777. }
  778. // lib/differenceInQuarters.js
  779. function _differenceInQuarters(laterDate, earlierDate, options) {
  780. var diff = _differenceInMonths(laterDate, earlierDate, options) / 3;
  781. return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
  782. }
  783. // lib/differenceInSeconds.js
  784. function _differenceInSeconds(laterDate, earlierDate, options) {
  785. var diff = _differenceInMilliseconds(laterDate, earlierDate) / 1000;
  786. return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
  787. }
  788. // lib/differenceInWeeks.js
  789. function _differenceInWeeks(laterDate, earlierDate, options) {
  790. var diff = _differenceInDays(laterDate, earlierDate, options) / 7;
  791. return getRoundingMethod(options === null || options === void 0 ? void 0 : options.roundingMethod)(diff);
  792. }
  793. // lib/differenceInYears.js
  794. function _differenceInYears(laterDate, earlierDate, options) {
  795. var _normalizeDates31 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates32 = _slicedToArray(_normalizeDates31, 2),laterDate_ = _normalizeDates32[0],earlierDate_ = _normalizeDates32[1];
  796. var sign = _compareAsc(laterDate_, earlierDate_);
  797. var diff = Math.abs(_differenceInCalendarYears(laterDate_, earlierDate_));
  798. laterDate_.setFullYear(1584);
  799. earlierDate_.setFullYear(1584);
  800. var partial = _compareAsc(laterDate_, earlierDate_) === -sign;
  801. var result = sign * (diff - +partial);
  802. return result === 0 ? 0 : result;
  803. }
  804. // lib/_lib/normalizeInterval.js
  805. function normalizeInterval(context, interval) {
  806. var _normalizeDates33 = normalizeDates(context, interval.start, interval.end),_normalizeDates34 = _slicedToArray(_normalizeDates33, 2),start = _normalizeDates34[0],end = _normalizeDates34[1];
  807. return { start: start, end: end };
  808. }
  809. // lib/eachDayOfInterval.js
  810. function _eachDayOfInterval(interval, options) {var _options$step;
  811. var _normalizeInterval = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval.start,end = _normalizeInterval.end;
  812. var reversed = +start > +end;
  813. var endTime = reversed ? +start : +end;
  814. var date = reversed ? end : start;
  815. date.setHours(0, 0, 0, 0);
  816. var step = (_options$step = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step !== void 0 ? _options$step : 1;
  817. if (!step)
  818. return [];
  819. if (step < 0) {
  820. step = -step;
  821. reversed = !reversed;
  822. }
  823. var dates = [];
  824. while (+date <= endTime) {
  825. dates.push(_constructFrom(start, date));
  826. date.setDate(date.getDate() + step);
  827. date.setHours(0, 0, 0, 0);
  828. }
  829. return reversed ? dates.reverse() : dates;
  830. }
  831. // lib/eachHourOfInterval.js
  832. function _eachHourOfInterval(interval, options) {var _options$step2;
  833. var _normalizeInterval2 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval2.start,end = _normalizeInterval2.end;
  834. var reversed = +start > +end;
  835. var endTime = reversed ? +start : +end;
  836. var date = reversed ? end : start;
  837. date.setMinutes(0, 0, 0);
  838. var step = (_options$step2 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step2 !== void 0 ? _options$step2 : 1;
  839. if (!step)
  840. return [];
  841. if (step < 0) {
  842. step = -step;
  843. reversed = !reversed;
  844. }
  845. var dates = [];
  846. while (+date <= endTime) {
  847. dates.push(_constructFrom(start, date));
  848. date.setHours(date.getHours() + step);
  849. }
  850. return reversed ? dates.reverse() : dates;
  851. }
  852. // lib/eachMinuteOfInterval.js
  853. function _eachMinuteOfInterval(interval, options) {var _options$step3;
  854. var _normalizeInterval3 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval3.start,end = _normalizeInterval3.end;
  855. start.setSeconds(0, 0);
  856. var reversed = +start > +end;
  857. var endTime = reversed ? +start : +end;
  858. var date = reversed ? end : start;
  859. var step = (_options$step3 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step3 !== void 0 ? _options$step3 : 1;
  860. if (!step)
  861. return [];
  862. if (step < 0) {
  863. step = -step;
  864. reversed = !reversed;
  865. }
  866. var dates = [];
  867. while (+date <= endTime) {
  868. dates.push(_constructFrom(start, date));
  869. date = _addMinutes(date, step);
  870. }
  871. return reversed ? dates.reverse() : dates;
  872. }
  873. // lib/eachMonthOfInterval.js
  874. function _eachMonthOfInterval(interval, options) {var _options$step4;
  875. var _normalizeInterval4 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval4.start,end = _normalizeInterval4.end;
  876. var reversed = +start > +end;
  877. var endTime = reversed ? +start : +end;
  878. var date = reversed ? end : start;
  879. date.setHours(0, 0, 0, 0);
  880. date.setDate(1);
  881. var step = (_options$step4 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step4 !== void 0 ? _options$step4 : 1;
  882. if (!step)
  883. return [];
  884. if (step < 0) {
  885. step = -step;
  886. reversed = !reversed;
  887. }
  888. var dates = [];
  889. while (+date <= endTime) {
  890. dates.push(_constructFrom(start, date));
  891. date.setMonth(date.getMonth() + step);
  892. }
  893. return reversed ? dates.reverse() : dates;
  894. }
  895. // lib/startOfQuarter.js
  896. function _startOfQuarter(date, options) {
  897. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  898. var currentMonth = _date.getMonth();
  899. var month = currentMonth - currentMonth % 3;
  900. _date.setMonth(month, 1);
  901. _date.setHours(0, 0, 0, 0);
  902. return _date;
  903. }
  904. // lib/eachQuarterOfInterval.js
  905. function _eachQuarterOfInterval(interval, options) {var _options$step5;
  906. var _normalizeInterval5 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval5.start,end = _normalizeInterval5.end;
  907. var reversed = +start > +end;
  908. var endTime = reversed ? +_startOfQuarter(start) : +_startOfQuarter(end);
  909. var date = reversed ? _startOfQuarter(end) : _startOfQuarter(start);
  910. var step = (_options$step5 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step5 !== void 0 ? _options$step5 : 1;
  911. if (!step)
  912. return [];
  913. if (step < 0) {
  914. step = -step;
  915. reversed = !reversed;
  916. }
  917. var dates = [];
  918. while (+date <= endTime) {
  919. dates.push(_constructFrom(start, date));
  920. date = _addQuarters(date, step);
  921. }
  922. return reversed ? dates.reverse() : dates;
  923. }
  924. // lib/eachWeekOfInterval.js
  925. function _eachWeekOfInterval(interval, options) {var _options$step6;
  926. var _normalizeInterval6 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval6.start,end = _normalizeInterval6.end;
  927. var reversed = +start > +end;
  928. var startDateWeek = reversed ? _startOfWeek(end, options) : _startOfWeek(start, options);
  929. var endDateWeek = reversed ? _startOfWeek(start, options) : _startOfWeek(end, options);
  930. startDateWeek.setHours(15);
  931. endDateWeek.setHours(15);
  932. var endTime = +endDateWeek.getTime();
  933. var currentDate = startDateWeek;
  934. var step = (_options$step6 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step6 !== void 0 ? _options$step6 : 1;
  935. if (!step)
  936. return [];
  937. if (step < 0) {
  938. step = -step;
  939. reversed = !reversed;
  940. }
  941. var dates = [];
  942. while (+currentDate <= endTime) {
  943. currentDate.setHours(0);
  944. dates.push(_constructFrom(start, currentDate));
  945. currentDate = _addWeeks(currentDate, step);
  946. currentDate.setHours(15);
  947. }
  948. return reversed ? dates.reverse() : dates;
  949. }
  950. // lib/eachWeekendOfInterval.js
  951. function _eachWeekendOfInterval(interval, options) {
  952. var _normalizeInterval7 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval7.start,end = _normalizeInterval7.end;
  953. var dateInterval = _eachDayOfInterval({ start: start, end: end }, options);
  954. var weekends = [];
  955. var index = 0;
  956. while (index < dateInterval.length) {
  957. var date = dateInterval[index++];
  958. if (_isWeekend(date))
  959. weekends.push(_constructFrom(start, date));
  960. }
  961. return weekends;
  962. }
  963. // lib/startOfMonth.js
  964. function _startOfMonth(date, options) {
  965. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  966. _date.setDate(1);
  967. _date.setHours(0, 0, 0, 0);
  968. return _date;
  969. }
  970. // lib/eachWeekendOfMonth.js
  971. function _eachWeekendOfMonth(date, options) {
  972. var start = _startOfMonth(date, options);
  973. var end = _endOfMonth(date, options);
  974. return _eachWeekendOfInterval({ start: start, end: end }, options);
  975. }
  976. // lib/endOfYear.js
  977. function _endOfYear(date, options) {
  978. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  979. var year = _date.getFullYear();
  980. _date.setFullYear(year + 1, 0, 0);
  981. _date.setHours(23, 59, 59, 999);
  982. return _date;
  983. }
  984. // lib/startOfYear.js
  985. function _startOfYear(date, options) {
  986. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  987. date_.setFullYear(date_.getFullYear(), 0, 1);
  988. date_.setHours(0, 0, 0, 0);
  989. return date_;
  990. }
  991. // lib/eachWeekendOfYear.js
  992. function _eachWeekendOfYear(date, options) {
  993. var start = _startOfYear(date, options);
  994. var end = _endOfYear(date, options);
  995. return _eachWeekendOfInterval({ start: start, end: end }, options);
  996. }
  997. // lib/eachYearOfInterval.js
  998. function _eachYearOfInterval(interval, options) {var _options$step7;
  999. var _normalizeInterval8 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval),start = _normalizeInterval8.start,end = _normalizeInterval8.end;
  1000. var reversed = +start > +end;
  1001. var endTime = reversed ? +start : +end;
  1002. var date = reversed ? end : start;
  1003. date.setHours(0, 0, 0, 0);
  1004. date.setMonth(0, 1);
  1005. var step = (_options$step7 = options === null || options === void 0 ? void 0 : options.step) !== null && _options$step7 !== void 0 ? _options$step7 : 1;
  1006. if (!step)
  1007. return [];
  1008. if (step < 0) {
  1009. step = -step;
  1010. reversed = !reversed;
  1011. }
  1012. var dates = [];
  1013. while (+date <= endTime) {
  1014. dates.push(_constructFrom(start, date));
  1015. date.setFullYear(date.getFullYear() + step);
  1016. }
  1017. return reversed ? dates.reverse() : dates;
  1018. }
  1019. // lib/endOfDecade.js
  1020. function _endOfDecade(date, options) {
  1021. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1022. var year = _date.getFullYear();
  1023. var decade = 9 + Math.floor(year / 10) * 10;
  1024. _date.setFullYear(decade, 11, 31);
  1025. _date.setHours(23, 59, 59, 999);
  1026. return _date;
  1027. }
  1028. // lib/endOfHour.js
  1029. function _endOfHour(date, options) {
  1030. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1031. _date.setMinutes(59, 59, 999);
  1032. return _date;
  1033. }
  1034. // lib/endOfWeek.js
  1035. function _endOfWeek(date, options) {var _ref4, _ref5, _ref6, _options$weekStartsOn2, _options$locale2, _defaultOptions4$loca;
  1036. var defaultOptions4 = getDefaultOptions();
  1037. var weekStartsOn = (_ref4 = (_ref5 = (_ref6 = (_options$weekStartsOn2 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn2 !== void 0 ? _options$weekStartsOn2 : options === null || options === void 0 || (_options$locale2 = options.locale) === null || _options$locale2 === void 0 || (_options$locale2 = _options$locale2.options) === null || _options$locale2 === void 0 ? void 0 : _options$locale2.weekStartsOn) !== null && _ref6 !== void 0 ? _ref6 : defaultOptions4.weekStartsOn) !== null && _ref5 !== void 0 ? _ref5 : (_defaultOptions4$loca = defaultOptions4.locale) === null || _defaultOptions4$loca === void 0 || (_defaultOptions4$loca = _defaultOptions4$loca.options) === null || _defaultOptions4$loca === void 0 ? void 0 : _defaultOptions4$loca.weekStartsOn) !== null && _ref4 !== void 0 ? _ref4 : 0;
  1038. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1039. var day = _date.getDay();
  1040. var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);
  1041. _date.setDate(_date.getDate() + diff);
  1042. _date.setHours(23, 59, 59, 999);
  1043. return _date;
  1044. }
  1045. // lib/endOfISOWeek.js
  1046. function _endOfISOWeek(date, options) {
  1047. return _endOfWeek(date, _objectSpread(_objectSpread({}, options), {}, { weekStartsOn: 1 }));
  1048. }
  1049. // lib/endOfISOWeekYear.js
  1050. function _endOfISOWeekYear(date, options) {
  1051. var year = _getISOWeekYear(date, options);
  1052. var fourthOfJanuaryOfNextYear = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  1053. fourthOfJanuaryOfNextYear.setFullYear(year + 1, 0, 4);
  1054. fourthOfJanuaryOfNextYear.setHours(0, 0, 0, 0);
  1055. var _date = _startOfISOWeek(fourthOfJanuaryOfNextYear, options);
  1056. _date.setMilliseconds(_date.getMilliseconds() - 1);
  1057. return _date;
  1058. }
  1059. // lib/endOfMinute.js
  1060. function _endOfMinute(date, options) {
  1061. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1062. _date.setSeconds(59, 999);
  1063. return _date;
  1064. }
  1065. // lib/endOfQuarter.js
  1066. function _endOfQuarter(date, options) {
  1067. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1068. var currentMonth = _date.getMonth();
  1069. var month = currentMonth - currentMonth % 3 + 3;
  1070. _date.setMonth(month, 0);
  1071. _date.setHours(23, 59, 59, 999);
  1072. return _date;
  1073. }
  1074. // lib/endOfSecond.js
  1075. function _endOfSecond(date, options) {
  1076. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1077. _date.setMilliseconds(999);
  1078. return _date;
  1079. }
  1080. // lib/endOfToday.js
  1081. function _endOfToday(options) {
  1082. return _endOfDay(Date.now(), options);
  1083. }
  1084. // lib/endOfTomorrow.js
  1085. function _endOfTomorrow(options) {
  1086. var now = _constructNow(options === null || options === void 0 ? void 0 : options.in);
  1087. var year = now.getFullYear();
  1088. var month = now.getMonth();
  1089. var day = now.getDate();
  1090. var date = _constructNow(options === null || options === void 0 ? void 0 : options.in);
  1091. date.setFullYear(year, month, day + 1);
  1092. date.setHours(23, 59, 59, 999);
  1093. return options !== null && options !== void 0 && options.in ? options.in(date) : date;
  1094. }
  1095. // lib/endOfYesterday.js
  1096. function _endOfYesterday(options) {
  1097. var now = _constructNow(options === null || options === void 0 ? void 0 : options.in);
  1098. var date = _constructFrom(options === null || options === void 0 ? void 0 : options.in, 0);
  1099. date.setFullYear(now.getFullYear(), now.getMonth(), now.getDate() - 1);
  1100. date.setHours(23, 59, 59, 999);
  1101. return date;
  1102. }
  1103. // lib/locale/en-US/_lib/formatDistance.js
  1104. var formatDistanceLocale = {
  1105. lessThanXSeconds: {
  1106. one: "less than a second",
  1107. other: "less than {{count}} seconds"
  1108. },
  1109. xSeconds: {
  1110. one: "1 second",
  1111. other: "{{count}} seconds"
  1112. },
  1113. halfAMinute: "half a minute",
  1114. lessThanXMinutes: {
  1115. one: "less than a minute",
  1116. other: "less than {{count}} minutes"
  1117. },
  1118. xMinutes: {
  1119. one: "1 minute",
  1120. other: "{{count}} minutes"
  1121. },
  1122. aboutXHours: {
  1123. one: "about 1 hour",
  1124. other: "about {{count}} hours"
  1125. },
  1126. xHours: {
  1127. one: "1 hour",
  1128. other: "{{count}} hours"
  1129. },
  1130. xDays: {
  1131. one: "1 day",
  1132. other: "{{count}} days"
  1133. },
  1134. aboutXWeeks: {
  1135. one: "about 1 week",
  1136. other: "about {{count}} weeks"
  1137. },
  1138. xWeeks: {
  1139. one: "1 week",
  1140. other: "{{count}} weeks"
  1141. },
  1142. aboutXMonths: {
  1143. one: "about 1 month",
  1144. other: "about {{count}} months"
  1145. },
  1146. xMonths: {
  1147. one: "1 month",
  1148. other: "{{count}} months"
  1149. },
  1150. aboutXYears: {
  1151. one: "about 1 year",
  1152. other: "about {{count}} years"
  1153. },
  1154. xYears: {
  1155. one: "1 year",
  1156. other: "{{count}} years"
  1157. },
  1158. overXYears: {
  1159. one: "over 1 year",
  1160. other: "over {{count}} years"
  1161. },
  1162. almostXYears: {
  1163. one: "almost 1 year",
  1164. other: "almost {{count}} years"
  1165. }
  1166. };
  1167. var formatDistance = function formatDistance(token, count, options) {
  1168. var result;
  1169. var tokenValue = formatDistanceLocale[token];
  1170. if (typeof tokenValue === "string") {
  1171. result = tokenValue;
  1172. } else if (count === 1) {
  1173. result = tokenValue.one;
  1174. } else {
  1175. result = tokenValue.other.replace("{{count}}", count.toString());
  1176. }
  1177. if (options !== null && options !== void 0 && options.addSuffix) {
  1178. if (options.comparison && options.comparison > 0) {
  1179. return "in " + result;
  1180. } else {
  1181. return result + " ago";
  1182. }
  1183. }
  1184. return result;
  1185. };
  1186. // lib/locale/_lib/buildFormatLongFn.js
  1187. function buildFormatLongFn(args) {
  1188. return function () {var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  1189. var width = options.width ? String(options.width) : args.defaultWidth;
  1190. var format = args.formats[width] || args.formats[args.defaultWidth];
  1191. return format;
  1192. };
  1193. }
  1194. // lib/locale/en-US/_lib/formatLong.js
  1195. var dateFormats = {
  1196. full: "EEEE, MMMM do, y",
  1197. long: "MMMM do, y",
  1198. medium: "MMM d, y",
  1199. short: "MM/dd/yyyy"
  1200. };
  1201. var timeFormats = {
  1202. full: "h:mm:ss a zzzz",
  1203. long: "h:mm:ss a z",
  1204. medium: "h:mm:ss a",
  1205. short: "h:mm a"
  1206. };
  1207. var dateTimeFormats = {
  1208. full: "{{date}} 'at' {{time}}",
  1209. long: "{{date}} 'at' {{time}}",
  1210. medium: "{{date}}, {{time}}",
  1211. short: "{{date}}, {{time}}"
  1212. };
  1213. var formatLong = {
  1214. date: buildFormatLongFn({
  1215. formats: dateFormats,
  1216. defaultWidth: "full"
  1217. }),
  1218. time: buildFormatLongFn({
  1219. formats: timeFormats,
  1220. defaultWidth: "full"
  1221. }),
  1222. dateTime: buildFormatLongFn({
  1223. formats: dateTimeFormats,
  1224. defaultWidth: "full"
  1225. })
  1226. };
  1227. // lib/locale/en-US/_lib/formatRelative.js
  1228. var formatRelativeLocale = {
  1229. lastWeek: "'last' eeee 'at' p",
  1230. yesterday: "'yesterday at' p",
  1231. today: "'today at' p",
  1232. tomorrow: "'tomorrow at' p",
  1233. nextWeek: "eeee 'at' p",
  1234. other: "P"
  1235. };
  1236. var formatRelative = function formatRelative(token, _date, _baseDate, _options) {return formatRelativeLocale[token];};
  1237. // lib/locale/_lib/buildLocalizeFn.js
  1238. function buildLocalizeFn(args) {
  1239. return function (value, options) {
  1240. var context = options !== null && options !== void 0 && options.context ? String(options.context) : "standalone";
  1241. var valuesArray;
  1242. if (context === "formatting" && args.formattingValues) {
  1243. var defaultWidth = args.defaultFormattingWidth || args.defaultWidth;
  1244. var width = options !== null && options !== void 0 && options.width ? String(options.width) : defaultWidth;
  1245. valuesArray = args.formattingValues[width] || args.formattingValues[defaultWidth];
  1246. } else {
  1247. var _defaultWidth = args.defaultWidth;
  1248. var _width = options !== null && options !== void 0 && options.width ? String(options.width) : args.defaultWidth;
  1249. valuesArray = args.values[_width] || args.values[_defaultWidth];
  1250. }
  1251. var index = args.argumentCallback ? args.argumentCallback(value) : value;
  1252. return valuesArray[index];
  1253. };
  1254. }
  1255. // lib/locale/en-US/_lib/localize.js
  1256. var eraValues = {
  1257. narrow: ["B", "A"],
  1258. abbreviated: ["BC", "AD"],
  1259. wide: ["Before Christ", "Anno Domini"]
  1260. };
  1261. var quarterValues = {
  1262. narrow: ["1", "2", "3", "4"],
  1263. abbreviated: ["Q1", "Q2", "Q3", "Q4"],
  1264. wide: ["1st quarter", "2nd quarter", "3rd quarter", "4th quarter"]
  1265. };
  1266. var monthValues = {
  1267. narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
  1268. abbreviated: [
  1269. "Jan",
  1270. "Feb",
  1271. "Mar",
  1272. "Apr",
  1273. "May",
  1274. "Jun",
  1275. "Jul",
  1276. "Aug",
  1277. "Sep",
  1278. "Oct",
  1279. "Nov",
  1280. "Dec"],
  1281. wide: [
  1282. "January",
  1283. "February",
  1284. "March",
  1285. "April",
  1286. "May",
  1287. "June",
  1288. "July",
  1289. "August",
  1290. "September",
  1291. "October",
  1292. "November",
  1293. "December"]
  1294. };
  1295. var dayValues = {
  1296. narrow: ["S", "M", "T", "W", "T", "F", "S"],
  1297. short: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
  1298. abbreviated: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
  1299. wide: [
  1300. "Sunday",
  1301. "Monday",
  1302. "Tuesday",
  1303. "Wednesday",
  1304. "Thursday",
  1305. "Friday",
  1306. "Saturday"]
  1307. };
  1308. var dayPeriodValues = {
  1309. narrow: {
  1310. am: "a",
  1311. pm: "p",
  1312. midnight: "mi",
  1313. noon: "n",
  1314. morning: "morning",
  1315. afternoon: "afternoon",
  1316. evening: "evening",
  1317. night: "night"
  1318. },
  1319. abbreviated: {
  1320. am: "AM",
  1321. pm: "PM",
  1322. midnight: "midnight",
  1323. noon: "noon",
  1324. morning: "morning",
  1325. afternoon: "afternoon",
  1326. evening: "evening",
  1327. night: "night"
  1328. },
  1329. wide: {
  1330. am: "a.m.",
  1331. pm: "p.m.",
  1332. midnight: "midnight",
  1333. noon: "noon",
  1334. morning: "morning",
  1335. afternoon: "afternoon",
  1336. evening: "evening",
  1337. night: "night"
  1338. }
  1339. };
  1340. var formattingDayPeriodValues = {
  1341. narrow: {
  1342. am: "a",
  1343. pm: "p",
  1344. midnight: "mi",
  1345. noon: "n",
  1346. morning: "in the morning",
  1347. afternoon: "in the afternoon",
  1348. evening: "in the evening",
  1349. night: "at night"
  1350. },
  1351. abbreviated: {
  1352. am: "AM",
  1353. pm: "PM",
  1354. midnight: "midnight",
  1355. noon: "noon",
  1356. morning: "in the morning",
  1357. afternoon: "in the afternoon",
  1358. evening: "in the evening",
  1359. night: "at night"
  1360. },
  1361. wide: {
  1362. am: "a.m.",
  1363. pm: "p.m.",
  1364. midnight: "midnight",
  1365. noon: "noon",
  1366. morning: "in the morning",
  1367. afternoon: "in the afternoon",
  1368. evening: "in the evening",
  1369. night: "at night"
  1370. }
  1371. };
  1372. var ordinalNumber = function ordinalNumber(dirtyNumber, _options) {
  1373. var number = Number(dirtyNumber);
  1374. var rem100 = number % 100;
  1375. if (rem100 > 20 || rem100 < 10) {
  1376. switch (rem100 % 10) {
  1377. case 1:
  1378. return number + "st";
  1379. case 2:
  1380. return number + "nd";
  1381. case 3:
  1382. return number + "rd";
  1383. }
  1384. }
  1385. return number + "th";
  1386. };
  1387. var localize = {
  1388. ordinalNumber: ordinalNumber,
  1389. era: buildLocalizeFn({
  1390. values: eraValues,
  1391. defaultWidth: "wide"
  1392. }),
  1393. quarter: buildLocalizeFn({
  1394. values: quarterValues,
  1395. defaultWidth: "wide",
  1396. argumentCallback: function argumentCallback(quarter) {return quarter - 1;}
  1397. }),
  1398. month: buildLocalizeFn({
  1399. values: monthValues,
  1400. defaultWidth: "wide"
  1401. }),
  1402. day: buildLocalizeFn({
  1403. values: dayValues,
  1404. defaultWidth: "wide"
  1405. }),
  1406. dayPeriod: buildLocalizeFn({
  1407. values: dayPeriodValues,
  1408. defaultWidth: "wide",
  1409. formattingValues: formattingDayPeriodValues,
  1410. defaultFormattingWidth: "wide"
  1411. })
  1412. };
  1413. // lib/locale/_lib/buildMatchFn.js
  1414. function buildMatchFn(args) {
  1415. return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  1416. var width = options.width;
  1417. var matchPattern = width && args.matchPatterns[width] || args.matchPatterns[args.defaultMatchWidth];
  1418. var matchResult = string.match(matchPattern);
  1419. if (!matchResult) {
  1420. return null;
  1421. }
  1422. var matchedString = matchResult[0];
  1423. var parsePatterns = width && args.parsePatterns[width] || args.parsePatterns[args.defaultParseWidth];
  1424. var key = Array.isArray(parsePatterns) ? findIndex(parsePatterns, function (pattern) {return pattern.test(matchedString);}) : findKey(parsePatterns, function (pattern) {return pattern.test(matchedString);});
  1425. var value;
  1426. value = args.valueCallback ? args.valueCallback(key) : key;
  1427. value = options.valueCallback ? options.valueCallback(value) : value;
  1428. var rest = string.slice(matchedString.length);
  1429. return { value: value, rest: rest };
  1430. };
  1431. }
  1432. function findKey(object, predicate) {
  1433. for (var key in object) {
  1434. if (Object.prototype.hasOwnProperty.call(object, key) && predicate(object[key])) {
  1435. return key;
  1436. }
  1437. }
  1438. return;
  1439. }
  1440. function findIndex(array, predicate) {
  1441. for (var key = 0; key < array.length; key++) {
  1442. if (predicate(array[key])) {
  1443. return key;
  1444. }
  1445. }
  1446. return;
  1447. }
  1448. // lib/locale/_lib/buildMatchPatternFn.js
  1449. function buildMatchPatternFn(args) {
  1450. return function (string) {var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
  1451. var matchResult = string.match(args.matchPattern);
  1452. if (!matchResult)
  1453. return null;
  1454. var matchedString = matchResult[0];
  1455. var parseResult = string.match(args.parsePattern);
  1456. if (!parseResult)
  1457. return null;
  1458. var value = args.valueCallback ? args.valueCallback(parseResult[0]) : parseResult[0];
  1459. value = options.valueCallback ? options.valueCallback(value) : value;
  1460. var rest = string.slice(matchedString.length);
  1461. return { value: value, rest: rest };
  1462. };
  1463. }
  1464. // lib/locale/en-US/_lib/match.js
  1465. var matchOrdinalNumberPattern = /^(\d+)(th|st|nd|rd)?/i;
  1466. var parseOrdinalNumberPattern = /\d+/i;
  1467. var matchEraPatterns = {
  1468. narrow: /^(b|a)/i,
  1469. abbreviated: /^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,
  1470. wide: /^(before christ|before common era|anno domini|common era)/i
  1471. };
  1472. var parseEraPatterns = {
  1473. any: [/^b/i, /^(a|c)/i]
  1474. };
  1475. var matchQuarterPatterns = {
  1476. narrow: /^[1234]/i,
  1477. abbreviated: /^q[1234]/i,
  1478. wide: /^[1234](th|st|nd|rd)? quarter/i
  1479. };
  1480. var parseQuarterPatterns = {
  1481. any: [/1/i, /2/i, /3/i, /4/i]
  1482. };
  1483. var matchMonthPatterns = {
  1484. narrow: /^[jfmasond]/i,
  1485. abbreviated: /^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,
  1486. wide: /^(january|february|march|april|may|june|july|august|september|october|november|december)/i
  1487. };
  1488. var parseMonthPatterns = {
  1489. narrow: [
  1490. /^j/i,
  1491. /^f/i,
  1492. /^m/i,
  1493. /^a/i,
  1494. /^m/i,
  1495. /^j/i,
  1496. /^j/i,
  1497. /^a/i,
  1498. /^s/i,
  1499. /^o/i,
  1500. /^n/i,
  1501. /^d/i],
  1502. any: [
  1503. /^ja/i,
  1504. /^f/i,
  1505. /^mar/i,
  1506. /^ap/i,
  1507. /^may/i,
  1508. /^jun/i,
  1509. /^jul/i,
  1510. /^au/i,
  1511. /^s/i,
  1512. /^o/i,
  1513. /^n/i,
  1514. /^d/i]
  1515. };
  1516. var matchDayPatterns = {
  1517. narrow: /^[smtwf]/i,
  1518. short: /^(su|mo|tu|we|th|fr|sa)/i,
  1519. abbreviated: /^(sun|mon|tue|wed|thu|fri|sat)/i,
  1520. wide: /^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i
  1521. };
  1522. var parseDayPatterns = {
  1523. narrow: [/^s/i, /^m/i, /^t/i, /^w/i, /^t/i, /^f/i, /^s/i],
  1524. any: [/^su/i, /^m/i, /^tu/i, /^w/i, /^th/i, /^f/i, /^sa/i]
  1525. };
  1526. var matchDayPeriodPatterns = {
  1527. narrow: /^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,
  1528. any: /^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i
  1529. };
  1530. var parseDayPeriodPatterns = {
  1531. any: {
  1532. am: /^a/i,
  1533. pm: /^p/i,
  1534. midnight: /^mi/i,
  1535. noon: /^no/i,
  1536. morning: /morning/i,
  1537. afternoon: /afternoon/i,
  1538. evening: /evening/i,
  1539. night: /night/i
  1540. }
  1541. };
  1542. var match = {
  1543. ordinalNumber: buildMatchPatternFn({
  1544. matchPattern: matchOrdinalNumberPattern,
  1545. parsePattern: parseOrdinalNumberPattern,
  1546. valueCallback: function valueCallback(value) {return parseInt(value, 10);}
  1547. }),
  1548. era: buildMatchFn({
  1549. matchPatterns: matchEraPatterns,
  1550. defaultMatchWidth: "wide",
  1551. parsePatterns: parseEraPatterns,
  1552. defaultParseWidth: "any"
  1553. }),
  1554. quarter: buildMatchFn({
  1555. matchPatterns: matchQuarterPatterns,
  1556. defaultMatchWidth: "wide",
  1557. parsePatterns: parseQuarterPatterns,
  1558. defaultParseWidth: "any",
  1559. valueCallback: function valueCallback(index) {return index + 1;}
  1560. }),
  1561. month: buildMatchFn({
  1562. matchPatterns: matchMonthPatterns,
  1563. defaultMatchWidth: "wide",
  1564. parsePatterns: parseMonthPatterns,
  1565. defaultParseWidth: "any"
  1566. }),
  1567. day: buildMatchFn({
  1568. matchPatterns: matchDayPatterns,
  1569. defaultMatchWidth: "wide",
  1570. parsePatterns: parseDayPatterns,
  1571. defaultParseWidth: "any"
  1572. }),
  1573. dayPeriod: buildMatchFn({
  1574. matchPatterns: matchDayPeriodPatterns,
  1575. defaultMatchWidth: "any",
  1576. parsePatterns: parseDayPeriodPatterns,
  1577. defaultParseWidth: "any"
  1578. })
  1579. };
  1580. // lib/locale/en-US.js
  1581. var enUS = {
  1582. code: "en-US",
  1583. formatDistance: formatDistance,
  1584. formatLong: formatLong,
  1585. formatRelative: formatRelative,
  1586. localize: localize,
  1587. match: match,
  1588. options: {
  1589. weekStartsOn: 0,
  1590. firstWeekContainsDate: 1
  1591. }
  1592. };
  1593. // lib/getDayOfYear.js
  1594. function _getDayOfYear(date, options) {
  1595. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1596. var diff = _differenceInCalendarDays(_date, _startOfYear(_date));
  1597. var dayOfYear = diff + 1;
  1598. return dayOfYear;
  1599. }
  1600. // lib/getISOWeek.js
  1601. function _getISOWeek(date, options) {
  1602. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1603. var diff = +_startOfISOWeek(_date) - +_startOfISOWeekYear(_date);
  1604. return Math.round(diff / millisecondsInWeek) + 1;
  1605. }
  1606. // lib/getWeekYear.js
  1607. function _getWeekYear(date, options) {var _ref7, _ref8, _ref9, _options$firstWeekCon, _options$locale3, _defaultOptions5$loca;
  1608. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1609. var year = _date.getFullYear();
  1610. var defaultOptions5 = getDefaultOptions();
  1611. var firstWeekContainsDate = (_ref7 = (_ref8 = (_ref9 = (_options$firstWeekCon = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon !== void 0 ? _options$firstWeekCon : options === null || options === void 0 || (_options$locale3 = options.locale) === null || _options$locale3 === void 0 || (_options$locale3 = _options$locale3.options) === null || _options$locale3 === void 0 ? void 0 : _options$locale3.firstWeekContainsDate) !== null && _ref9 !== void 0 ? _ref9 : defaultOptions5.firstWeekContainsDate) !== null && _ref8 !== void 0 ? _ref8 : (_defaultOptions5$loca = defaultOptions5.locale) === null || _defaultOptions5$loca === void 0 || (_defaultOptions5$loca = _defaultOptions5$loca.options) === null || _defaultOptions5$loca === void 0 ? void 0 : _defaultOptions5$loca.firstWeekContainsDate) !== null && _ref7 !== void 0 ? _ref7 : 1;
  1612. var firstWeekOfNextYear = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  1613. firstWeekOfNextYear.setFullYear(year + 1, 0, firstWeekContainsDate);
  1614. firstWeekOfNextYear.setHours(0, 0, 0, 0);
  1615. var startOfNextYear = _startOfWeek(firstWeekOfNextYear, options);
  1616. var firstWeekOfThisYear = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  1617. firstWeekOfThisYear.setFullYear(year, 0, firstWeekContainsDate);
  1618. firstWeekOfThisYear.setHours(0, 0, 0, 0);
  1619. var startOfThisYear = _startOfWeek(firstWeekOfThisYear, options);
  1620. if (+_date >= +startOfNextYear) {
  1621. return year + 1;
  1622. } else if (+_date >= +startOfThisYear) {
  1623. return year;
  1624. } else {
  1625. return year - 1;
  1626. }
  1627. }
  1628. // lib/startOfWeekYear.js
  1629. function _startOfWeekYear(date, options) {var _ref10, _ref11, _ref12, _options$firstWeekCon2, _options$locale4, _defaultOptions6$loca;
  1630. var defaultOptions6 = getDefaultOptions();
  1631. var firstWeekContainsDate = (_ref10 = (_ref11 = (_ref12 = (_options$firstWeekCon2 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon2 !== void 0 ? _options$firstWeekCon2 : options === null || options === void 0 || (_options$locale4 = options.locale) === null || _options$locale4 === void 0 || (_options$locale4 = _options$locale4.options) === null || _options$locale4 === void 0 ? void 0 : _options$locale4.firstWeekContainsDate) !== null && _ref12 !== void 0 ? _ref12 : defaultOptions6.firstWeekContainsDate) !== null && _ref11 !== void 0 ? _ref11 : (_defaultOptions6$loca = defaultOptions6.locale) === null || _defaultOptions6$loca === void 0 || (_defaultOptions6$loca = _defaultOptions6$loca.options) === null || _defaultOptions6$loca === void 0 ? void 0 : _defaultOptions6$loca.firstWeekContainsDate) !== null && _ref10 !== void 0 ? _ref10 : 1;
  1632. var year = _getWeekYear(date, options);
  1633. var firstWeek = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  1634. firstWeek.setFullYear(year, 0, firstWeekContainsDate);
  1635. firstWeek.setHours(0, 0, 0, 0);
  1636. var _date = _startOfWeek(firstWeek, options);
  1637. return _date;
  1638. }
  1639. // lib/getWeek.js
  1640. function _getWeek(date, options) {
  1641. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  1642. var diff = +_startOfWeek(_date, options) - +_startOfWeekYear(_date, options);
  1643. return Math.round(diff / millisecondsInWeek) + 1;
  1644. }
  1645. // lib/_lib/addLeadingZeros.js
  1646. function addLeadingZeros(number, targetLength) {
  1647. var sign = number < 0 ? "-" : "";
  1648. var output = Math.abs(number).toString().padStart(targetLength, "0");
  1649. return sign + output;
  1650. }
  1651. // lib/_lib/format/lightFormatters.js
  1652. var _lightFormatters = {
  1653. y: function y(date, token) {
  1654. var signedYear = date.getFullYear();
  1655. var year = signedYear > 0 ? signedYear : 1 - signedYear;
  1656. return addLeadingZeros(token === "yy" ? year % 100 : year, token.length);
  1657. },
  1658. M: function M(date, token) {
  1659. var month = date.getMonth();
  1660. return token === "M" ? String(month + 1) : addLeadingZeros(month + 1, 2);
  1661. },
  1662. d: function d(date, token) {
  1663. return addLeadingZeros(date.getDate(), token.length);
  1664. },
  1665. a: function a(date, token) {
  1666. var dayPeriodEnumValue = date.getHours() / 12 >= 1 ? "pm" : "am";
  1667. switch (token) {
  1668. case "a":
  1669. case "aa":
  1670. return dayPeriodEnumValue.toUpperCase();
  1671. case "aaa":
  1672. return dayPeriodEnumValue;
  1673. case "aaaaa":
  1674. return dayPeriodEnumValue[0];
  1675. case "aaaa":
  1676. default:
  1677. return dayPeriodEnumValue === "am" ? "a.m." : "p.m.";
  1678. }
  1679. },
  1680. h: function h(date, token) {
  1681. return addLeadingZeros(date.getHours() % 12 || 12, token.length);
  1682. },
  1683. H: function H(date, token) {
  1684. return addLeadingZeros(date.getHours(), token.length);
  1685. },
  1686. m: function m(date, token) {
  1687. return addLeadingZeros(date.getMinutes(), token.length);
  1688. },
  1689. s: function s(date, token) {
  1690. return addLeadingZeros(date.getSeconds(), token.length);
  1691. },
  1692. S: function S(date, token) {
  1693. var numberOfDigits = token.length;
  1694. var milliseconds = date.getMilliseconds();
  1695. var fractionalSeconds = Math.trunc(milliseconds * Math.pow(10, numberOfDigits - 3));
  1696. return addLeadingZeros(fractionalSeconds, token.length);
  1697. }
  1698. };
  1699. // lib/_lib/format/formatters.js
  1700. function formatTimezoneShort(offset) {var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
  1701. var sign = offset > 0 ? "-" : "+";
  1702. var absOffset = Math.abs(offset);
  1703. var hours = Math.trunc(absOffset / 60);
  1704. var minutes = absOffset % 60;
  1705. if (minutes === 0) {
  1706. return sign + String(hours);
  1707. }
  1708. return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);
  1709. }
  1710. function formatTimezoneWithOptionalMinutes(offset, delimiter) {
  1711. if (offset % 60 === 0) {
  1712. var sign = offset > 0 ? "-" : "+";
  1713. return sign + addLeadingZeros(Math.abs(offset) / 60, 2);
  1714. }
  1715. return formatTimezone(offset, delimiter);
  1716. }
  1717. function formatTimezone(offset) {var delimiter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
  1718. var sign = offset > 0 ? "-" : "+";
  1719. var absOffset = Math.abs(offset);
  1720. var hours = addLeadingZeros(Math.trunc(absOffset / 60), 2);
  1721. var minutes = addLeadingZeros(absOffset % 60, 2);
  1722. return sign + hours + delimiter + minutes;
  1723. }
  1724. var dayPeriodEnum = {
  1725. am: "am",
  1726. pm: "pm",
  1727. midnight: "midnight",
  1728. noon: "noon",
  1729. morning: "morning",
  1730. afternoon: "afternoon",
  1731. evening: "evening",
  1732. night: "night"
  1733. };
  1734. var _formatters = {
  1735. G: function G(date, token, localize3) {
  1736. var era = date.getFullYear() > 0 ? 1 : 0;
  1737. switch (token) {
  1738. case "G":
  1739. case "GG":
  1740. case "GGG":
  1741. return localize3.era(era, { width: "abbreviated" });
  1742. case "GGGGG":
  1743. return localize3.era(era, { width: "narrow" });
  1744. case "GGGG":
  1745. default:
  1746. return localize3.era(era, { width: "wide" });
  1747. }
  1748. },
  1749. y: function y(date, token, localize3) {
  1750. if (token === "yo") {
  1751. var signedYear = date.getFullYear();
  1752. var year = signedYear > 0 ? signedYear : 1 - signedYear;
  1753. return localize3.ordinalNumber(year, { unit: "year" });
  1754. }
  1755. return _lightFormatters.y(date, token);
  1756. },
  1757. Y: function Y(date, token, localize3, options) {
  1758. var signedWeekYear = _getWeekYear(date, options);
  1759. var weekYear = signedWeekYear > 0 ? signedWeekYear : 1 - signedWeekYear;
  1760. if (token === "YY") {
  1761. var twoDigitYear = weekYear % 100;
  1762. return addLeadingZeros(twoDigitYear, 2);
  1763. }
  1764. if (token === "Yo") {
  1765. return localize3.ordinalNumber(weekYear, { unit: "year" });
  1766. }
  1767. return addLeadingZeros(weekYear, token.length);
  1768. },
  1769. R: function R(date, token) {
  1770. var isoWeekYear = _getISOWeekYear(date);
  1771. return addLeadingZeros(isoWeekYear, token.length);
  1772. },
  1773. u: function u(date, token) {
  1774. var year = date.getFullYear();
  1775. return addLeadingZeros(year, token.length);
  1776. },
  1777. Q: function Q(date, token, localize3) {
  1778. var quarter = Math.ceil((date.getMonth() + 1) / 3);
  1779. switch (token) {
  1780. case "Q":
  1781. return String(quarter);
  1782. case "QQ":
  1783. return addLeadingZeros(quarter, 2);
  1784. case "Qo":
  1785. return localize3.ordinalNumber(quarter, { unit: "quarter" });
  1786. case "QQQ":
  1787. return localize3.quarter(quarter, {
  1788. width: "abbreviated",
  1789. context: "formatting"
  1790. });
  1791. case "QQQQQ":
  1792. return localize3.quarter(quarter, {
  1793. width: "narrow",
  1794. context: "formatting"
  1795. });
  1796. case "QQQQ":
  1797. default:
  1798. return localize3.quarter(quarter, {
  1799. width: "wide",
  1800. context: "formatting"
  1801. });
  1802. }
  1803. },
  1804. q: function q(date, token, localize3) {
  1805. var quarter = Math.ceil((date.getMonth() + 1) / 3);
  1806. switch (token) {
  1807. case "q":
  1808. return String(quarter);
  1809. case "qq":
  1810. return addLeadingZeros(quarter, 2);
  1811. case "qo":
  1812. return localize3.ordinalNumber(quarter, { unit: "quarter" });
  1813. case "qqq":
  1814. return localize3.quarter(quarter, {
  1815. width: "abbreviated",
  1816. context: "standalone"
  1817. });
  1818. case "qqqqq":
  1819. return localize3.quarter(quarter, {
  1820. width: "narrow",
  1821. context: "standalone"
  1822. });
  1823. case "qqqq":
  1824. default:
  1825. return localize3.quarter(quarter, {
  1826. width: "wide",
  1827. context: "standalone"
  1828. });
  1829. }
  1830. },
  1831. M: function M(date, token, localize3) {
  1832. var month = date.getMonth();
  1833. switch (token) {
  1834. case "M":
  1835. case "MM":
  1836. return _lightFormatters.M(date, token);
  1837. case "Mo":
  1838. return localize3.ordinalNumber(month + 1, { unit: "month" });
  1839. case "MMM":
  1840. return localize3.month(month, {
  1841. width: "abbreviated",
  1842. context: "formatting"
  1843. });
  1844. case "MMMMM":
  1845. return localize3.month(month, {
  1846. width: "narrow",
  1847. context: "formatting"
  1848. });
  1849. case "MMMM":
  1850. default:
  1851. return localize3.month(month, { width: "wide", context: "formatting" });
  1852. }
  1853. },
  1854. L: function L(date, token, localize3) {
  1855. var month = date.getMonth();
  1856. switch (token) {
  1857. case "L":
  1858. return String(month + 1);
  1859. case "LL":
  1860. return addLeadingZeros(month + 1, 2);
  1861. case "Lo":
  1862. return localize3.ordinalNumber(month + 1, { unit: "month" });
  1863. case "LLL":
  1864. return localize3.month(month, {
  1865. width: "abbreviated",
  1866. context: "standalone"
  1867. });
  1868. case "LLLLL":
  1869. return localize3.month(month, {
  1870. width: "narrow",
  1871. context: "standalone"
  1872. });
  1873. case "LLLL":
  1874. default:
  1875. return localize3.month(month, { width: "wide", context: "standalone" });
  1876. }
  1877. },
  1878. w: function w(date, token, localize3, options) {
  1879. var week = _getWeek(date, options);
  1880. if (token === "wo") {
  1881. return localize3.ordinalNumber(week, { unit: "week" });
  1882. }
  1883. return addLeadingZeros(week, token.length);
  1884. },
  1885. I: function I(date, token, localize3) {
  1886. var isoWeek = _getISOWeek(date);
  1887. if (token === "Io") {
  1888. return localize3.ordinalNumber(isoWeek, { unit: "week" });
  1889. }
  1890. return addLeadingZeros(isoWeek, token.length);
  1891. },
  1892. d: function d(date, token, localize3) {
  1893. if (token === "do") {
  1894. return localize3.ordinalNumber(date.getDate(), { unit: "date" });
  1895. }
  1896. return _lightFormatters.d(date, token);
  1897. },
  1898. D: function D(date, token, localize3) {
  1899. var dayOfYear = _getDayOfYear(date);
  1900. if (token === "Do") {
  1901. return localize3.ordinalNumber(dayOfYear, { unit: "dayOfYear" });
  1902. }
  1903. return addLeadingZeros(dayOfYear, token.length);
  1904. },
  1905. E: function E(date, token, localize3) {
  1906. var dayOfWeek = date.getDay();
  1907. switch (token) {
  1908. case "E":
  1909. case "EE":
  1910. case "EEE":
  1911. return localize3.day(dayOfWeek, {
  1912. width: "abbreviated",
  1913. context: "formatting"
  1914. });
  1915. case "EEEEE":
  1916. return localize3.day(dayOfWeek, {
  1917. width: "narrow",
  1918. context: "formatting"
  1919. });
  1920. case "EEEEEE":
  1921. return localize3.day(dayOfWeek, {
  1922. width: "short",
  1923. context: "formatting"
  1924. });
  1925. case "EEEE":
  1926. default:
  1927. return localize3.day(dayOfWeek, {
  1928. width: "wide",
  1929. context: "formatting"
  1930. });
  1931. }
  1932. },
  1933. e: function e(date, token, localize3, options) {
  1934. var dayOfWeek = date.getDay();
  1935. var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
  1936. switch (token) {
  1937. case "e":
  1938. return String(localDayOfWeek);
  1939. case "ee":
  1940. return addLeadingZeros(localDayOfWeek, 2);
  1941. case "eo":
  1942. return localize3.ordinalNumber(localDayOfWeek, { unit: "day" });
  1943. case "eee":
  1944. return localize3.day(dayOfWeek, {
  1945. width: "abbreviated",
  1946. context: "formatting"
  1947. });
  1948. case "eeeee":
  1949. return localize3.day(dayOfWeek, {
  1950. width: "narrow",
  1951. context: "formatting"
  1952. });
  1953. case "eeeeee":
  1954. return localize3.day(dayOfWeek, {
  1955. width: "short",
  1956. context: "formatting"
  1957. });
  1958. case "eeee":
  1959. default:
  1960. return localize3.day(dayOfWeek, {
  1961. width: "wide",
  1962. context: "formatting"
  1963. });
  1964. }
  1965. },
  1966. c: function c(date, token, localize3, options) {
  1967. var dayOfWeek = date.getDay();
  1968. var localDayOfWeek = (dayOfWeek - options.weekStartsOn + 8) % 7 || 7;
  1969. switch (token) {
  1970. case "c":
  1971. return String(localDayOfWeek);
  1972. case "cc":
  1973. return addLeadingZeros(localDayOfWeek, token.length);
  1974. case "co":
  1975. return localize3.ordinalNumber(localDayOfWeek, { unit: "day" });
  1976. case "ccc":
  1977. return localize3.day(dayOfWeek, {
  1978. width: "abbreviated",
  1979. context: "standalone"
  1980. });
  1981. case "ccccc":
  1982. return localize3.day(dayOfWeek, {
  1983. width: "narrow",
  1984. context: "standalone"
  1985. });
  1986. case "cccccc":
  1987. return localize3.day(dayOfWeek, {
  1988. width: "short",
  1989. context: "standalone"
  1990. });
  1991. case "cccc":
  1992. default:
  1993. return localize3.day(dayOfWeek, {
  1994. width: "wide",
  1995. context: "standalone"
  1996. });
  1997. }
  1998. },
  1999. i: function i(date, token, localize3) {
  2000. var dayOfWeek = date.getDay();
  2001. var isoDayOfWeek = dayOfWeek === 0 ? 7 : dayOfWeek;
  2002. switch (token) {
  2003. case "i":
  2004. return String(isoDayOfWeek);
  2005. case "ii":
  2006. return addLeadingZeros(isoDayOfWeek, token.length);
  2007. case "io":
  2008. return localize3.ordinalNumber(isoDayOfWeek, { unit: "day" });
  2009. case "iii":
  2010. return localize3.day(dayOfWeek, {
  2011. width: "abbreviated",
  2012. context: "formatting"
  2013. });
  2014. case "iiiii":
  2015. return localize3.day(dayOfWeek, {
  2016. width: "narrow",
  2017. context: "formatting"
  2018. });
  2019. case "iiiiii":
  2020. return localize3.day(dayOfWeek, {
  2021. width: "short",
  2022. context: "formatting"
  2023. });
  2024. case "iiii":
  2025. default:
  2026. return localize3.day(dayOfWeek, {
  2027. width: "wide",
  2028. context: "formatting"
  2029. });
  2030. }
  2031. },
  2032. a: function a(date, token, localize3) {
  2033. var hours = date.getHours();
  2034. var dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
  2035. switch (token) {
  2036. case "a":
  2037. case "aa":
  2038. return localize3.dayPeriod(dayPeriodEnumValue, {
  2039. width: "abbreviated",
  2040. context: "formatting"
  2041. });
  2042. case "aaa":
  2043. return localize3.dayPeriod(dayPeriodEnumValue, {
  2044. width: "abbreviated",
  2045. context: "formatting"
  2046. }).toLowerCase();
  2047. case "aaaaa":
  2048. return localize3.dayPeriod(dayPeriodEnumValue, {
  2049. width: "narrow",
  2050. context: "formatting"
  2051. });
  2052. case "aaaa":
  2053. default:
  2054. return localize3.dayPeriod(dayPeriodEnumValue, {
  2055. width: "wide",
  2056. context: "formatting"
  2057. });
  2058. }
  2059. },
  2060. b: function b(date, token, localize3) {
  2061. var hours = date.getHours();
  2062. var dayPeriodEnumValue;
  2063. if (hours === 12) {
  2064. dayPeriodEnumValue = dayPeriodEnum.noon;
  2065. } else if (hours === 0) {
  2066. dayPeriodEnumValue = dayPeriodEnum.midnight;
  2067. } else {
  2068. dayPeriodEnumValue = hours / 12 >= 1 ? "pm" : "am";
  2069. }
  2070. switch (token) {
  2071. case "b":
  2072. case "bb":
  2073. return localize3.dayPeriod(dayPeriodEnumValue, {
  2074. width: "abbreviated",
  2075. context: "formatting"
  2076. });
  2077. case "bbb":
  2078. return localize3.dayPeriod(dayPeriodEnumValue, {
  2079. width: "abbreviated",
  2080. context: "formatting"
  2081. }).toLowerCase();
  2082. case "bbbbb":
  2083. return localize3.dayPeriod(dayPeriodEnumValue, {
  2084. width: "narrow",
  2085. context: "formatting"
  2086. });
  2087. case "bbbb":
  2088. default:
  2089. return localize3.dayPeriod(dayPeriodEnumValue, {
  2090. width: "wide",
  2091. context: "formatting"
  2092. });
  2093. }
  2094. },
  2095. B: function B(date, token, localize3) {
  2096. var hours = date.getHours();
  2097. var dayPeriodEnumValue;
  2098. if (hours >= 17) {
  2099. dayPeriodEnumValue = dayPeriodEnum.evening;
  2100. } else if (hours >= 12) {
  2101. dayPeriodEnumValue = dayPeriodEnum.afternoon;
  2102. } else if (hours >= 4) {
  2103. dayPeriodEnumValue = dayPeriodEnum.morning;
  2104. } else {
  2105. dayPeriodEnumValue = dayPeriodEnum.night;
  2106. }
  2107. switch (token) {
  2108. case "B":
  2109. case "BB":
  2110. case "BBB":
  2111. return localize3.dayPeriod(dayPeriodEnumValue, {
  2112. width: "abbreviated",
  2113. context: "formatting"
  2114. });
  2115. case "BBBBB":
  2116. return localize3.dayPeriod(dayPeriodEnumValue, {
  2117. width: "narrow",
  2118. context: "formatting"
  2119. });
  2120. case "BBBB":
  2121. default:
  2122. return localize3.dayPeriod(dayPeriodEnumValue, {
  2123. width: "wide",
  2124. context: "formatting"
  2125. });
  2126. }
  2127. },
  2128. h: function h(date, token, localize3) {
  2129. if (token === "ho") {
  2130. var hours = date.getHours() % 12;
  2131. if (hours === 0)
  2132. hours = 12;
  2133. return localize3.ordinalNumber(hours, { unit: "hour" });
  2134. }
  2135. return _lightFormatters.h(date, token);
  2136. },
  2137. H: function H(date, token, localize3) {
  2138. if (token === "Ho") {
  2139. return localize3.ordinalNumber(date.getHours(), { unit: "hour" });
  2140. }
  2141. return _lightFormatters.H(date, token);
  2142. },
  2143. K: function K(date, token, localize3) {
  2144. var hours = date.getHours() % 12;
  2145. if (token === "Ko") {
  2146. return localize3.ordinalNumber(hours, { unit: "hour" });
  2147. }
  2148. return addLeadingZeros(hours, token.length);
  2149. },
  2150. k: function k(date, token, localize3) {
  2151. var hours = date.getHours();
  2152. if (hours === 0)
  2153. hours = 24;
  2154. if (token === "ko") {
  2155. return localize3.ordinalNumber(hours, { unit: "hour" });
  2156. }
  2157. return addLeadingZeros(hours, token.length);
  2158. },
  2159. m: function m(date, token, localize3) {
  2160. if (token === "mo") {
  2161. return localize3.ordinalNumber(date.getMinutes(), { unit: "minute" });
  2162. }
  2163. return _lightFormatters.m(date, token);
  2164. },
  2165. s: function s(date, token, localize3) {
  2166. if (token === "so") {
  2167. return localize3.ordinalNumber(date.getSeconds(), { unit: "second" });
  2168. }
  2169. return _lightFormatters.s(date, token);
  2170. },
  2171. S: function S(date, token) {
  2172. return _lightFormatters.S(date, token);
  2173. },
  2174. X: function X(date, token, _localize) {
  2175. var timezoneOffset = date.getTimezoneOffset();
  2176. if (timezoneOffset === 0) {
  2177. return "Z";
  2178. }
  2179. switch (token) {
  2180. case "X":
  2181. return formatTimezoneWithOptionalMinutes(timezoneOffset);
  2182. case "XXXX":
  2183. case "XX":
  2184. return formatTimezone(timezoneOffset);
  2185. case "XXXXX":
  2186. case "XXX":
  2187. default:
  2188. return formatTimezone(timezoneOffset, ":");
  2189. }
  2190. },
  2191. x: function x(date, token, _localize) {
  2192. var timezoneOffset = date.getTimezoneOffset();
  2193. switch (token) {
  2194. case "x":
  2195. return formatTimezoneWithOptionalMinutes(timezoneOffset);
  2196. case "xxxx":
  2197. case "xx":
  2198. return formatTimezone(timezoneOffset);
  2199. case "xxxxx":
  2200. case "xxx":
  2201. default:
  2202. return formatTimezone(timezoneOffset, ":");
  2203. }
  2204. },
  2205. O: function O(date, token, _localize) {
  2206. var timezoneOffset = date.getTimezoneOffset();
  2207. switch (token) {
  2208. case "O":
  2209. case "OO":
  2210. case "OOO":
  2211. return "GMT" + formatTimezoneShort(timezoneOffset, ":");
  2212. case "OOOO":
  2213. default:
  2214. return "GMT" + formatTimezone(timezoneOffset, ":");
  2215. }
  2216. },
  2217. z: function z(date, token, _localize) {
  2218. var timezoneOffset = date.getTimezoneOffset();
  2219. switch (token) {
  2220. case "z":
  2221. case "zz":
  2222. case "zzz":
  2223. return "GMT" + formatTimezoneShort(timezoneOffset, ":");
  2224. case "zzzz":
  2225. default:
  2226. return "GMT" + formatTimezone(timezoneOffset, ":");
  2227. }
  2228. },
  2229. t: function t(date, token, _localize) {
  2230. var timestamp = Math.trunc(+date / 1000);
  2231. return addLeadingZeros(timestamp, token.length);
  2232. },
  2233. T: function T(date, token, _localize) {
  2234. return addLeadingZeros(+date, token.length);
  2235. }
  2236. };
  2237. // lib/_lib/format/longFormatters.js
  2238. var dateLongFormatter = function dateLongFormatter(pattern, formatLong3) {
  2239. switch (pattern) {
  2240. case "P":
  2241. return formatLong3.date({ width: "short" });
  2242. case "PP":
  2243. return formatLong3.date({ width: "medium" });
  2244. case "PPP":
  2245. return formatLong3.date({ width: "long" });
  2246. case "PPPP":
  2247. default:
  2248. return formatLong3.date({ width: "full" });
  2249. }
  2250. };
  2251. var timeLongFormatter = function timeLongFormatter(pattern, formatLong3) {
  2252. switch (pattern) {
  2253. case "p":
  2254. return formatLong3.time({ width: "short" });
  2255. case "pp":
  2256. return formatLong3.time({ width: "medium" });
  2257. case "ppp":
  2258. return formatLong3.time({ width: "long" });
  2259. case "pppp":
  2260. default:
  2261. return formatLong3.time({ width: "full" });
  2262. }
  2263. };
  2264. var dateTimeLongFormatter = function dateTimeLongFormatter(pattern, formatLong3) {
  2265. var matchResult = pattern.match(/(P+)(p+)?/) || [];
  2266. var datePattern = matchResult[1];
  2267. var timePattern = matchResult[2];
  2268. if (!timePattern) {
  2269. return dateLongFormatter(pattern, formatLong3);
  2270. }
  2271. var dateTimeFormat;
  2272. switch (datePattern) {
  2273. case "P":
  2274. dateTimeFormat = formatLong3.dateTime({ width: "short" });
  2275. break;
  2276. case "PP":
  2277. dateTimeFormat = formatLong3.dateTime({ width: "medium" });
  2278. break;
  2279. case "PPP":
  2280. dateTimeFormat = formatLong3.dateTime({ width: "long" });
  2281. break;
  2282. case "PPPP":
  2283. default:
  2284. dateTimeFormat = formatLong3.dateTime({ width: "full" });
  2285. break;
  2286. }
  2287. return dateTimeFormat.replace("{{date}}", dateLongFormatter(datePattern, formatLong3)).replace("{{time}}", timeLongFormatter(timePattern, formatLong3));
  2288. };
  2289. var _longFormatters = {
  2290. p: timeLongFormatter,
  2291. P: dateTimeLongFormatter
  2292. };
  2293. // lib/_lib/protectedTokens.js
  2294. function isProtectedDayOfYearToken(token) {
  2295. return dayOfYearTokenRE.test(token);
  2296. }
  2297. function isProtectedWeekYearToken(token) {
  2298. return weekYearTokenRE.test(token);
  2299. }
  2300. function warnOrThrowProtectedError(token, format, input) {
  2301. var _message = message(token, format, input);
  2302. console.warn(_message);
  2303. if (throwTokens.includes(token))
  2304. throw new RangeError(_message);
  2305. }
  2306. function message(token, format, input) {
  2307. var subject = token[0] === "Y" ? "years" : "days of the month";
  2308. return "Use `".concat(token.toLowerCase(), "` instead of `").concat(token, "` (in `").concat(format, "`) for formatting ").concat(subject, " to the input `").concat(input, "`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md");
  2309. }
  2310. var dayOfYearTokenRE = /^D+$/;
  2311. var weekYearTokenRE = /^Y+$/;
  2312. var throwTokens = ["D", "DD", "YY", "YYYY"];
  2313. // lib/format.js
  2314. function _format(date, formatStr, options) {var _ref13, _options$locale5, _ref14, _ref15, _ref16, _options$firstWeekCon3, _options$locale6, _defaultOptions7$loca, _ref17, _ref18, _ref19, _options$weekStartsOn3, _options$locale7, _defaultOptions7$loca2;
  2315. var defaultOptions7 = getDefaultOptions();
  2316. var locale = (_ref13 = (_options$locale5 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale5 !== void 0 ? _options$locale5 : defaultOptions7.locale) !== null && _ref13 !== void 0 ? _ref13 : enUS;
  2317. var firstWeekContainsDate = (_ref14 = (_ref15 = (_ref16 = (_options$firstWeekCon3 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon3 !== void 0 ? _options$firstWeekCon3 : options === null || options === void 0 || (_options$locale6 = options.locale) === null || _options$locale6 === void 0 || (_options$locale6 = _options$locale6.options) === null || _options$locale6 === void 0 ? void 0 : _options$locale6.firstWeekContainsDate) !== null && _ref16 !== void 0 ? _ref16 : defaultOptions7.firstWeekContainsDate) !== null && _ref15 !== void 0 ? _ref15 : (_defaultOptions7$loca = defaultOptions7.locale) === null || _defaultOptions7$loca === void 0 || (_defaultOptions7$loca = _defaultOptions7$loca.options) === null || _defaultOptions7$loca === void 0 ? void 0 : _defaultOptions7$loca.firstWeekContainsDate) !== null && _ref14 !== void 0 ? _ref14 : 1;
  2318. var weekStartsOn = (_ref17 = (_ref18 = (_ref19 = (_options$weekStartsOn3 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn3 !== void 0 ? _options$weekStartsOn3 : options === null || options === void 0 || (_options$locale7 = options.locale) === null || _options$locale7 === void 0 || (_options$locale7 = _options$locale7.options) === null || _options$locale7 === void 0 ? void 0 : _options$locale7.weekStartsOn) !== null && _ref19 !== void 0 ? _ref19 : defaultOptions7.weekStartsOn) !== null && _ref18 !== void 0 ? _ref18 : (_defaultOptions7$loca2 = defaultOptions7.locale) === null || _defaultOptions7$loca2 === void 0 || (_defaultOptions7$loca2 = _defaultOptions7$loca2.options) === null || _defaultOptions7$loca2 === void 0 ? void 0 : _defaultOptions7$loca2.weekStartsOn) !== null && _ref17 !== void 0 ? _ref17 : 0;
  2319. var originalDate = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2320. if (!_isValid(originalDate)) {
  2321. throw new RangeError("Invalid time value");
  2322. }
  2323. var parts = formatStr.match(longFormattingTokensRegExp).map(function (substring) {
  2324. var firstCharacter = substring[0];
  2325. if (firstCharacter === "p" || firstCharacter === "P") {
  2326. var longFormatter = _longFormatters[firstCharacter];
  2327. return longFormatter(substring, locale.formatLong);
  2328. }
  2329. return substring;
  2330. }).join("").match(formattingTokensRegExp).map(function (substring) {
  2331. if (substring === "''") {
  2332. return { isToken: false, value: "'" };
  2333. }
  2334. var firstCharacter = substring[0];
  2335. if (firstCharacter === "'") {
  2336. return { isToken: false, value: cleanEscapedString(substring) };
  2337. }
  2338. if (_formatters[firstCharacter]) {
  2339. return { isToken: true, value: substring };
  2340. }
  2341. if (firstCharacter.match(unescapedLatinCharacterRegExp)) {
  2342. throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`");
  2343. }
  2344. return { isToken: false, value: substring };
  2345. });
  2346. if (locale.localize.preprocessor) {
  2347. parts = locale.localize.preprocessor(originalDate, parts);
  2348. }
  2349. var formatterOptions = {
  2350. firstWeekContainsDate: firstWeekContainsDate,
  2351. weekStartsOn: weekStartsOn,
  2352. locale: locale
  2353. };
  2354. return parts.map(function (part) {
  2355. if (!part.isToken)
  2356. return part.value;
  2357. var token = part.value;
  2358. if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token) || !(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {
  2359. warnOrThrowProtectedError(token, formatStr, String(date));
  2360. }
  2361. var formatter = _formatters[token[0]];
  2362. return formatter(originalDate, token, locale.localize, formatterOptions);
  2363. }).join("");
  2364. }
  2365. function cleanEscapedString(input) {
  2366. var matched = input.match(escapedStringRegExp);
  2367. if (!matched) {
  2368. return input;
  2369. }
  2370. return matched[1].replace(doubleQuoteRegExp, "'");
  2371. }
  2372. var formattingTokensRegExp = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;
  2373. var longFormattingTokensRegExp = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
  2374. var escapedStringRegExp = /^'([^]*?)'?$/;
  2375. var doubleQuoteRegExp = /''/g;
  2376. var unescapedLatinCharacterRegExp = /[a-zA-Z]/;
  2377. // lib/formatDistance.js
  2378. function formatDistance3(laterDate, earlierDate, options) {var _ref20, _options$locale8;
  2379. var defaultOptions8 = getDefaultOptions();
  2380. var locale = (_ref20 = (_options$locale8 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale8 !== void 0 ? _options$locale8 : defaultOptions8.locale) !== null && _ref20 !== void 0 ? _ref20 : enUS;
  2381. var minutesInAlmostTwoDays = 2520;
  2382. var comparison = _compareAsc(laterDate, earlierDate);
  2383. if (isNaN(comparison))
  2384. throw new RangeError("Invalid time value");
  2385. var localizeOptions = Object.assign({}, options, {
  2386. addSuffix: options === null || options === void 0 ? void 0 : options.addSuffix,
  2387. comparison: comparison
  2388. });
  2389. var _normalizeDates35 = normalizeDates.apply(void 0, [options === null || options === void 0 ? void 0 : options.in].concat(_toConsumableArray(comparison > 0 ? [earlierDate, laterDate] : [laterDate, earlierDate]))),_normalizeDates36 = _slicedToArray(_normalizeDates35, 2),laterDate_ = _normalizeDates36[0],earlierDate_ = _normalizeDates36[1];
  2390. var seconds = _differenceInSeconds(earlierDate_, laterDate_);
  2391. var offsetInSeconds = (getTimezoneOffsetInMilliseconds(earlierDate_) - getTimezoneOffsetInMilliseconds(laterDate_)) / 1000;
  2392. var minutes = Math.round((seconds - offsetInSeconds) / 60);
  2393. var months;
  2394. if (minutes < 2) {
  2395. if (options !== null && options !== void 0 && options.includeSeconds) {
  2396. if (seconds < 5) {
  2397. return locale.formatDistance("lessThanXSeconds", 5, localizeOptions);
  2398. } else if (seconds < 10) {
  2399. return locale.formatDistance("lessThanXSeconds", 10, localizeOptions);
  2400. } else if (seconds < 20) {
  2401. return locale.formatDistance("lessThanXSeconds", 20, localizeOptions);
  2402. } else if (seconds < 40) {
  2403. return locale.formatDistance("halfAMinute", 0, localizeOptions);
  2404. } else if (seconds < 60) {
  2405. return locale.formatDistance("lessThanXMinutes", 1, localizeOptions);
  2406. } else {
  2407. return locale.formatDistance("xMinutes", 1, localizeOptions);
  2408. }
  2409. } else {
  2410. if (minutes === 0) {
  2411. return locale.formatDistance("lessThanXMinutes", 1, localizeOptions);
  2412. } else {
  2413. return locale.formatDistance("xMinutes", minutes, localizeOptions);
  2414. }
  2415. }
  2416. } else if (minutes < 45) {
  2417. return locale.formatDistance("xMinutes", minutes, localizeOptions);
  2418. } else if (minutes < 90) {
  2419. return locale.formatDistance("aboutXHours", 1, localizeOptions);
  2420. } else if (minutes < minutesInDay) {
  2421. var hours = Math.round(minutes / 60);
  2422. return locale.formatDistance("aboutXHours", hours, localizeOptions);
  2423. } else if (minutes < minutesInAlmostTwoDays) {
  2424. return locale.formatDistance("xDays", 1, localizeOptions);
  2425. } else if (minutes < minutesInMonth) {
  2426. var _days = Math.round(minutes / minutesInDay);
  2427. return locale.formatDistance("xDays", _days, localizeOptions);
  2428. } else if (minutes < minutesInMonth * 2) {
  2429. months = Math.round(minutes / minutesInMonth);
  2430. return locale.formatDistance("aboutXMonths", months, localizeOptions);
  2431. }
  2432. months = _differenceInMonths(earlierDate_, laterDate_);
  2433. if (months < 12) {
  2434. var nearestMonth = Math.round(minutes / minutesInMonth);
  2435. return locale.formatDistance("xMonths", nearestMonth, localizeOptions);
  2436. } else {
  2437. var monthsSinceStartOfYear = months % 12;
  2438. var years = Math.trunc(months / 12);
  2439. if (monthsSinceStartOfYear < 3) {
  2440. return locale.formatDistance("aboutXYears", years, localizeOptions);
  2441. } else if (monthsSinceStartOfYear < 9) {
  2442. return locale.formatDistance("overXYears", years, localizeOptions);
  2443. } else {
  2444. return locale.formatDistance("almostXYears", years + 1, localizeOptions);
  2445. }
  2446. }
  2447. }
  2448. // lib/formatDistanceStrict.js
  2449. function _formatDistanceStrict(laterDate, earlierDate, options) {var _ref21, _options$locale9, _options$roundingMeth;
  2450. var defaultOptions9 = getDefaultOptions();
  2451. var locale = (_ref21 = (_options$locale9 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale9 !== void 0 ? _options$locale9 : defaultOptions9.locale) !== null && _ref21 !== void 0 ? _ref21 : enUS;
  2452. var comparison = _compareAsc(laterDate, earlierDate);
  2453. if (isNaN(comparison)) {
  2454. throw new RangeError("Invalid time value");
  2455. }
  2456. var localizeOptions = Object.assign({}, options, {
  2457. addSuffix: options === null || options === void 0 ? void 0 : options.addSuffix,
  2458. comparison: comparison
  2459. });
  2460. var _normalizeDates37 = normalizeDates.apply(void 0, [options === null || options === void 0 ? void 0 : options.in].concat(_toConsumableArray(comparison > 0 ? [earlierDate, laterDate] : [laterDate, earlierDate]))),_normalizeDates38 = _slicedToArray(_normalizeDates37, 2),laterDate_ = _normalizeDates38[0],earlierDate_ = _normalizeDates38[1];
  2461. var roundingMethod = getRoundingMethod((_options$roundingMeth = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth !== void 0 ? _options$roundingMeth : "round");
  2462. var milliseconds = earlierDate_.getTime() - laterDate_.getTime();
  2463. var minutes = milliseconds / millisecondsInMinute;
  2464. var timezoneOffset = getTimezoneOffsetInMilliseconds(earlierDate_) - getTimezoneOffsetInMilliseconds(laterDate_);
  2465. var dstNormalizedMinutes = (milliseconds - timezoneOffset) / millisecondsInMinute;
  2466. var defaultUnit = options === null || options === void 0 ? void 0 : options.unit;
  2467. var unit;
  2468. if (!defaultUnit) {
  2469. if (minutes < 1) {
  2470. unit = "second";
  2471. } else if (minutes < 60) {
  2472. unit = "minute";
  2473. } else if (minutes < minutesInDay) {
  2474. unit = "hour";
  2475. } else if (dstNormalizedMinutes < minutesInMonth) {
  2476. unit = "day";
  2477. } else if (dstNormalizedMinutes < minutesInYear) {
  2478. unit = "month";
  2479. } else {
  2480. unit = "year";
  2481. }
  2482. } else {
  2483. unit = defaultUnit;
  2484. }
  2485. if (unit === "second") {
  2486. var seconds = roundingMethod(milliseconds / 1000);
  2487. return locale.formatDistance("xSeconds", seconds, localizeOptions);
  2488. } else if (unit === "minute") {
  2489. var roundedMinutes = roundingMethod(minutes);
  2490. return locale.formatDistance("xMinutes", roundedMinutes, localizeOptions);
  2491. } else if (unit === "hour") {
  2492. var hours = roundingMethod(minutes / 60);
  2493. return locale.formatDistance("xHours", hours, localizeOptions);
  2494. } else if (unit === "day") {
  2495. var _days2 = roundingMethod(dstNormalizedMinutes / minutesInDay);
  2496. return locale.formatDistance("xDays", _days2, localizeOptions);
  2497. } else if (unit === "month") {
  2498. var _months = roundingMethod(dstNormalizedMinutes / minutesInMonth);
  2499. return _months === 12 && defaultUnit !== "month" ? locale.formatDistance("xYears", 1, localizeOptions) : locale.formatDistance("xMonths", _months, localizeOptions);
  2500. } else {
  2501. var years = roundingMethod(dstNormalizedMinutes / minutesInYear);
  2502. return locale.formatDistance("xYears", years, localizeOptions);
  2503. }
  2504. }
  2505. // lib/formatDistanceToNow.js
  2506. function _formatDistanceToNow(date, options) {
  2507. return formatDistance3(date, _constructNow(date), options);
  2508. }
  2509. // lib/formatDistanceToNowStrict.js
  2510. function _formatDistanceToNowStrict(date, options) {
  2511. return _formatDistanceStrict(date, _constructNow(date), options);
  2512. }
  2513. // lib/formatDuration.js
  2514. function _formatDuration(duration, options) {var _ref22, _options$locale10, _options$format, _options$zero, _options$delimiter;
  2515. var defaultOptions10 = getDefaultOptions();
  2516. var locale = (_ref22 = (_options$locale10 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale10 !== void 0 ? _options$locale10 : defaultOptions10.locale) !== null && _ref22 !== void 0 ? _ref22 : enUS;
  2517. var format2 = (_options$format = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format !== void 0 ? _options$format : defaultFormat;
  2518. var zero = (_options$zero = options === null || options === void 0 ? void 0 : options.zero) !== null && _options$zero !== void 0 ? _options$zero : false;
  2519. var delimiter = (_options$delimiter = options === null || options === void 0 ? void 0 : options.delimiter) !== null && _options$delimiter !== void 0 ? _options$delimiter : " ";
  2520. if (!locale.formatDistance) {
  2521. return "";
  2522. }
  2523. var result = format2.reduce(function (acc, unit) {
  2524. var token = "x".concat(unit.replace(/(^.)/, function (m) {return m.toUpperCase();}));
  2525. var value = duration[unit];
  2526. if (value !== undefined && (zero || duration[unit])) {
  2527. return acc.concat(locale.formatDistance(token, value));
  2528. }
  2529. return acc;
  2530. }, []).join(delimiter);
  2531. return result;
  2532. }
  2533. var defaultFormat = [
  2534. "years",
  2535. "months",
  2536. "weeks",
  2537. "days",
  2538. "hours",
  2539. "minutes",
  2540. "seconds"];
  2541. // lib/formatISO.js
  2542. function _formatISO2(date, options) {var _options$format2, _options$representati;
  2543. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2544. if (isNaN(+date_)) {
  2545. throw new RangeError("Invalid time value");
  2546. }
  2547. var format2 = (_options$format2 = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format2 !== void 0 ? _options$format2 : "extended";
  2548. var representation = (_options$representati = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati !== void 0 ? _options$representati : "complete";
  2549. var result = "";
  2550. var tzOffset = "";
  2551. var dateDelimiter = format2 === "extended" ? "-" : "";
  2552. var timeDelimiter = format2 === "extended" ? ":" : "";
  2553. if (representation !== "time") {
  2554. var day = addLeadingZeros(date_.getDate(), 2);
  2555. var month = addLeadingZeros(date_.getMonth() + 1, 2);
  2556. var year = addLeadingZeros(date_.getFullYear(), 4);
  2557. result = "".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);
  2558. }
  2559. if (representation !== "date") {
  2560. var offset = date_.getTimezoneOffset();
  2561. if (offset !== 0) {
  2562. var absoluteOffset = Math.abs(offset);
  2563. var hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2);
  2564. var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);
  2565. var sign = offset < 0 ? "+" : "-";
  2566. tzOffset = "".concat(sign).concat(hourOffset, ":").concat(minuteOffset);
  2567. } else {
  2568. tzOffset = "Z";
  2569. }
  2570. var hour = addLeadingZeros(date_.getHours(), 2);
  2571. var minute = addLeadingZeros(date_.getMinutes(), 2);
  2572. var second = addLeadingZeros(date_.getSeconds(), 2);
  2573. var separator = result === "" ? "" : "T";
  2574. var time = [hour, minute, second].join(timeDelimiter);
  2575. result = "".concat(result).concat(separator).concat(time).concat(tzOffset);
  2576. }
  2577. return result;
  2578. }
  2579. // lib/formatISO9075.js
  2580. function _formatISO(date, options) {var _options$format3, _options$representati2;
  2581. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2582. if (!_isValid(date_)) {
  2583. throw new RangeError("Invalid time value");
  2584. }
  2585. var format2 = (_options$format3 = options === null || options === void 0 ? void 0 : options.format) !== null && _options$format3 !== void 0 ? _options$format3 : "extended";
  2586. var representation = (_options$representati2 = options === null || options === void 0 ? void 0 : options.representation) !== null && _options$representati2 !== void 0 ? _options$representati2 : "complete";
  2587. var result = "";
  2588. var dateDelimiter = format2 === "extended" ? "-" : "";
  2589. var timeDelimiter = format2 === "extended" ? ":" : "";
  2590. if (representation !== "time") {
  2591. var day = addLeadingZeros(date_.getDate(), 2);
  2592. var month = addLeadingZeros(date_.getMonth() + 1, 2);
  2593. var year = addLeadingZeros(date_.getFullYear(), 4);
  2594. result = "".concat(year).concat(dateDelimiter).concat(month).concat(dateDelimiter).concat(day);
  2595. }
  2596. if (representation !== "date") {
  2597. var hour = addLeadingZeros(date_.getHours(), 2);
  2598. var minute = addLeadingZeros(date_.getMinutes(), 2);
  2599. var second = addLeadingZeros(date_.getSeconds(), 2);
  2600. var separator = result === "" ? "" : " ";
  2601. result = "".concat(result).concat(separator).concat(hour).concat(timeDelimiter).concat(minute).concat(timeDelimiter).concat(second);
  2602. }
  2603. return result;
  2604. }
  2605. // lib/formatISODuration.js
  2606. function _formatISODuration(duration) {
  2607. var _duration$years2 =
  2608. duration.years,years = _duration$years2 === void 0 ? 0 : _duration$years2,_duration$months2 = duration.months,months = _duration$months2 === void 0 ? 0 : _duration$months2,_duration$days2 = duration.days,days = _duration$days2 === void 0 ? 0 : _duration$days2,_duration$hours2 = duration.hours,hours = _duration$hours2 === void 0 ? 0 : _duration$hours2,_duration$minutes2 = duration.minutes,minutes = _duration$minutes2 === void 0 ? 0 : _duration$minutes2,_duration$seconds2 = duration.seconds,seconds = _duration$seconds2 === void 0 ? 0 : _duration$seconds2;
  2609. return "P".concat(years, "Y").concat(months, "M").concat(days, "DT").concat(hours, "H").concat(minutes, "M").concat(seconds, "S");
  2610. }
  2611. // lib/formatRFC3339.js
  2612. function _formatRFC2(date, options) {var _options$fractionDigi;
  2613. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2614. if (!_isValid(date_)) {
  2615. throw new RangeError("Invalid time value");
  2616. }
  2617. var fractionDigits = (_options$fractionDigi = options === null || options === void 0 ? void 0 : options.fractionDigits) !== null && _options$fractionDigi !== void 0 ? _options$fractionDigi : 0;
  2618. var day = addLeadingZeros(date_.getDate(), 2);
  2619. var month = addLeadingZeros(date_.getMonth() + 1, 2);
  2620. var year = date_.getFullYear();
  2621. var hour = addLeadingZeros(date_.getHours(), 2);
  2622. var minute = addLeadingZeros(date_.getMinutes(), 2);
  2623. var second = addLeadingZeros(date_.getSeconds(), 2);
  2624. var fractionalSecond = "";
  2625. if (fractionDigits > 0) {
  2626. var milliseconds = date_.getMilliseconds();
  2627. var fractionalSeconds = Math.trunc(milliseconds * Math.pow(10, fractionDigits - 3));
  2628. fractionalSecond = "." + addLeadingZeros(fractionalSeconds, fractionDigits);
  2629. }
  2630. var offset = "";
  2631. var tzOffset = date_.getTimezoneOffset();
  2632. if (tzOffset !== 0) {
  2633. var absoluteOffset = Math.abs(tzOffset);
  2634. var hourOffset = addLeadingZeros(Math.trunc(absoluteOffset / 60), 2);
  2635. var minuteOffset = addLeadingZeros(absoluteOffset % 60, 2);
  2636. var sign = tzOffset < 0 ? "+" : "-";
  2637. offset = "".concat(sign).concat(hourOffset, ":").concat(minuteOffset);
  2638. } else {
  2639. offset = "Z";
  2640. }
  2641. return "".concat(year, "-").concat(month, "-").concat(day, "T").concat(hour, ":").concat(minute, ":").concat(second).concat(fractionalSecond).concat(offset);
  2642. }
  2643. // lib/formatRFC7231.js
  2644. function _formatRFC(date) {
  2645. var _date = _toDate(date);
  2646. if (!_isValid(_date)) {
  2647. throw new RangeError("Invalid time value");
  2648. }
  2649. var dayName = days[_date.getUTCDay()];
  2650. var dayOfMonth = addLeadingZeros(_date.getUTCDate(), 2);
  2651. var monthName = months[_date.getUTCMonth()];
  2652. var year = _date.getUTCFullYear();
  2653. var hour = addLeadingZeros(_date.getUTCHours(), 2);
  2654. var minute = addLeadingZeros(_date.getUTCMinutes(), 2);
  2655. var second = addLeadingZeros(_date.getUTCSeconds(), 2);
  2656. return "".concat(dayName, ", ").concat(dayOfMonth, " ").concat(monthName, " ").concat(year, " ").concat(hour, ":").concat(minute, ":").concat(second, " GMT");
  2657. }
  2658. var days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
  2659. var months = [
  2660. "Jan",
  2661. "Feb",
  2662. "Mar",
  2663. "Apr",
  2664. "May",
  2665. "Jun",
  2666. "Jul",
  2667. "Aug",
  2668. "Sep",
  2669. "Oct",
  2670. "Nov",
  2671. "Dec"];
  2672. // lib/formatRelative.js
  2673. function formatRelative3(date, baseDate, options) {var _ref23, _options$locale11, _ref24, _ref25, _ref26, _options$weekStartsOn4, _options$locale12, _defaultOptions11$loc;
  2674. var _normalizeDates39 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, date, baseDate),_normalizeDates40 = _slicedToArray(_normalizeDates39, 2),date_ = _normalizeDates40[0],baseDate_ = _normalizeDates40[1];
  2675. var defaultOptions11 = getDefaultOptions();
  2676. var locale = (_ref23 = (_options$locale11 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale11 !== void 0 ? _options$locale11 : defaultOptions11.locale) !== null && _ref23 !== void 0 ? _ref23 : enUS;
  2677. var weekStartsOn = (_ref24 = (_ref25 = (_ref26 = (_options$weekStartsOn4 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn4 !== void 0 ? _options$weekStartsOn4 : options === null || options === void 0 || (_options$locale12 = options.locale) === null || _options$locale12 === void 0 || (_options$locale12 = _options$locale12.options) === null || _options$locale12 === void 0 ? void 0 : _options$locale12.weekStartsOn) !== null && _ref26 !== void 0 ? _ref26 : defaultOptions11.weekStartsOn) !== null && _ref25 !== void 0 ? _ref25 : (_defaultOptions11$loc = defaultOptions11.locale) === null || _defaultOptions11$loc === void 0 || (_defaultOptions11$loc = _defaultOptions11$loc.options) === null || _defaultOptions11$loc === void 0 ? void 0 : _defaultOptions11$loc.weekStartsOn) !== null && _ref24 !== void 0 ? _ref24 : 0;
  2678. var diff = _differenceInCalendarDays(date_, baseDate_);
  2679. if (isNaN(diff)) {
  2680. throw new RangeError("Invalid time value");
  2681. }
  2682. var token;
  2683. if (diff < -6) {
  2684. token = "other";
  2685. } else if (diff < -1) {
  2686. token = "lastWeek";
  2687. } else if (diff < 0) {
  2688. token = "yesterday";
  2689. } else if (diff < 1) {
  2690. token = "today";
  2691. } else if (diff < 2) {
  2692. token = "tomorrow";
  2693. } else if (diff < 7) {
  2694. token = "nextWeek";
  2695. } else {
  2696. token = "other";
  2697. }
  2698. var formatStr = locale.formatRelative(token, date_, baseDate_, {
  2699. locale: locale,
  2700. weekStartsOn: weekStartsOn
  2701. });
  2702. return _format(date_, formatStr, { locale: locale, weekStartsOn: weekStartsOn });
  2703. }
  2704. // lib/fromUnixTime.js
  2705. function _fromUnixTime(unixTime, options) {
  2706. return _toDate(unixTime * 1000, options === null || options === void 0 ? void 0 : options.in);
  2707. }
  2708. // lib/getDate.js
  2709. function _getDate(date, options) {
  2710. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDate();
  2711. }
  2712. // lib/getDay.js
  2713. function _getDay(date, options) {
  2714. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay();
  2715. }
  2716. // lib/getDaysInMonth.js
  2717. function _getDaysInMonth(date, options) {
  2718. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2719. var year = _date.getFullYear();
  2720. var monthIndex = _date.getMonth();
  2721. var lastDayOfMonth = _constructFrom(_date, 0);
  2722. lastDayOfMonth.setFullYear(year, monthIndex + 1, 0);
  2723. lastDayOfMonth.setHours(0, 0, 0, 0);
  2724. return lastDayOfMonth.getDate();
  2725. }
  2726. // lib/isLeapYear.js
  2727. function _isLeapYear(date, options) {
  2728. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2729. var year = _date.getFullYear();
  2730. return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
  2731. }
  2732. // lib/getDaysInYear.js
  2733. function _getDaysInYear(date, options) {
  2734. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2735. if (Number.isNaN(+_date))
  2736. return NaN;
  2737. return _isLeapYear(_date) ? 366 : 365;
  2738. }
  2739. // lib/getDecade.js
  2740. function _getDecade(date, options) {
  2741. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2742. var year = _date.getFullYear();
  2743. var decade = Math.floor(year / 10) * 10;
  2744. return decade;
  2745. }
  2746. // lib/getDefaultOptions.js
  2747. function getDefaultOptions2() {
  2748. return Object.assign({}, getDefaultOptions());
  2749. }
  2750. // lib/getHours.js
  2751. function _getHours(date, options) {
  2752. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getHours();
  2753. }
  2754. // lib/getISODay.js
  2755. function _getISODay(date, options) {
  2756. var day = _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay();
  2757. return day === 0 ? 7 : day;
  2758. }
  2759. // lib/getISOWeeksInYear.js
  2760. function _getISOWeeksInYear(date, options) {
  2761. var thisYear = _startOfISOWeekYear(date, options);
  2762. var nextYear = _startOfISOWeekYear(_addWeeks(thisYear, 60));
  2763. var diff = +nextYear - +thisYear;
  2764. return Math.round(diff / millisecondsInWeek);
  2765. }
  2766. // lib/getMilliseconds.js
  2767. function _getMilliseconds(date) {
  2768. return _toDate(date).getMilliseconds();
  2769. }
  2770. // lib/getMinutes.js
  2771. function _getMinutes(date, options) {
  2772. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getMinutes();
  2773. }
  2774. // lib/getMonth.js
  2775. function _getMonth(date, options) {
  2776. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getMonth();
  2777. }
  2778. // lib/getOverlappingDaysInIntervals.js
  2779. function _getOverlappingDaysInIntervals(intervalLeft, intervalRight) {
  2780. var _sort5 = [
  2781. +_toDate(intervalLeft.start),
  2782. +_toDate(intervalLeft.end)].
  2783. sort(function (a, b) {return a - b;}),_sort6 = _slicedToArray(_sort5, 2),leftStart = _sort6[0],leftEnd = _sort6[1];
  2784. var _sort7 = [
  2785. +_toDate(intervalRight.start),
  2786. +_toDate(intervalRight.end)].
  2787. sort(function (a, b) {return a - b;}),_sort8 = _slicedToArray(_sort7, 2),rightStart = _sort8[0],rightEnd = _sort8[1];
  2788. var isOverlapping = leftStart < rightEnd && rightStart < leftEnd;
  2789. if (!isOverlapping)
  2790. return 0;
  2791. var overlapLeft = rightStart < leftStart ? leftStart : rightStart;
  2792. var left = overlapLeft - getTimezoneOffsetInMilliseconds(overlapLeft);
  2793. var overlapRight = rightEnd > leftEnd ? leftEnd : rightEnd;
  2794. var right = overlapRight - getTimezoneOffsetInMilliseconds(overlapRight);
  2795. return Math.ceil((right - left) / millisecondsInDay);
  2796. }
  2797. // lib/getSeconds.js
  2798. function _getSeconds(date) {
  2799. return _toDate(date).getSeconds();
  2800. }
  2801. // lib/getTime.js
  2802. function _getTime(date) {
  2803. return +_toDate(date);
  2804. }
  2805. // lib/getUnixTime.js
  2806. function _getUnixTime(date) {
  2807. return Math.trunc(+_toDate(date) / 1000);
  2808. }
  2809. // lib/getWeekOfMonth.js
  2810. function _getWeekOfMonth(date, options) {var _ref27, _ref28, _ref29, _options$weekStartsOn5, _options$locale13, _defaultOptions13$loc;
  2811. var defaultOptions13 = getDefaultOptions();
  2812. var weekStartsOn = (_ref27 = (_ref28 = (_ref29 = (_options$weekStartsOn5 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn5 !== void 0 ? _options$weekStartsOn5 : options === null || options === void 0 || (_options$locale13 = options.locale) === null || _options$locale13 === void 0 || (_options$locale13 = _options$locale13.options) === null || _options$locale13 === void 0 ? void 0 : _options$locale13.weekStartsOn) !== null && _ref29 !== void 0 ? _ref29 : defaultOptions13.weekStartsOn) !== null && _ref28 !== void 0 ? _ref28 : (_defaultOptions13$loc = defaultOptions13.locale) === null || _defaultOptions13$loc === void 0 || (_defaultOptions13$loc = _defaultOptions13$loc.options) === null || _defaultOptions13$loc === void 0 ? void 0 : _defaultOptions13$loc.weekStartsOn) !== null && _ref27 !== void 0 ? _ref27 : 0;
  2813. var currentDayOfMonth = _getDate(_toDate(date, options === null || options === void 0 ? void 0 : options.in));
  2814. if (isNaN(currentDayOfMonth))
  2815. return NaN;
  2816. var startWeekDay = _getDay(_startOfMonth(date, options));
  2817. var lastDayOfFirstWeek = weekStartsOn - startWeekDay;
  2818. if (lastDayOfFirstWeek <= 0)
  2819. lastDayOfFirstWeek += 7;
  2820. var remainingDaysAfterFirstWeek = currentDayOfMonth - lastDayOfFirstWeek;
  2821. return Math.ceil(remainingDaysAfterFirstWeek / 7) + 1;
  2822. }
  2823. // lib/lastDayOfMonth.js
  2824. function _lastDayOfMonth(date, options) {
  2825. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2826. var month = _date.getMonth();
  2827. _date.setFullYear(_date.getFullYear(), month + 1, 0);
  2828. _date.setHours(0, 0, 0, 0);
  2829. return _toDate(_date, options === null || options === void 0 ? void 0 : options.in);
  2830. }
  2831. // lib/getWeeksInMonth.js
  2832. function _getWeeksInMonth(date, options) {
  2833. var contextDate = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  2834. return _differenceInCalendarWeeks(_lastDayOfMonth(contextDate, options), _startOfMonth(contextDate, options), options) + 1;
  2835. }
  2836. // lib/getYear.js
  2837. function _getYear(date, options) {
  2838. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getFullYear();
  2839. }
  2840. // lib/hoursToMilliseconds.js
  2841. function _hoursToMilliseconds(hours) {
  2842. return Math.trunc(hours * millisecondsInHour);
  2843. }
  2844. // lib/hoursToMinutes.js
  2845. function _hoursToMinutes(hours) {
  2846. return Math.trunc(hours * minutesInHour);
  2847. }
  2848. // lib/hoursToSeconds.js
  2849. function _hoursToSeconds(hours) {
  2850. return Math.trunc(hours * secondsInHour);
  2851. }
  2852. // lib/interval.js
  2853. function _interval(start, end, options) {
  2854. var _normalizeDates41 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, start, end),_normalizeDates42 = _slicedToArray(_normalizeDates41, 2),_start = _normalizeDates42[0],_end = _normalizeDates42[1];
  2855. if (isNaN(+_start))
  2856. throw new TypeError("Start date is invalid");
  2857. if (isNaN(+_end))
  2858. throw new TypeError("End date is invalid");
  2859. if (options !== null && options !== void 0 && options.assertPositive && +_start > +_end)
  2860. throw new TypeError("End date must be after start date");
  2861. return { start: _start, end: _end };
  2862. }
  2863. // lib/intervalToDuration.js
  2864. function _intervalToDuration(interval2, options) {
  2865. var _normalizeInterval9 = normalizeInterval(options === null || options === void 0 ? void 0 : options.in, interval2),start = _normalizeInterval9.start,end = _normalizeInterval9.end;
  2866. var duration = {};
  2867. var years = _differenceInYears(end, start);
  2868. if (years)
  2869. duration.years = years;
  2870. var remainingMonths = _add(start, { years: duration.years });
  2871. var months2 = _differenceInMonths(end, remainingMonths);
  2872. if (months2)
  2873. duration.months = months2;
  2874. var remainingDays = _add(remainingMonths, { months: duration.months });
  2875. var days2 = _differenceInDays(end, remainingDays);
  2876. if (days2)
  2877. duration.days = days2;
  2878. var remainingHours = _add(remainingDays, { days: duration.days });
  2879. var hours = _differenceInHours(end, remainingHours);
  2880. if (hours)
  2881. duration.hours = hours;
  2882. var remainingMinutes = _add(remainingHours, { hours: duration.hours });
  2883. var minutes = _differenceInMinutes(end, remainingMinutes);
  2884. if (minutes)
  2885. duration.minutes = minutes;
  2886. var remainingSeconds = _add(remainingMinutes, { minutes: duration.minutes });
  2887. var seconds = _differenceInSeconds(end, remainingSeconds);
  2888. if (seconds)
  2889. duration.seconds = seconds;
  2890. return duration;
  2891. }
  2892. // lib/intlFormat.js
  2893. function _intlFormat(date, formatOrLocale, localeOptions) {var _localeOptions;
  2894. var formatOptions;
  2895. if (isFormatOptions(formatOrLocale)) {
  2896. formatOptions = formatOrLocale;
  2897. } else {
  2898. localeOptions = formatOrLocale;
  2899. }
  2900. return new Intl.DateTimeFormat((_localeOptions = localeOptions) === null || _localeOptions === void 0 ? void 0 : _localeOptions.locale, formatOptions).format(_toDate(date));
  2901. }
  2902. function isFormatOptions(opts) {
  2903. return opts !== undefined && !("locale" in opts);
  2904. }
  2905. // lib/intlFormatDistance.js
  2906. function _intlFormatDistance(laterDate, earlierDate, options) {
  2907. var value = 0;
  2908. var unit;
  2909. var _normalizeDates43 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates44 = _slicedToArray(_normalizeDates43, 2),laterDate_ = _normalizeDates44[0],earlierDate_ = _normalizeDates44[1];
  2910. if (!(options !== null && options !== void 0 && options.unit)) {
  2911. var diffInSeconds = _differenceInSeconds(laterDate_, earlierDate_);
  2912. if (Math.abs(diffInSeconds) < secondsInMinute) {
  2913. value = _differenceInSeconds(laterDate_, earlierDate_);
  2914. unit = "second";
  2915. } else if (Math.abs(diffInSeconds) < secondsInHour) {
  2916. value = _differenceInMinutes(laterDate_, earlierDate_);
  2917. unit = "minute";
  2918. } else if (Math.abs(diffInSeconds) < secondsInDay && Math.abs(_differenceInCalendarDays(laterDate_, earlierDate_)) < 1) {
  2919. value = _differenceInHours(laterDate_, earlierDate_);
  2920. unit = "hour";
  2921. } else if (Math.abs(diffInSeconds) < secondsInWeek && (value = _differenceInCalendarDays(laterDate_, earlierDate_)) && Math.abs(value) < 7) {
  2922. unit = "day";
  2923. } else if (Math.abs(diffInSeconds) < secondsInMonth) {
  2924. value = _differenceInCalendarWeeks(laterDate_, earlierDate_);
  2925. unit = "week";
  2926. } else if (Math.abs(diffInSeconds) < secondsInQuarter) {
  2927. value = _differenceInCalendarMonths(laterDate_, earlierDate_);
  2928. unit = "month";
  2929. } else if (Math.abs(diffInSeconds) < secondsInYear) {
  2930. if (_differenceInCalendarQuarters(laterDate_, earlierDate_) < 4) {
  2931. value = _differenceInCalendarQuarters(laterDate_, earlierDate_);
  2932. unit = "quarter";
  2933. } else {
  2934. value = _differenceInCalendarYears(laterDate_, earlierDate_);
  2935. unit = "year";
  2936. }
  2937. } else {
  2938. value = _differenceInCalendarYears(laterDate_, earlierDate_);
  2939. unit = "year";
  2940. }
  2941. } else {
  2942. unit = options === null || options === void 0 ? void 0 : options.unit;
  2943. if (unit === "second") {
  2944. value = _differenceInSeconds(laterDate_, earlierDate_);
  2945. } else if (unit === "minute") {
  2946. value = _differenceInMinutes(laterDate_, earlierDate_);
  2947. } else if (unit === "hour") {
  2948. value = _differenceInHours(laterDate_, earlierDate_);
  2949. } else if (unit === "day") {
  2950. value = _differenceInCalendarDays(laterDate_, earlierDate_);
  2951. } else if (unit === "week") {
  2952. value = _differenceInCalendarWeeks(laterDate_, earlierDate_);
  2953. } else if (unit === "month") {
  2954. value = _differenceInCalendarMonths(laterDate_, earlierDate_);
  2955. } else if (unit === "quarter") {
  2956. value = _differenceInCalendarQuarters(laterDate_, earlierDate_);
  2957. } else if (unit === "year") {
  2958. value = _differenceInCalendarYears(laterDate_, earlierDate_);
  2959. }
  2960. }
  2961. var rtf = new Intl.RelativeTimeFormat(options === null || options === void 0 ? void 0 : options.locale, _objectSpread({
  2962. numeric: "auto" },
  2963. options)
  2964. );
  2965. return rtf.format(value, unit);
  2966. }
  2967. // lib/isAfter.js
  2968. function _isAfter(date, dateToCompare) {
  2969. return +_toDate(date) > +_toDate(dateToCompare);
  2970. }
  2971. // lib/isBefore.js
  2972. function _isBefore(date, dateToCompare) {
  2973. return +_toDate(date) < +_toDate(dateToCompare);
  2974. }
  2975. // lib/isEqual.js
  2976. function _isEqual(leftDate, rightDate) {
  2977. return +_toDate(leftDate) === +_toDate(rightDate);
  2978. }
  2979. // lib/isExists.js
  2980. function _isExists(year, month, day) {
  2981. var date = new Date(year, month, day);
  2982. return date.getFullYear() === year && date.getMonth() === month && date.getDate() === day;
  2983. }
  2984. // lib/isFirstDayOfMonth.js
  2985. function _isFirstDayOfMonth(date, options) {
  2986. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDate() === 1;
  2987. }
  2988. // lib/isFriday.js
  2989. function _isFriday(date, options) {
  2990. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 5;
  2991. }
  2992. // lib/isFuture.js
  2993. function _isFuture(date) {
  2994. return +_toDate(date) > Date.now();
  2995. }
  2996. // lib/transpose.js
  2997. function _transpose(date, constructor) {
  2998. var date_ = isConstructor(constructor) ? new constructor(0) : _constructFrom(constructor, 0);
  2999. date_.setFullYear(date.getFullYear(), date.getMonth(), date.getDate());
  3000. date_.setHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
  3001. return date_;
  3002. }
  3003. function isConstructor(constructor) {var _constructor$prototyp;
  3004. return typeof constructor === "function" && ((_constructor$prototyp = constructor.prototype) === null || _constructor$prototyp === void 0 ? void 0 : _constructor$prototyp.constructor) === constructor;
  3005. }
  3006. // lib/parse/_lib/Setter.js
  3007. var TIMEZONE_UNIT_PRIORITY = 10;var
  3008. Setter = /*#__PURE__*/function () {function Setter() {_classCallCheck(this, Setter);_defineProperty(this, "subPriority",
  3009. 0);}_createClass(Setter, [{ key: "validate", value:
  3010. function validate(_utcDate, _options) {
  3011. return true;
  3012. } }]);return Setter;}();var
  3013. ValueSetter = /*#__PURE__*/function (_Setter2) {_inherits(ValueSetter, _Setter2);
  3014. function ValueSetter(value, validateValue, setValue, priority, subPriority) {var _this;_classCallCheck(this, ValueSetter);
  3015. _this = _callSuper(this, ValueSetter);
  3016. _this.value = value;
  3017. _this.validateValue = validateValue;
  3018. _this.setValue = setValue;
  3019. _this.priority = priority;
  3020. if (subPriority) {
  3021. _this.subPriority = subPriority;
  3022. }return _this;
  3023. }_createClass(ValueSetter, [{ key: "validate", value:
  3024. function validate(date, options) {
  3025. return this.validateValue(date, this.value, options);
  3026. } }, { key: "set", value:
  3027. function set(date, flags, options) {
  3028. return this.setValue(date, flags, this.value, options);
  3029. } }]);return ValueSetter;}(Setter);var
  3030. DateTimezoneSetter = /*#__PURE__*/function (_Setter3) {_inherits(DateTimezoneSetter, _Setter3);
  3031. function DateTimezoneSetter(context, reference) {var _this2;_classCallCheck(this, DateTimezoneSetter);
  3032. _this2 = _callSuper(this, DateTimezoneSetter);_defineProperty(_assertThisInitialized(_this2), "priority", TIMEZONE_UNIT_PRIORITY);_defineProperty(_assertThisInitialized(_this2), "subPriority", -1);
  3033. _this2.context = context || function (date) {return _constructFrom(reference, date);};return _this2;
  3034. }_createClass(DateTimezoneSetter, [{ key: "set", value:
  3035. function set(date, flags) {
  3036. if (flags.timestampIsSet)
  3037. return date;
  3038. return _constructFrom(date, _transpose(date, this.context));
  3039. } }]);return DateTimezoneSetter;}(Setter);
  3040. // lib/parse/_lib/Parser.js
  3041. var Parser = /*#__PURE__*/function () {function Parser() {_classCallCheck(this, Parser);}_createClass(Parser, [{ key: "run", value:
  3042. function run(dateString, token, match3, options) {
  3043. var result = this.parse(dateString, token, match3, options);
  3044. if (!result) {
  3045. return null;
  3046. }
  3047. return {
  3048. setter: new ValueSetter(result.value, this.validate, this.set, this.priority, this.subPriority),
  3049. rest: result.rest
  3050. };
  3051. } }, { key: "validate", value:
  3052. function validate(_utcDate, _value, _options) {
  3053. return true;
  3054. } }]);return Parser;}();
  3055. // lib/parse/_lib/parsers/EraParser.js
  3056. var EraParser = /*#__PURE__*/function (_Parser) {_inherits(EraParser, _Parser);function EraParser() {var _this3;_classCallCheck(this, EraParser);for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {args[_key2] = arguments[_key2];}_this3 = _callSuper(this, EraParser, [].concat(args));_defineProperty(_assertThisInitialized(_this3), "priority",
  3057. 140);_defineProperty(_assertThisInitialized(_this3), "incompatibleTokens",
  3058. ["R", "u", "t", "T"]);return _this3;}_createClass(EraParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "G":case "GG":case "GGG":return match3.era(dateString, { width: "abbreviated" }) || match3.era(dateString, { width: "narrow" });case "GGGGG":return match3.era(dateString, { width: "narrow" });case "GGGG":default:return match3.era(dateString, { width: "wide" }) || match3.era(dateString, { width: "abbreviated" }) || match3.era(dateString, { width: "narrow" });}} }, { key: "set", value: function set(date, flags, value) {flags.era = value;date.setFullYear(value, 0, 1);date.setHours(0, 0, 0, 0);return date;} }]);return EraParser;}(Parser);
  3059. // lib/parse/_lib/constants.js
  3060. var numericPatterns = {
  3061. month: /^(1[0-2]|0?\d)/,
  3062. date: /^(3[0-1]|[0-2]?\d)/,
  3063. dayOfYear: /^(36[0-6]|3[0-5]\d|[0-2]?\d?\d)/,
  3064. week: /^(5[0-3]|[0-4]?\d)/,
  3065. hour23h: /^(2[0-3]|[0-1]?\d)/,
  3066. hour24h: /^(2[0-4]|[0-1]?\d)/,
  3067. hour11h: /^(1[0-1]|0?\d)/,
  3068. hour12h: /^(1[0-2]|0?\d)/,
  3069. minute: /^[0-5]?\d/,
  3070. second: /^[0-5]?\d/,
  3071. singleDigit: /^\d/,
  3072. twoDigits: /^\d{1,2}/,
  3073. threeDigits: /^\d{1,3}/,
  3074. fourDigits: /^\d{1,4}/,
  3075. anyDigitsSigned: /^-?\d+/,
  3076. singleDigitSigned: /^-?\d/,
  3077. twoDigitsSigned: /^-?\d{1,2}/,
  3078. threeDigitsSigned: /^-?\d{1,3}/,
  3079. fourDigitsSigned: /^-?\d{1,4}/
  3080. };
  3081. var timezonePatterns = {
  3082. basicOptionalMinutes: /^([+-])(\d{2})(\d{2})?|Z/,
  3083. basic: /^([+-])(\d{2})(\d{2})|Z/,
  3084. basicOptionalSeconds: /^([+-])(\d{2})(\d{2})((\d{2}))?|Z/,
  3085. extended: /^([+-])(\d{2}):(\d{2})|Z/,
  3086. extendedOptionalSeconds: /^([+-])(\d{2}):(\d{2})(:(\d{2}))?|Z/
  3087. };
  3088. // lib/parse/_lib/utils.js
  3089. function mapValue(parseFnResult, mapFn) {
  3090. if (!parseFnResult) {
  3091. return parseFnResult;
  3092. }
  3093. return {
  3094. value: mapFn(parseFnResult.value),
  3095. rest: parseFnResult.rest
  3096. };
  3097. }
  3098. function parseNumericPattern(pattern, dateString) {
  3099. var matchResult = dateString.match(pattern);
  3100. if (!matchResult) {
  3101. return null;
  3102. }
  3103. return {
  3104. value: parseInt(matchResult[0], 10),
  3105. rest: dateString.slice(matchResult[0].length)
  3106. };
  3107. }
  3108. function parseTimezonePattern(pattern, dateString) {
  3109. var matchResult = dateString.match(pattern);
  3110. if (!matchResult) {
  3111. return null;
  3112. }
  3113. if (matchResult[0] === "Z") {
  3114. return {
  3115. value: 0,
  3116. rest: dateString.slice(1)
  3117. };
  3118. }
  3119. var sign = matchResult[1] === "+" ? 1 : -1;
  3120. var hours = matchResult[2] ? parseInt(matchResult[2], 10) : 0;
  3121. var minutes = matchResult[3] ? parseInt(matchResult[3], 10) : 0;
  3122. var seconds = matchResult[5] ? parseInt(matchResult[5], 10) : 0;
  3123. return {
  3124. value: sign * (hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * millisecondsInSecond),
  3125. rest: dateString.slice(matchResult[0].length)
  3126. };
  3127. }
  3128. function parseAnyDigitsSigned(dateString) {
  3129. return parseNumericPattern(numericPatterns.anyDigitsSigned, dateString);
  3130. }
  3131. function parseNDigits(n, dateString) {
  3132. switch (n) {
  3133. case 1:
  3134. return parseNumericPattern(numericPatterns.singleDigit, dateString);
  3135. case 2:
  3136. return parseNumericPattern(numericPatterns.twoDigits, dateString);
  3137. case 3:
  3138. return parseNumericPattern(numericPatterns.threeDigits, dateString);
  3139. case 4:
  3140. return parseNumericPattern(numericPatterns.fourDigits, dateString);
  3141. default:
  3142. return parseNumericPattern(new RegExp("^\\d{1," + n + "}"), dateString);
  3143. }
  3144. }
  3145. function parseNDigitsSigned(n, dateString) {
  3146. switch (n) {
  3147. case 1:
  3148. return parseNumericPattern(numericPatterns.singleDigitSigned, dateString);
  3149. case 2:
  3150. return parseNumericPattern(numericPatterns.twoDigitsSigned, dateString);
  3151. case 3:
  3152. return parseNumericPattern(numericPatterns.threeDigitsSigned, dateString);
  3153. case 4:
  3154. return parseNumericPattern(numericPatterns.fourDigitsSigned, dateString);
  3155. default:
  3156. return parseNumericPattern(new RegExp("^-?\\d{1," + n + "}"), dateString);
  3157. }
  3158. }
  3159. function dayPeriodEnumToHours(dayPeriod) {
  3160. switch (dayPeriod) {
  3161. case "morning":
  3162. return 4;
  3163. case "evening":
  3164. return 17;
  3165. case "pm":
  3166. case "noon":
  3167. case "afternoon":
  3168. return 12;
  3169. case "am":
  3170. case "midnight":
  3171. case "night":
  3172. default:
  3173. return 0;
  3174. }
  3175. }
  3176. function normalizeTwoDigitYear(twoDigitYear, currentYear) {
  3177. var isCommonEra = currentYear > 0;
  3178. var absCurrentYear = isCommonEra ? currentYear : 1 - currentYear;
  3179. var result;
  3180. if (absCurrentYear <= 50) {
  3181. result = twoDigitYear || 100;
  3182. } else {
  3183. var rangeEnd = absCurrentYear + 50;
  3184. var rangeEndCentury = Math.trunc(rangeEnd / 100) * 100;
  3185. var isPreviousCentury = twoDigitYear >= rangeEnd % 100;
  3186. result = twoDigitYear + rangeEndCentury - (isPreviousCentury ? 100 : 0);
  3187. }
  3188. return isCommonEra ? result : 1 - result;
  3189. }
  3190. function isLeapYearIndex(year) {
  3191. return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
  3192. }
  3193. // lib/parse/_lib/parsers/YearParser.js
  3194. var YearParser = /*#__PURE__*/function (_Parser2) {_inherits(YearParser, _Parser2);function YearParser() {var _this4;_classCallCheck(this, YearParser);for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {args[_key3] = arguments[_key3];}_this4 = _callSuper(this, YearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this4), "priority",
  3195. 130);_defineProperty(_assertThisInitialized(_this4), "incompatibleTokens",
  3196. ["Y", "R", "u", "w", "I", "i", "e", "c", "t", "T"]);return _this4;}_createClass(YearParser, [{ key: "parse", value:
  3197. function parse(dateString, token, match3) {
  3198. var valueCallback = function valueCallback(year) {return {
  3199. year: year,
  3200. isTwoDigitYear: token === "yy"
  3201. };};
  3202. switch (token) {
  3203. case "y":
  3204. return mapValue(parseNDigits(4, dateString), valueCallback);
  3205. case "yo":
  3206. return mapValue(match3.ordinalNumber(dateString, {
  3207. unit: "year"
  3208. }), valueCallback);
  3209. default:
  3210. return mapValue(parseNDigits(token.length, dateString), valueCallback);
  3211. }
  3212. } }, { key: "validate", value:
  3213. function validate(_date, value) {
  3214. return value.isTwoDigitYear || value.year > 0;
  3215. } }, { key: "set", value:
  3216. function set(date, flags, value) {
  3217. var currentYear = date.getFullYear();
  3218. if (value.isTwoDigitYear) {
  3219. var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);
  3220. date.setFullYear(normalizedTwoDigitYear, 0, 1);
  3221. date.setHours(0, 0, 0, 0);
  3222. return date;
  3223. }
  3224. var year = !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year;
  3225. date.setFullYear(year, 0, 1);
  3226. date.setHours(0, 0, 0, 0);
  3227. return date;
  3228. } }]);return YearParser;}(Parser);
  3229. // lib/parse/_lib/parsers/LocalWeekYearParser.js
  3230. var LocalWeekYearParser = /*#__PURE__*/function (_Parser3) {_inherits(LocalWeekYearParser, _Parser3);function LocalWeekYearParser() {var _this5;_classCallCheck(this, LocalWeekYearParser);for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {args[_key4] = arguments[_key4];}_this5 = _callSuper(this, LocalWeekYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this5), "priority",
  3231. 130);_defineProperty(_assertThisInitialized(_this5), "incompatibleTokens",
  3232. [
  3233. "y",
  3234. "R",
  3235. "u",
  3236. "Q",
  3237. "q",
  3238. "M",
  3239. "L",
  3240. "I",
  3241. "d",
  3242. "D",
  3243. "i",
  3244. "t",
  3245. "T"]);return _this5;}_createClass(LocalWeekYearParser, [{ key: "parse", value: function parse(dateString, token, match3) {var valueCallback = function valueCallback(year) {return { year: year, isTwoDigitYear: token === "YY" };};switch (token) {case "Y":return mapValue(parseNDigits(4, dateString), valueCallback);case "Yo":return mapValue(match3.ordinalNumber(dateString, { unit: "year" }), valueCallback);default:return mapValue(parseNDigits(token.length, dateString), valueCallback);}} }, { key: "validate", value: function validate(_date, value) {return value.isTwoDigitYear || value.year > 0;} }, { key: "set", value: function set(date, flags, value, options) {var currentYear = _getWeekYear(date, options);if (value.isTwoDigitYear) {var normalizedTwoDigitYear = normalizeTwoDigitYear(value.year, currentYear);date.setFullYear(normalizedTwoDigitYear, 0, options.firstWeekContainsDate);date.setHours(0, 0, 0, 0);return _startOfWeek(date, options);}var year = !("era" in flags) || flags.era === 1 ? value.year : 1 - value.year;date.setFullYear(year, 0, options.firstWeekContainsDate);date.setHours(0, 0, 0, 0);return _startOfWeek(date, options);} }]);return LocalWeekYearParser;}(Parser);
  3246. // lib/parse/_lib/parsers/ISOWeekYearParser.js
  3247. var ISOWeekYearParser = /*#__PURE__*/function (_Parser4) {_inherits(ISOWeekYearParser, _Parser4);function ISOWeekYearParser() {var _this6;_classCallCheck(this, ISOWeekYearParser);for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {args[_key5] = arguments[_key5];}_this6 = _callSuper(this, ISOWeekYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this6), "priority",
  3248. 130);_defineProperty(_assertThisInitialized(_this6), "incompatibleTokens",
  3249. [
  3250. "G",
  3251. "y",
  3252. "Y",
  3253. "u",
  3254. "Q",
  3255. "q",
  3256. "M",
  3257. "L",
  3258. "w",
  3259. "d",
  3260. "D",
  3261. "e",
  3262. "c",
  3263. "t",
  3264. "T"]);return _this6;}_createClass(ISOWeekYearParser, [{ key: "parse", value: function parse(dateString, token) {if (token === "R") {return parseNDigitsSigned(4, dateString);}return parseNDigitsSigned(token.length, dateString);} }, { key: "set", value: function set(date, _flags, value) {var firstWeekOfYear = _constructFrom(date, 0);firstWeekOfYear.setFullYear(value, 0, 4);firstWeekOfYear.setHours(0, 0, 0, 0);return _startOfISOWeek(firstWeekOfYear);} }]);return ISOWeekYearParser;}(Parser);
  3265. // lib/parse/_lib/parsers/ExtendedYearParser.js
  3266. var ExtendedYearParser = /*#__PURE__*/function (_Parser5) {_inherits(ExtendedYearParser, _Parser5);function ExtendedYearParser() {var _this7;_classCallCheck(this, ExtendedYearParser);for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {args[_key6] = arguments[_key6];}_this7 = _callSuper(this, ExtendedYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this7), "priority",
  3267. 130);_defineProperty(_assertThisInitialized(_this7), "incompatibleTokens",
  3268. ["G", "y", "Y", "R", "w", "I", "i", "e", "c", "t", "T"]);return _this7;}_createClass(ExtendedYearParser, [{ key: "parse", value: function parse(dateString, token) {if (token === "u") {return parseNDigitsSigned(4, dateString);}return parseNDigitsSigned(token.length, dateString);} }, { key: "set", value: function set(date, _flags, value) {date.setFullYear(value, 0, 1);date.setHours(0, 0, 0, 0);return date;} }]);return ExtendedYearParser;}(Parser);
  3269. // lib/parse/_lib/parsers/QuarterParser.js
  3270. var QuarterParser = /*#__PURE__*/function (_Parser6) {_inherits(QuarterParser, _Parser6);function QuarterParser() {var _this8;_classCallCheck(this, QuarterParser);for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {args[_key7] = arguments[_key7];}_this8 = _callSuper(this, QuarterParser, [].concat(args));_defineProperty(_assertThisInitialized(_this8), "priority",
  3271. 120);_defineProperty(_assertThisInitialized(_this8), "incompatibleTokens",
  3272. [
  3273. "Y",
  3274. "R",
  3275. "q",
  3276. "M",
  3277. "L",
  3278. "w",
  3279. "I",
  3280. "d",
  3281. "D",
  3282. "i",
  3283. "e",
  3284. "c",
  3285. "t",
  3286. "T"]);return _this8;}_createClass(QuarterParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "Q":case "QQ":return parseNDigits(token.length, dateString);case "Qo":return match3.ordinalNumber(dateString, { unit: "quarter" });case "QQQ":return match3.quarter(dateString, { width: "abbreviated", context: "formatting" }) || match3.quarter(dateString, { width: "narrow", context: "formatting" });case "QQQQQ":return match3.quarter(dateString, { width: "narrow", context: "formatting" });case "QQQQ":default:return match3.quarter(dateString, { width: "wide", context: "formatting" }) || match3.quarter(dateString, { width: "abbreviated", context: "formatting" }) || match3.quarter(dateString, { width: "narrow", context: "formatting" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 4;} }, { key: "set", value: function set(date, _flags, value) {date.setMonth((value - 1) * 3, 1);date.setHours(0, 0, 0, 0);return date;} }]);return QuarterParser;}(Parser);
  3287. // lib/parse/_lib/parsers/StandAloneQuarterParser.js
  3288. var StandAloneQuarterParser = /*#__PURE__*/function (_Parser7) {_inherits(StandAloneQuarterParser, _Parser7);function StandAloneQuarterParser() {var _this9;_classCallCheck(this, StandAloneQuarterParser);for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {args[_key8] = arguments[_key8];}_this9 = _callSuper(this, StandAloneQuarterParser, [].concat(args));_defineProperty(_assertThisInitialized(_this9), "priority",
  3289. 120);_defineProperty(_assertThisInitialized(_this9), "incompatibleTokens",
  3290. [
  3291. "Y",
  3292. "R",
  3293. "Q",
  3294. "M",
  3295. "L",
  3296. "w",
  3297. "I",
  3298. "d",
  3299. "D",
  3300. "i",
  3301. "e",
  3302. "c",
  3303. "t",
  3304. "T"]);return _this9;}_createClass(StandAloneQuarterParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "q":case "qq":return parseNDigits(token.length, dateString);case "qo":return match3.ordinalNumber(dateString, { unit: "quarter" });case "qqq":return match3.quarter(dateString, { width: "abbreviated", context: "standalone" }) || match3.quarter(dateString, { width: "narrow", context: "standalone" });case "qqqqq":return match3.quarter(dateString, { width: "narrow", context: "standalone" });case "qqqq":default:return match3.quarter(dateString, { width: "wide", context: "standalone" }) || match3.quarter(dateString, { width: "abbreviated", context: "standalone" }) || match3.quarter(dateString, { width: "narrow", context: "standalone" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 4;} }, { key: "set", value: function set(date, _flags, value) {date.setMonth((value - 1) * 3, 1);date.setHours(0, 0, 0, 0);return date;} }]);return StandAloneQuarterParser;}(Parser);
  3305. // lib/parse/_lib/parsers/MonthParser.js
  3306. var MonthParser = /*#__PURE__*/function (_Parser8) {_inherits(MonthParser, _Parser8);function MonthParser() {var _this10;_classCallCheck(this, MonthParser);for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {args[_key9] = arguments[_key9];}_this10 = _callSuper(this, MonthParser, [].concat(args));_defineProperty(_assertThisInitialized(_this10), "incompatibleTokens",
  3307. [
  3308. "Y",
  3309. "R",
  3310. "q",
  3311. "Q",
  3312. "L",
  3313. "w",
  3314. "I",
  3315. "D",
  3316. "i",
  3317. "e",
  3318. "c",
  3319. "t",
  3320. "T"]);_defineProperty(_assertThisInitialized(_this10), "priority",
  3321. 110);return _this10;}_createClass(MonthParser, [{ key: "parse", value:
  3322. function parse(dateString, token, match3) {
  3323. var valueCallback = function valueCallback(value) {return value - 1;};
  3324. switch (token) {
  3325. case "M":
  3326. return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);
  3327. case "MM":
  3328. return mapValue(parseNDigits(2, dateString), valueCallback);
  3329. case "Mo":
  3330. return mapValue(match3.ordinalNumber(dateString, {
  3331. unit: "month"
  3332. }), valueCallback);
  3333. case "MMM":
  3334. return match3.month(dateString, {
  3335. width: "abbreviated",
  3336. context: "formatting"
  3337. }) || match3.month(dateString, { width: "narrow", context: "formatting" });
  3338. case "MMMMM":
  3339. return match3.month(dateString, {
  3340. width: "narrow",
  3341. context: "formatting"
  3342. });
  3343. case "MMMM":
  3344. default:
  3345. return match3.month(dateString, { width: "wide", context: "formatting" }) || match3.month(dateString, {
  3346. width: "abbreviated",
  3347. context: "formatting"
  3348. }) || match3.month(dateString, { width: "narrow", context: "formatting" });
  3349. }
  3350. } }, { key: "validate", value:
  3351. function validate(_date, value) {
  3352. return value >= 0 && value <= 11;
  3353. } }, { key: "set", value:
  3354. function set(date, _flags, value) {
  3355. date.setMonth(value, 1);
  3356. date.setHours(0, 0, 0, 0);
  3357. return date;
  3358. } }]);return MonthParser;}(Parser);
  3359. // lib/parse/_lib/parsers/StandAloneMonthParser.js
  3360. var StandAloneMonthParser = /*#__PURE__*/function (_Parser9) {_inherits(StandAloneMonthParser, _Parser9);function StandAloneMonthParser() {var _this11;_classCallCheck(this, StandAloneMonthParser);for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {args[_key10] = arguments[_key10];}_this11 = _callSuper(this, StandAloneMonthParser, [].concat(args));_defineProperty(_assertThisInitialized(_this11), "priority",
  3361. 110);_defineProperty(_assertThisInitialized(_this11), "incompatibleTokens",
  3362. [
  3363. "Y",
  3364. "R",
  3365. "q",
  3366. "Q",
  3367. "M",
  3368. "w",
  3369. "I",
  3370. "D",
  3371. "i",
  3372. "e",
  3373. "c",
  3374. "t",
  3375. "T"]);return _this11;}_createClass(StandAloneMonthParser, [{ key: "parse", value: function parse(dateString, token, match3) {var valueCallback = function valueCallback(value) {return value - 1;};switch (token) {case "L":return mapValue(parseNumericPattern(numericPatterns.month, dateString), valueCallback);case "LL":return mapValue(parseNDigits(2, dateString), valueCallback);case "Lo":return mapValue(match3.ordinalNumber(dateString, { unit: "month" }), valueCallback);case "LLL":return match3.month(dateString, { width: "abbreviated", context: "standalone" }) || match3.month(dateString, { width: "narrow", context: "standalone" });case "LLLLL":return match3.month(dateString, { width: "narrow", context: "standalone" });case "LLLL":default:return match3.month(dateString, { width: "wide", context: "standalone" }) || match3.month(dateString, { width: "abbreviated", context: "standalone" }) || match3.month(dateString, { width: "narrow", context: "standalone" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 11;} }, { key: "set", value: function set(date, _flags, value) {date.setMonth(value, 1);date.setHours(0, 0, 0, 0);return date;} }]);return StandAloneMonthParser;}(Parser);
  3376. // lib/setWeek.js
  3377. function _setWeek(date, week, options) {
  3378. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3379. var diff = _getWeek(date_, options) - week;
  3380. date_.setDate(date_.getDate() - diff * 7);
  3381. return _toDate(date_, options === null || options === void 0 ? void 0 : options.in);
  3382. }
  3383. // lib/parse/_lib/parsers/LocalWeekParser.js
  3384. var LocalWeekParser = /*#__PURE__*/function (_Parser10) {_inherits(LocalWeekParser, _Parser10);function LocalWeekParser() {var _this12;_classCallCheck(this, LocalWeekParser);for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) {args[_key11] = arguments[_key11];}_this12 = _callSuper(this, LocalWeekParser, [].concat(args));_defineProperty(_assertThisInitialized(_this12), "priority",
  3385. 100);_defineProperty(_assertThisInitialized(_this12), "incompatibleTokens",
  3386. [
  3387. "y",
  3388. "R",
  3389. "u",
  3390. "q",
  3391. "Q",
  3392. "M",
  3393. "L",
  3394. "I",
  3395. "d",
  3396. "D",
  3397. "i",
  3398. "t",
  3399. "T"]);return _this12;}_createClass(LocalWeekParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "w":return parseNumericPattern(numericPatterns.week, dateString);case "wo":return match3.ordinalNumber(dateString, { unit: "week" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 53;} }, { key: "set", value: function set(date, _flags, value, options) {return _startOfWeek(_setWeek(date, value, options), options);} }]);return LocalWeekParser;}(Parser);
  3400. // lib/setISOWeek.js
  3401. function _setISOWeek(date, week, options) {
  3402. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3403. var diff = _getISOWeek(_date, options) - week;
  3404. _date.setDate(_date.getDate() - diff * 7);
  3405. return _date;
  3406. }
  3407. // lib/parse/_lib/parsers/ISOWeekParser.js
  3408. var ISOWeekParser = /*#__PURE__*/function (_Parser11) {_inherits(ISOWeekParser, _Parser11);function ISOWeekParser() {var _this13;_classCallCheck(this, ISOWeekParser);for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) {args[_key12] = arguments[_key12];}_this13 = _callSuper(this, ISOWeekParser, [].concat(args));_defineProperty(_assertThisInitialized(_this13), "priority",
  3409. 100);_defineProperty(_assertThisInitialized(_this13), "incompatibleTokens",
  3410. [
  3411. "y",
  3412. "Y",
  3413. "u",
  3414. "q",
  3415. "Q",
  3416. "M",
  3417. "L",
  3418. "w",
  3419. "d",
  3420. "D",
  3421. "e",
  3422. "c",
  3423. "t",
  3424. "T"]);return _this13;}_createClass(ISOWeekParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "I":return parseNumericPattern(numericPatterns.week, dateString);case "Io":return match3.ordinalNumber(dateString, { unit: "week" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 53;} }, { key: "set", value: function set(date, _flags, value) {return _startOfISOWeek(_setISOWeek(date, value));} }]);return ISOWeekParser;}(Parser);
  3425. // lib/parse/_lib/parsers/DateParser.js
  3426. var DAYS_IN_MONTH = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  3427. var DAYS_IN_MONTH_LEAP_YEAR = [
  3428. 31,
  3429. 29,
  3430. 31,
  3431. 30,
  3432. 31,
  3433. 30,
  3434. 31,
  3435. 31,
  3436. 30,
  3437. 31,
  3438. 30,
  3439. 31];var
  3440. DateParser = /*#__PURE__*/function (_Parser12) {_inherits(DateParser, _Parser12);function DateParser() {var _this14;_classCallCheck(this, DateParser);for (var _len13 = arguments.length, args = new Array(_len13), _key13 = 0; _key13 < _len13; _key13++) {args[_key13] = arguments[_key13];}_this14 = _callSuper(this, DateParser, [].concat(args));_defineProperty(_assertThisInitialized(_this14), "priority",
  3441. 90);_defineProperty(_assertThisInitialized(_this14), "subPriority",
  3442. 1);_defineProperty(_assertThisInitialized(_this14), "incompatibleTokens",
  3443. [
  3444. "Y",
  3445. "R",
  3446. "q",
  3447. "Q",
  3448. "w",
  3449. "I",
  3450. "D",
  3451. "i",
  3452. "e",
  3453. "c",
  3454. "t",
  3455. "T"]);return _this14;}_createClass(DateParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "d":return parseNumericPattern(numericPatterns.date, dateString);case "do":return match3.ordinalNumber(dateString, { unit: "date" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(date, value) {var year = date.getFullYear();var isLeapYear3 = isLeapYearIndex(year);var month = date.getMonth();if (isLeapYear3) {return value >= 1 && value <= DAYS_IN_MONTH_LEAP_YEAR[month];} else {return value >= 1 && value <= DAYS_IN_MONTH[month];}} }, { key: "set", value: function set(date, _flags, value) {date.setDate(value);date.setHours(0, 0, 0, 0);return date;} }]);return DateParser;}(Parser);
  3456. // lib/parse/_lib/parsers/DayOfYearParser.js
  3457. var DayOfYearParser = /*#__PURE__*/function (_Parser13) {_inherits(DayOfYearParser, _Parser13);function DayOfYearParser() {var _this15;_classCallCheck(this, DayOfYearParser);for (var _len14 = arguments.length, args = new Array(_len14), _key14 = 0; _key14 < _len14; _key14++) {args[_key14] = arguments[_key14];}_this15 = _callSuper(this, DayOfYearParser, [].concat(args));_defineProperty(_assertThisInitialized(_this15), "priority",
  3458. 90);_defineProperty(_assertThisInitialized(_this15), "subpriority",
  3459. 1);_defineProperty(_assertThisInitialized(_this15), "incompatibleTokens",
  3460. [
  3461. "Y",
  3462. "R",
  3463. "q",
  3464. "Q",
  3465. "M",
  3466. "L",
  3467. "w",
  3468. "I",
  3469. "d",
  3470. "E",
  3471. "i",
  3472. "e",
  3473. "c",
  3474. "t",
  3475. "T"]);return _this15;}_createClass(DayOfYearParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "D":case "DD":return parseNumericPattern(numericPatterns.dayOfYear, dateString);case "Do":return match3.ordinalNumber(dateString, { unit: "date" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(date, value) {var year = date.getFullYear();var isLeapYear3 = isLeapYearIndex(year);if (isLeapYear3) {return value >= 1 && value <= 366;} else {return value >= 1 && value <= 365;}} }, { key: "set", value: function set(date, _flags, value) {date.setMonth(0, value);date.setHours(0, 0, 0, 0);return date;} }]);return DayOfYearParser;}(Parser);
  3476. // lib/setDay.js
  3477. function _setDay(date, day, options) {var _ref30, _ref31, _ref32, _options$weekStartsOn6, _options$locale14, _defaultOptions14$loc;
  3478. var defaultOptions14 = getDefaultOptions();
  3479. var weekStartsOn = (_ref30 = (_ref31 = (_ref32 = (_options$weekStartsOn6 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn6 !== void 0 ? _options$weekStartsOn6 : options === null || options === void 0 || (_options$locale14 = options.locale) === null || _options$locale14 === void 0 || (_options$locale14 = _options$locale14.options) === null || _options$locale14 === void 0 ? void 0 : _options$locale14.weekStartsOn) !== null && _ref32 !== void 0 ? _ref32 : defaultOptions14.weekStartsOn) !== null && _ref31 !== void 0 ? _ref31 : (_defaultOptions14$loc = defaultOptions14.locale) === null || _defaultOptions14$loc === void 0 || (_defaultOptions14$loc = _defaultOptions14$loc.options) === null || _defaultOptions14$loc === void 0 ? void 0 : _defaultOptions14$loc.weekStartsOn) !== null && _ref30 !== void 0 ? _ref30 : 0;
  3480. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3481. var currentDay = date_.getDay();
  3482. var remainder = day % 7;
  3483. var dayIndex = (remainder + 7) % 7;
  3484. var delta = 7 - weekStartsOn;
  3485. var diff = day < 0 || day > 6 ? day - (currentDay + delta) % 7 : (dayIndex + delta) % 7 - (currentDay + delta) % 7;
  3486. return _addDays(date_, diff, options);
  3487. }
  3488. // lib/parse/_lib/parsers/DayParser.js
  3489. var DayParser = /*#__PURE__*/function (_Parser14) {_inherits(DayParser, _Parser14);function DayParser() {var _this16;_classCallCheck(this, DayParser);for (var _len15 = arguments.length, args = new Array(_len15), _key15 = 0; _key15 < _len15; _key15++) {args[_key15] = arguments[_key15];}_this16 = _callSuper(this, DayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this16), "priority",
  3490. 90);_defineProperty(_assertThisInitialized(_this16), "incompatibleTokens",
  3491. ["D", "i", "e", "c", "t", "T"]);return _this16;}_createClass(DayParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "E":case "EE":case "EEE":return match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "EEEEE":return match3.day(dateString, { width: "narrow", context: "formatting" });case "EEEEEE":return match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "EEEE":default:return match3.day(dateString, { width: "wide", context: "formatting" }) || match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 6;} }, { key: "set", value: function set(date, _flags, value, options) {date = _setDay(date, value, options);date.setHours(0, 0, 0, 0);return date;} }]);return DayParser;}(Parser);
  3492. // lib/parse/_lib/parsers/LocalDayParser.js
  3493. var LocalDayParser = /*#__PURE__*/function (_Parser15) {_inherits(LocalDayParser, _Parser15);function LocalDayParser() {var _this17;_classCallCheck(this, LocalDayParser);for (var _len16 = arguments.length, args = new Array(_len16), _key16 = 0; _key16 < _len16; _key16++) {args[_key16] = arguments[_key16];}_this17 = _callSuper(this, LocalDayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this17), "priority",
  3494. 90);_defineProperty(_assertThisInitialized(_this17), "incompatibleTokens",
  3495. [
  3496. "y",
  3497. "R",
  3498. "u",
  3499. "q",
  3500. "Q",
  3501. "M",
  3502. "L",
  3503. "I",
  3504. "d",
  3505. "D",
  3506. "E",
  3507. "i",
  3508. "c",
  3509. "t",
  3510. "T"]);return _this17;}_createClass(LocalDayParser, [{ key: "parse", value: function parse(dateString, token, match3, options) {var valueCallback = function valueCallback(value) {var wholeWeekDays = Math.floor((value - 1) / 7) * 7;return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;};switch (token) {case "e":case "ee":return mapValue(parseNDigits(token.length, dateString), valueCallback);case "eo":return mapValue(match3.ordinalNumber(dateString, { unit: "day" }), valueCallback);case "eee":return match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "eeeee":return match3.day(dateString, { width: "narrow", context: "formatting" });case "eeeeee":return match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });case "eeee":default:return match3.day(dateString, { width: "wide", context: "formatting" }) || match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 6;} }, { key: "set", value: function set(date, _flags, value, options) {date = _setDay(date, value, options);date.setHours(0, 0, 0, 0);return date;} }]);return LocalDayParser;}(Parser);
  3511. // lib/parse/_lib/parsers/StandAloneLocalDayParser.js
  3512. var StandAloneLocalDayParser = /*#__PURE__*/function (_Parser16) {_inherits(StandAloneLocalDayParser, _Parser16);function StandAloneLocalDayParser() {var _this18;_classCallCheck(this, StandAloneLocalDayParser);for (var _len17 = arguments.length, args = new Array(_len17), _key17 = 0; _key17 < _len17; _key17++) {args[_key17] = arguments[_key17];}_this18 = _callSuper(this, StandAloneLocalDayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this18), "priority",
  3513. 90);_defineProperty(_assertThisInitialized(_this18), "incompatibleTokens",
  3514. [
  3515. "y",
  3516. "R",
  3517. "u",
  3518. "q",
  3519. "Q",
  3520. "M",
  3521. "L",
  3522. "I",
  3523. "d",
  3524. "D",
  3525. "E",
  3526. "i",
  3527. "e",
  3528. "t",
  3529. "T"]);return _this18;}_createClass(StandAloneLocalDayParser, [{ key: "parse", value: function parse(dateString, token, match3, options) {var valueCallback = function valueCallback(value) {var wholeWeekDays = Math.floor((value - 1) / 7) * 7;return (value + options.weekStartsOn + 6) % 7 + wholeWeekDays;};switch (token) {case "c":case "cc":return mapValue(parseNDigits(token.length, dateString), valueCallback);case "co":return mapValue(match3.ordinalNumber(dateString, { unit: "day" }), valueCallback);case "ccc":return match3.day(dateString, { width: "abbreviated", context: "standalone" }) || match3.day(dateString, { width: "short", context: "standalone" }) || match3.day(dateString, { width: "narrow", context: "standalone" });case "ccccc":return match3.day(dateString, { width: "narrow", context: "standalone" });case "cccccc":return match3.day(dateString, { width: "short", context: "standalone" }) || match3.day(dateString, { width: "narrow", context: "standalone" });case "cccc":default:return match3.day(dateString, { width: "wide", context: "standalone" }) || match3.day(dateString, { width: "abbreviated", context: "standalone" }) || match3.day(dateString, { width: "short", context: "standalone" }) || match3.day(dateString, { width: "narrow", context: "standalone" });}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 6;} }, { key: "set", value: function set(date, _flags, value, options) {date = _setDay(date, value, options);date.setHours(0, 0, 0, 0);return date;} }]);return StandAloneLocalDayParser;}(Parser);
  3530. // lib/setISODay.js
  3531. function _setISODay(date, day, options) {
  3532. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3533. var currentDay = _getISODay(date_, options);
  3534. var diff = day - currentDay;
  3535. return _addDays(date_, diff, options);
  3536. }
  3537. // lib/parse/_lib/parsers/ISODayParser.js
  3538. var ISODayParser = /*#__PURE__*/function (_Parser17) {_inherits(ISODayParser, _Parser17);function ISODayParser() {var _this19;_classCallCheck(this, ISODayParser);for (var _len18 = arguments.length, args = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {args[_key18] = arguments[_key18];}_this19 = _callSuper(this, ISODayParser, [].concat(args));_defineProperty(_assertThisInitialized(_this19), "priority",
  3539. 90);_defineProperty(_assertThisInitialized(_this19), "incompatibleTokens",
  3540. [
  3541. "y",
  3542. "Y",
  3543. "u",
  3544. "q",
  3545. "Q",
  3546. "M",
  3547. "L",
  3548. "w",
  3549. "d",
  3550. "D",
  3551. "E",
  3552. "e",
  3553. "c",
  3554. "t",
  3555. "T"]);return _this19;}_createClass(ISODayParser, [{ key: "parse", value: function parse(dateString, token, match3) {var valueCallback = function valueCallback(value) {if (value === 0) {return 7;}return value;};switch (token) {case "i":case "ii":return parseNDigits(token.length, dateString);case "io":return match3.ordinalNumber(dateString, { unit: "day" });case "iii":return mapValue(match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);case "iiiii":return mapValue(match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);case "iiiiii":return mapValue(match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);case "iiii":default:return mapValue(match3.day(dateString, { width: "wide", context: "formatting" }) || match3.day(dateString, { width: "abbreviated", context: "formatting" }) || match3.day(dateString, { width: "short", context: "formatting" }) || match3.day(dateString, { width: "narrow", context: "formatting" }), valueCallback);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 7;} }, { key: "set", value: function set(date, _flags, value) {date = _setISODay(date, value);date.setHours(0, 0, 0, 0);return date;} }]);return ISODayParser;}(Parser);
  3556. // lib/parse/_lib/parsers/AMPMParser.js
  3557. var AMPMParser = /*#__PURE__*/function (_Parser18) {_inherits(AMPMParser, _Parser18);function AMPMParser() {var _this20;_classCallCheck(this, AMPMParser);for (var _len19 = arguments.length, args = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {args[_key19] = arguments[_key19];}_this20 = _callSuper(this, AMPMParser, [].concat(args));_defineProperty(_assertThisInitialized(_this20), "priority",
  3558. 80);_defineProperty(_assertThisInitialized(_this20), "incompatibleTokens",
  3559. ["b", "B", "H", "k", "t", "T"]);return _this20;}_createClass(AMPMParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "a":case "aa":case "aaa":return match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "aaaaa":return match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "aaaa":default:return match3.dayPeriod(dateString, { width: "wide", context: "formatting" }) || match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });}} }, { key: "set", value: function set(date, _flags, value) {date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);return date;} }]);return AMPMParser;}(Parser);
  3560. // lib/parse/_lib/parsers/AMPMMidnightParser.js
  3561. var AMPMMidnightParser = /*#__PURE__*/function (_Parser19) {_inherits(AMPMMidnightParser, _Parser19);function AMPMMidnightParser() {var _this21;_classCallCheck(this, AMPMMidnightParser);for (var _len20 = arguments.length, args = new Array(_len20), _key20 = 0; _key20 < _len20; _key20++) {args[_key20] = arguments[_key20];}_this21 = _callSuper(this, AMPMMidnightParser, [].concat(args));_defineProperty(_assertThisInitialized(_this21), "priority",
  3562. 80);_defineProperty(_assertThisInitialized(_this21), "incompatibleTokens",
  3563. ["a", "B", "H", "k", "t", "T"]);return _this21;}_createClass(AMPMMidnightParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "b":case "bb":case "bbb":return match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "bbbbb":return match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "bbbb":default:return match3.dayPeriod(dateString, { width: "wide", context: "formatting" }) || match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });}} }, { key: "set", value: function set(date, _flags, value) {date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);return date;} }]);return AMPMMidnightParser;}(Parser);
  3564. // lib/parse/_lib/parsers/DayPeriodParser.js
  3565. var DayPeriodParser = /*#__PURE__*/function (_Parser20) {_inherits(DayPeriodParser, _Parser20);function DayPeriodParser() {var _this22;_classCallCheck(this, DayPeriodParser);for (var _len21 = arguments.length, args = new Array(_len21), _key21 = 0; _key21 < _len21; _key21++) {args[_key21] = arguments[_key21];}_this22 = _callSuper(this, DayPeriodParser, [].concat(args));_defineProperty(_assertThisInitialized(_this22), "priority",
  3566. 80);_defineProperty(_assertThisInitialized(_this22), "incompatibleTokens",
  3567. ["a", "b", "t", "T"]);return _this22;}_createClass(DayPeriodParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "B":case "BB":case "BBB":return match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "BBBBB":return match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });case "BBBB":default:return match3.dayPeriod(dateString, { width: "wide", context: "formatting" }) || match3.dayPeriod(dateString, { width: "abbreviated", context: "formatting" }) || match3.dayPeriod(dateString, { width: "narrow", context: "formatting" });}} }, { key: "set", value: function set(date, _flags, value) {date.setHours(dayPeriodEnumToHours(value), 0, 0, 0);return date;} }]);return DayPeriodParser;}(Parser);
  3568. // lib/parse/_lib/parsers/Hour1to12Parser.js
  3569. var Hour1to12Parser = /*#__PURE__*/function (_Parser21) {_inherits(Hour1to12Parser, _Parser21);function Hour1to12Parser() {var _this23;_classCallCheck(this, Hour1to12Parser);for (var _len22 = arguments.length, args = new Array(_len22), _key22 = 0; _key22 < _len22; _key22++) {args[_key22] = arguments[_key22];}_this23 = _callSuper(this, Hour1to12Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this23), "priority",
  3570. 70);_defineProperty(_assertThisInitialized(_this23), "incompatibleTokens",
  3571. ["H", "K", "k", "t", "T"]);return _this23;}_createClass(Hour1to12Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "h":return parseNumericPattern(numericPatterns.hour12h, dateString);case "ho":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 12;} }, { key: "set", value: function set(date, _flags, value) {var isPM = date.getHours() >= 12;if (isPM && value < 12) {date.setHours(value + 12, 0, 0, 0);} else if (!isPM && value === 12) {date.setHours(0, 0, 0, 0);} else {date.setHours(value, 0, 0, 0);}return date;} }]);return Hour1to12Parser;}(Parser);
  3572. // lib/parse/_lib/parsers/Hour0to23Parser.js
  3573. var Hour0to23Parser = /*#__PURE__*/function (_Parser22) {_inherits(Hour0to23Parser, _Parser22);function Hour0to23Parser() {var _this24;_classCallCheck(this, Hour0to23Parser);for (var _len23 = arguments.length, args = new Array(_len23), _key23 = 0; _key23 < _len23; _key23++) {args[_key23] = arguments[_key23];}_this24 = _callSuper(this, Hour0to23Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this24), "priority",
  3574. 70);_defineProperty(_assertThisInitialized(_this24), "incompatibleTokens",
  3575. ["a", "b", "h", "K", "k", "t", "T"]);return _this24;}_createClass(Hour0to23Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "H":return parseNumericPattern(numericPatterns.hour23h, dateString);case "Ho":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 23;} }, { key: "set", value: function set(date, _flags, value) {date.setHours(value, 0, 0, 0);return date;} }]);return Hour0to23Parser;}(Parser);
  3576. // lib/parse/_lib/parsers/Hour0To11Parser.js
  3577. var Hour0To11Parser = /*#__PURE__*/function (_Parser23) {_inherits(Hour0To11Parser, _Parser23);function Hour0To11Parser() {var _this25;_classCallCheck(this, Hour0To11Parser);for (var _len24 = arguments.length, args = new Array(_len24), _key24 = 0; _key24 < _len24; _key24++) {args[_key24] = arguments[_key24];}_this25 = _callSuper(this, Hour0To11Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this25), "priority",
  3578. 70);_defineProperty(_assertThisInitialized(_this25), "incompatibleTokens",
  3579. ["h", "H", "k", "t", "T"]);return _this25;}_createClass(Hour0To11Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "K":return parseNumericPattern(numericPatterns.hour11h, dateString);case "Ko":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 11;} }, { key: "set", value: function set(date, _flags, value) {var isPM = date.getHours() >= 12;if (isPM && value < 12) {date.setHours(value + 12, 0, 0, 0);} else {date.setHours(value, 0, 0, 0);}return date;} }]);return Hour0To11Parser;}(Parser);
  3580. // lib/parse/_lib/parsers/Hour1To24Parser.js
  3581. var Hour1To24Parser = /*#__PURE__*/function (_Parser24) {_inherits(Hour1To24Parser, _Parser24);function Hour1To24Parser() {var _this26;_classCallCheck(this, Hour1To24Parser);for (var _len25 = arguments.length, args = new Array(_len25), _key25 = 0; _key25 < _len25; _key25++) {args[_key25] = arguments[_key25];}_this26 = _callSuper(this, Hour1To24Parser, [].concat(args));_defineProperty(_assertThisInitialized(_this26), "priority",
  3582. 70);_defineProperty(_assertThisInitialized(_this26), "incompatibleTokens",
  3583. ["a", "b", "h", "H", "K", "t", "T"]);return _this26;}_createClass(Hour1To24Parser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "k":return parseNumericPattern(numericPatterns.hour24h, dateString);case "ko":return match3.ordinalNumber(dateString, { unit: "hour" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 1 && value <= 24;} }, { key: "set", value: function set(date, _flags, value) {var hours = value <= 24 ? value % 24 : value;date.setHours(hours, 0, 0, 0);return date;} }]);return Hour1To24Parser;}(Parser);
  3584. // lib/parse/_lib/parsers/MinuteParser.js
  3585. var MinuteParser = /*#__PURE__*/function (_Parser25) {_inherits(MinuteParser, _Parser25);function MinuteParser() {var _this27;_classCallCheck(this, MinuteParser);for (var _len26 = arguments.length, args = new Array(_len26), _key26 = 0; _key26 < _len26; _key26++) {args[_key26] = arguments[_key26];}_this27 = _callSuper(this, MinuteParser, [].concat(args));_defineProperty(_assertThisInitialized(_this27), "priority",
  3586. 60);_defineProperty(_assertThisInitialized(_this27), "incompatibleTokens",
  3587. ["t", "T"]);return _this27;}_createClass(MinuteParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "m":return parseNumericPattern(numericPatterns.minute, dateString);case "mo":return match3.ordinalNumber(dateString, { unit: "minute" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 59;} }, { key: "set", value: function set(date, _flags, value) {date.setMinutes(value, 0, 0);return date;} }]);return MinuteParser;}(Parser);
  3588. // lib/parse/_lib/parsers/SecondParser.js
  3589. var SecondParser = /*#__PURE__*/function (_Parser26) {_inherits(SecondParser, _Parser26);function SecondParser() {var _this28;_classCallCheck(this, SecondParser);for (var _len27 = arguments.length, args = new Array(_len27), _key27 = 0; _key27 < _len27; _key27++) {args[_key27] = arguments[_key27];}_this28 = _callSuper(this, SecondParser, [].concat(args));_defineProperty(_assertThisInitialized(_this28), "priority",
  3590. 50);_defineProperty(_assertThisInitialized(_this28), "incompatibleTokens",
  3591. ["t", "T"]);return _this28;}_createClass(SecondParser, [{ key: "parse", value: function parse(dateString, token, match3) {switch (token) {case "s":return parseNumericPattern(numericPatterns.second, dateString);case "so":return match3.ordinalNumber(dateString, { unit: "second" });default:return parseNDigits(token.length, dateString);}} }, { key: "validate", value: function validate(_date, value) {return value >= 0 && value <= 59;} }, { key: "set", value: function set(date, _flags, value) {date.setSeconds(value, 0);return date;} }]);return SecondParser;}(Parser);
  3592. // lib/parse/_lib/parsers/FractionOfSecondParser.js
  3593. var FractionOfSecondParser = /*#__PURE__*/function (_Parser27) {_inherits(FractionOfSecondParser, _Parser27);function FractionOfSecondParser() {var _this29;_classCallCheck(this, FractionOfSecondParser);for (var _len28 = arguments.length, args = new Array(_len28), _key28 = 0; _key28 < _len28; _key28++) {args[_key28] = arguments[_key28];}_this29 = _callSuper(this, FractionOfSecondParser, [].concat(args));_defineProperty(_assertThisInitialized(_this29), "priority",
  3594. 30);_defineProperty(_assertThisInitialized(_this29), "incompatibleTokens",
  3595. ["t", "T"]);return _this29;}_createClass(FractionOfSecondParser, [{ key: "parse", value: function parse(dateString, token) {var valueCallback = function valueCallback(value) {return Math.trunc(value * Math.pow(10, -token.length + 3));};return mapValue(parseNDigits(token.length, dateString), valueCallback);} }, { key: "set", value: function set(date, _flags, value) {date.setMilliseconds(value);return date;} }]);return FractionOfSecondParser;}(Parser);
  3596. // lib/parse/_lib/parsers/ISOTimezoneWithZParser.js
  3597. var ISOTimezoneWithZParser = /*#__PURE__*/function (_Parser28) {_inherits(ISOTimezoneWithZParser, _Parser28);function ISOTimezoneWithZParser() {var _this30;_classCallCheck(this, ISOTimezoneWithZParser);for (var _len29 = arguments.length, args = new Array(_len29), _key29 = 0; _key29 < _len29; _key29++) {args[_key29] = arguments[_key29];}_this30 = _callSuper(this, ISOTimezoneWithZParser, [].concat(args));_defineProperty(_assertThisInitialized(_this30), "priority",
  3598. 10);_defineProperty(_assertThisInitialized(_this30), "incompatibleTokens",
  3599. ["t", "T", "x"]);return _this30;}_createClass(ISOTimezoneWithZParser, [{ key: "parse", value: function parse(dateString, token) {switch (token) {case "X":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);case "XX":return parseTimezonePattern(timezonePatterns.basic, dateString);case "XXXX":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);case "XXXXX":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);case "XXX":default:return parseTimezonePattern(timezonePatterns.extended, dateString);}} }, { key: "set", value: function set(date, flags, value) {if (flags.timestampIsSet) return date;return _constructFrom(date, date.getTime() - getTimezoneOffsetInMilliseconds(date) - value);} }]);return ISOTimezoneWithZParser;}(Parser);
  3600. // lib/parse/_lib/parsers/ISOTimezoneParser.js
  3601. var ISOTimezoneParser = /*#__PURE__*/function (_Parser29) {_inherits(ISOTimezoneParser, _Parser29);function ISOTimezoneParser() {var _this31;_classCallCheck(this, ISOTimezoneParser);for (var _len30 = arguments.length, args = new Array(_len30), _key30 = 0; _key30 < _len30; _key30++) {args[_key30] = arguments[_key30];}_this31 = _callSuper(this, ISOTimezoneParser, [].concat(args));_defineProperty(_assertThisInitialized(_this31), "priority",
  3602. 10);_defineProperty(_assertThisInitialized(_this31), "incompatibleTokens",
  3603. ["t", "T", "X"]);return _this31;}_createClass(ISOTimezoneParser, [{ key: "parse", value: function parse(dateString, token) {switch (token) {case "x":return parseTimezonePattern(timezonePatterns.basicOptionalMinutes, dateString);case "xx":return parseTimezonePattern(timezonePatterns.basic, dateString);case "xxxx":return parseTimezonePattern(timezonePatterns.basicOptionalSeconds, dateString);case "xxxxx":return parseTimezonePattern(timezonePatterns.extendedOptionalSeconds, dateString);case "xxx":default:return parseTimezonePattern(timezonePatterns.extended, dateString);}} }, { key: "set", value: function set(date, flags, value) {if (flags.timestampIsSet) return date;return _constructFrom(date, date.getTime() - getTimezoneOffsetInMilliseconds(date) - value);} }]);return ISOTimezoneParser;}(Parser);
  3604. // lib/parse/_lib/parsers/TimestampSecondsParser.js
  3605. var TimestampSecondsParser = /*#__PURE__*/function (_Parser30) {_inherits(TimestampSecondsParser, _Parser30);function TimestampSecondsParser() {var _this32;_classCallCheck(this, TimestampSecondsParser);for (var _len31 = arguments.length, args = new Array(_len31), _key31 = 0; _key31 < _len31; _key31++) {args[_key31] = arguments[_key31];}_this32 = _callSuper(this, TimestampSecondsParser, [].concat(args));_defineProperty(_assertThisInitialized(_this32), "priority",
  3606. 40);_defineProperty(_assertThisInitialized(_this32), "incompatibleTokens",
  3607. "*");return _this32;}_createClass(TimestampSecondsParser, [{ key: "parse", value: function parse(dateString) {return parseAnyDigitsSigned(dateString);} }, { key: "set", value: function set(date, _flags, value) {return [_constructFrom(date, value * 1000), { timestampIsSet: true }];} }]);return TimestampSecondsParser;}(Parser);
  3608. // lib/parse/_lib/parsers/TimestampMillisecondsParser.js
  3609. var TimestampMillisecondsParser = /*#__PURE__*/function (_Parser31) {_inherits(TimestampMillisecondsParser, _Parser31);function TimestampMillisecondsParser() {var _this33;_classCallCheck(this, TimestampMillisecondsParser);for (var _len32 = arguments.length, args = new Array(_len32), _key32 = 0; _key32 < _len32; _key32++) {args[_key32] = arguments[_key32];}_this33 = _callSuper(this, TimestampMillisecondsParser, [].concat(args));_defineProperty(_assertThisInitialized(_this33), "priority",
  3610. 20);_defineProperty(_assertThisInitialized(_this33), "incompatibleTokens",
  3611. "*");return _this33;}_createClass(TimestampMillisecondsParser, [{ key: "parse", value: function parse(dateString) {return parseAnyDigitsSigned(dateString);} }, { key: "set", value: function set(date, _flags, value) {return [_constructFrom(date, value), { timestampIsSet: true }];} }]);return TimestampMillisecondsParser;}(Parser);
  3612. // lib/parse/_lib/parsers.js
  3613. var _parsers = {
  3614. G: new EraParser(),
  3615. y: new YearParser(),
  3616. Y: new LocalWeekYearParser(),
  3617. R: new ISOWeekYearParser(),
  3618. u: new ExtendedYearParser(),
  3619. Q: new QuarterParser(),
  3620. q: new StandAloneQuarterParser(),
  3621. M: new MonthParser(),
  3622. L: new StandAloneMonthParser(),
  3623. w: new LocalWeekParser(),
  3624. I: new ISOWeekParser(),
  3625. d: new DateParser(),
  3626. D: new DayOfYearParser(),
  3627. E: new DayParser(),
  3628. e: new LocalDayParser(),
  3629. c: new StandAloneLocalDayParser(),
  3630. i: new ISODayParser(),
  3631. a: new AMPMParser(),
  3632. b: new AMPMMidnightParser(),
  3633. B: new DayPeriodParser(),
  3634. h: new Hour1to12Parser(),
  3635. H: new Hour0to23Parser(),
  3636. K: new Hour0To11Parser(),
  3637. k: new Hour1To24Parser(),
  3638. m: new MinuteParser(),
  3639. s: new SecondParser(),
  3640. S: new FractionOfSecondParser(),
  3641. X: new ISOTimezoneWithZParser(),
  3642. x: new ISOTimezoneParser(),
  3643. t: new TimestampSecondsParser(),
  3644. T: new TimestampMillisecondsParser()
  3645. };
  3646. // lib/parse.js
  3647. function _parse(dateStr, formatStr, referenceDate, options) {var _ref33, _options$locale15, _ref34, _ref35, _ref36, _options$firstWeekCon4, _options$locale16, _defaultOptions14$loc2, _ref37, _ref38, _ref39, _options$weekStartsOn7, _options$locale17, _defaultOptions14$loc3;
  3648. var invalidDate = function invalidDate() {return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || referenceDate, NaN);};
  3649. var defaultOptions14 = getDefaultOptions2();
  3650. var locale = (_ref33 = (_options$locale15 = options === null || options === void 0 ? void 0 : options.locale) !== null && _options$locale15 !== void 0 ? _options$locale15 : defaultOptions14.locale) !== null && _ref33 !== void 0 ? _ref33 : enUS;
  3651. var firstWeekContainsDate = (_ref34 = (_ref35 = (_ref36 = (_options$firstWeekCon4 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon4 !== void 0 ? _options$firstWeekCon4 : options === null || options === void 0 || (_options$locale16 = options.locale) === null || _options$locale16 === void 0 || (_options$locale16 = _options$locale16.options) === null || _options$locale16 === void 0 ? void 0 : _options$locale16.firstWeekContainsDate) !== null && _ref36 !== void 0 ? _ref36 : defaultOptions14.firstWeekContainsDate) !== null && _ref35 !== void 0 ? _ref35 : (_defaultOptions14$loc2 = defaultOptions14.locale) === null || _defaultOptions14$loc2 === void 0 || (_defaultOptions14$loc2 = _defaultOptions14$loc2.options) === null || _defaultOptions14$loc2 === void 0 ? void 0 : _defaultOptions14$loc2.firstWeekContainsDate) !== null && _ref34 !== void 0 ? _ref34 : 1;
  3652. var weekStartsOn = (_ref37 = (_ref38 = (_ref39 = (_options$weekStartsOn7 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn7 !== void 0 ? _options$weekStartsOn7 : options === null || options === void 0 || (_options$locale17 = options.locale) === null || _options$locale17 === void 0 || (_options$locale17 = _options$locale17.options) === null || _options$locale17 === void 0 ? void 0 : _options$locale17.weekStartsOn) !== null && _ref39 !== void 0 ? _ref39 : defaultOptions14.weekStartsOn) !== null && _ref38 !== void 0 ? _ref38 : (_defaultOptions14$loc3 = defaultOptions14.locale) === null || _defaultOptions14$loc3 === void 0 || (_defaultOptions14$loc3 = _defaultOptions14$loc3.options) === null || _defaultOptions14$loc3 === void 0 ? void 0 : _defaultOptions14$loc3.weekStartsOn) !== null && _ref37 !== void 0 ? _ref37 : 0;
  3653. if (!formatStr)
  3654. return dateStr ? invalidDate() : _toDate(referenceDate, options === null || options === void 0 ? void 0 : options.in);
  3655. var subFnOptions = {
  3656. firstWeekContainsDate: firstWeekContainsDate,
  3657. weekStartsOn: weekStartsOn,
  3658. locale: locale
  3659. };
  3660. var setters = [new DateTimezoneSetter(options === null || options === void 0 ? void 0 : options.in, referenceDate)];
  3661. var tokens = formatStr.match(longFormattingTokensRegExp2).map(function (substring) {
  3662. var firstCharacter = substring[0];
  3663. if (firstCharacter in _longFormatters) {
  3664. var longFormatter = _longFormatters[firstCharacter];
  3665. return longFormatter(substring, locale.formatLong);
  3666. }
  3667. return substring;
  3668. }).join("").match(formattingTokensRegExp2);
  3669. var usedTokens = [];var _iterator = _createForOfIteratorHelper(
  3670. tokens),_step;try {var _loop = function _loop() {var token = _step.value;
  3671. if (!(options !== null && options !== void 0 && options.useAdditionalWeekYearTokens) && isProtectedWeekYearToken(token)) {
  3672. warnOrThrowProtectedError(token, formatStr, dateStr);
  3673. }
  3674. if (!(options !== null && options !== void 0 && options.useAdditionalDayOfYearTokens) && isProtectedDayOfYearToken(token)) {
  3675. warnOrThrowProtectedError(token, formatStr, dateStr);
  3676. }
  3677. var firstCharacter = token[0];
  3678. var parser = _parsers[firstCharacter];
  3679. if (parser) {
  3680. var incompatibleTokens = parser.incompatibleTokens;
  3681. if (Array.isArray(incompatibleTokens)) {
  3682. var incompatibleToken = usedTokens.find(function (usedToken) {return incompatibleTokens.includes(usedToken.token) || usedToken.token === firstCharacter;});
  3683. if (incompatibleToken) {
  3684. throw new RangeError("The format string mustn't contain `".concat(incompatibleToken.fullToken, "` and `").concat(token, "` at the same time"));
  3685. }
  3686. } else if (parser.incompatibleTokens === "*" && usedTokens.length > 0) {
  3687. throw new RangeError("The format string mustn't contain `".concat(token, "` and any other token at the same time"));
  3688. }
  3689. usedTokens.push({ token: firstCharacter, fullToken: token });
  3690. var parseResult = parser.run(dateStr, token, locale.match, subFnOptions);
  3691. if (!parseResult) {return { v:
  3692. invalidDate() };
  3693. }
  3694. setters.push(parseResult.setter);
  3695. dateStr = parseResult.rest;
  3696. } else {
  3697. if (firstCharacter.match(unescapedLatinCharacterRegExp2)) {
  3698. throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`");
  3699. }
  3700. if (token === "''") {
  3701. token = "'";
  3702. } else if (firstCharacter === "'") {
  3703. token = cleanEscapedString2(token);
  3704. }
  3705. if (dateStr.indexOf(token) === 0) {
  3706. dateStr = dateStr.slice(token.length);
  3707. } else {return { v:
  3708. invalidDate() };
  3709. }
  3710. }
  3711. },_ret;for (_iterator.s(); !(_step = _iterator.n()).done;) {_ret = _loop();if (_ret) return _ret.v;}} catch (err) {_iterator.e(err);} finally {_iterator.f();}
  3712. if (dateStr.length > 0 && notWhitespaceRegExp.test(dateStr)) {
  3713. return invalidDate();
  3714. }
  3715. var uniquePrioritySetters = setters.map(function (setter) {return setter.priority;}).sort(function (a, b) {return b - a;}).filter(function (priority, index, array) {return array.indexOf(priority) === index;}).map(function (priority) {return setters.filter(function (setter) {return setter.priority === priority;}).sort(function (a, b) {return b.subPriority - a.subPriority;});}).map(function (setterArray) {return setterArray[0];});
  3716. var date = _toDate(referenceDate, options === null || options === void 0 ? void 0 : options.in);
  3717. if (isNaN(+date))
  3718. return invalidDate();
  3719. var flags = {};var _iterator2 = _createForOfIteratorHelper(
  3720. uniquePrioritySetters),_step2;try {for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {var setter = _step2.value;
  3721. if (!setter.validate(date, subFnOptions)) {
  3722. return invalidDate();
  3723. }
  3724. var result = setter.set(date, flags, subFnOptions);
  3725. if (Array.isArray(result)) {
  3726. date = result[0];
  3727. Object.assign(flags, result[1]);
  3728. } else {
  3729. date = result;
  3730. }
  3731. }} catch (err) {_iterator2.e(err);} finally {_iterator2.f();}
  3732. return date;
  3733. }
  3734. function cleanEscapedString2(input) {
  3735. return input.match(escapedStringRegExp2)[1].replace(doubleQuoteRegExp2, "'");
  3736. }
  3737. var formattingTokensRegExp2 = /[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g;
  3738. var longFormattingTokensRegExp2 = /P+p+|P+|p+|''|'(''|[^'])+('|$)|./g;
  3739. var escapedStringRegExp2 = /^'([^]*?)'?$/;
  3740. var doubleQuoteRegExp2 = /''/g;
  3741. var notWhitespaceRegExp = /\S/;
  3742. var unescapedLatinCharacterRegExp2 = /[a-zA-Z]/;
  3743. // lib/isMatch.js
  3744. function _isMatch(dateStr, formatStr, options) {
  3745. return _isValid(_parse(dateStr, formatStr, new Date(), options));
  3746. }
  3747. // lib/isMonday.js
  3748. function _isMonday(date, options) {
  3749. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 1;
  3750. }
  3751. // lib/isPast.js
  3752. function _isPast(date) {
  3753. return +_toDate(date) < Date.now();
  3754. }
  3755. // lib/startOfHour.js
  3756. function _startOfHour(date, options) {
  3757. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3758. _date.setMinutes(0, 0, 0);
  3759. return _date;
  3760. }
  3761. // lib/isSameHour.js
  3762. function _isSameHour(dateLeft, dateRight, options) {
  3763. var _normalizeDates45 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, dateLeft, dateRight),_normalizeDates46 = _slicedToArray(_normalizeDates45, 2),dateLeft_ = _normalizeDates46[0],dateRight_ = _normalizeDates46[1];
  3764. return +_startOfHour(dateLeft_) === +_startOfHour(dateRight_);
  3765. }
  3766. // lib/isSameWeek.js
  3767. function _isSameWeek(laterDate, earlierDate, options) {
  3768. var _normalizeDates47 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates48 = _slicedToArray(_normalizeDates47, 2),laterDate_ = _normalizeDates48[0],earlierDate_ = _normalizeDates48[1];
  3769. return +_startOfWeek(laterDate_, options) === +_startOfWeek(earlierDate_, options);
  3770. }
  3771. // lib/isSameISOWeek.js
  3772. function _isSameISOWeek(laterDate, earlierDate, options) {
  3773. return _isSameWeek(laterDate, earlierDate, _objectSpread(_objectSpread({}, options), {}, { weekStartsOn: 1 }));
  3774. }
  3775. // lib/isSameISOWeekYear.js
  3776. function _isSameISOWeekYear(laterDate, earlierDate, options) {
  3777. var _normalizeDates49 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates50 = _slicedToArray(_normalizeDates49, 2),laterDate_ = _normalizeDates50[0],earlierDate_ = _normalizeDates50[1];
  3778. return +_startOfISOWeekYear(laterDate_) === +_startOfISOWeekYear(earlierDate_);
  3779. }
  3780. // lib/startOfMinute.js
  3781. function _startOfMinute(date, options) {
  3782. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3783. date_.setSeconds(0, 0);
  3784. return date_;
  3785. }
  3786. // lib/isSameMinute.js
  3787. function _isSameMinute(laterDate, earlierDate) {
  3788. return +_startOfMinute(laterDate) === +_startOfMinute(earlierDate);
  3789. }
  3790. // lib/isSameMonth.js
  3791. function _isSameMonth(laterDate, earlierDate, options) {
  3792. var _normalizeDates51 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates52 = _slicedToArray(_normalizeDates51, 2),laterDate_ = _normalizeDates52[0],earlierDate_ = _normalizeDates52[1];
  3793. return laterDate_.getFullYear() === earlierDate_.getFullYear() && laterDate_.getMonth() === earlierDate_.getMonth();
  3794. }
  3795. // lib/isSameQuarter.js
  3796. function _isSameQuarter(laterDate, earlierDate, options) {
  3797. var _normalizeDates53 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates54 = _slicedToArray(_normalizeDates53, 2),dateLeft_ = _normalizeDates54[0],dateRight_ = _normalizeDates54[1];
  3798. return +_startOfQuarter(dateLeft_) === +_startOfQuarter(dateRight_);
  3799. }
  3800. // lib/startOfSecond.js
  3801. function _startOfSecond(date, options) {
  3802. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3803. date_.setMilliseconds(0);
  3804. return date_;
  3805. }
  3806. // lib/isSameSecond.js
  3807. function _isSameSecond(laterDate, earlierDate) {
  3808. return +_startOfSecond(laterDate) === +_startOfSecond(earlierDate);
  3809. }
  3810. // lib/isSameYear.js
  3811. function _isSameYear(laterDate, earlierDate, options) {
  3812. var _normalizeDates55 = normalizeDates(options === null || options === void 0 ? void 0 : options.in, laterDate, earlierDate),_normalizeDates56 = _slicedToArray(_normalizeDates55, 2),laterDate_ = _normalizeDates56[0],earlierDate_ = _normalizeDates56[1];
  3813. return laterDate_.getFullYear() === earlierDate_.getFullYear();
  3814. }
  3815. // lib/isThisHour.js
  3816. function _isThisHour(date, options) {
  3817. return _isSameHour(_toDate(date, options === null || options === void 0 ? void 0 : options.in), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date));
  3818. }
  3819. // lib/isThisISOWeek.js
  3820. function _isThisISOWeek(date, options) {
  3821. return _isSameISOWeek(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date));
  3822. }
  3823. // lib/isThisMinute.js
  3824. function _isThisMinute(date) {
  3825. return _isSameMinute(date, _constructNow(date));
  3826. }
  3827. // lib/isThisMonth.js
  3828. function _isThisMonth(date, options) {
  3829. return _isSameMonth(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date));
  3830. }
  3831. // lib/isThisQuarter.js
  3832. function _isThisQuarter(date, options) {
  3833. return _isSameQuarter(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date));
  3834. }
  3835. // lib/isThisSecond.js
  3836. function _isThisSecond(date) {
  3837. return _isSameSecond(date, _constructNow(date));
  3838. }
  3839. // lib/isThisWeek.js
  3840. function _isThisWeek(date, options) {
  3841. return _isSameWeek(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date), options);
  3842. }
  3843. // lib/isThisYear.js
  3844. function _isThisYear(date, options) {
  3845. return _isSameYear(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date));
  3846. }
  3847. // lib/isThursday.js
  3848. function _isThursday(date, options) {
  3849. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 4;
  3850. }
  3851. // lib/isToday.js
  3852. function _isToday(date, options) {
  3853. return _isSameDay(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _constructNow((options === null || options === void 0 ? void 0 : options.in) || date));
  3854. }
  3855. // lib/isTomorrow.js
  3856. function _isTomorrow(date, options) {
  3857. return _isSameDay(date, _addDays(_constructNow((options === null || options === void 0 ? void 0 : options.in) || date), 1), options);
  3858. }
  3859. // lib/isTuesday.js
  3860. function _isTuesday(date, options) {
  3861. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 2;
  3862. }
  3863. // lib/isWednesday.js
  3864. function _isWednesday(date, options) {
  3865. return _toDate(date, options === null || options === void 0 ? void 0 : options.in).getDay() === 3;
  3866. }
  3867. // lib/isWithinInterval.js
  3868. function _isWithinInterval(date, interval2, options) {
  3869. var time = +_toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3870. var _sort9 = [
  3871. +_toDate(interval2.start, options === null || options === void 0 ? void 0 : options.in),
  3872. +_toDate(interval2.end, options === null || options === void 0 ? void 0 : options.in)].
  3873. sort(function (a, b) {return a - b;}),_sort10 = _slicedToArray(_sort9, 2),startTime = _sort10[0],endTime = _sort10[1];
  3874. return time >= startTime && time <= endTime;
  3875. }
  3876. // lib/subDays.js
  3877. function _subDays(date, amount, options) {
  3878. return _addDays(date, -amount, options);
  3879. }
  3880. // lib/isYesterday.js
  3881. function _isYesterday(date, options) {
  3882. return _isSameDay(_constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, date), _subDays(_constructNow((options === null || options === void 0 ? void 0 : options.in) || date), 1));
  3883. }
  3884. // lib/lastDayOfDecade.js
  3885. function _lastDayOfDecade(date, options) {
  3886. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3887. var year = _date.getFullYear();
  3888. var decade = 9 + Math.floor(year / 10) * 10;
  3889. _date.setFullYear(decade + 1, 0, 0);
  3890. _date.setHours(0, 0, 0, 0);
  3891. return _toDate(_date, options === null || options === void 0 ? void 0 : options.in);
  3892. }
  3893. // lib/lastDayOfWeek.js
  3894. function _lastDayOfWeek(date, options) {var _ref40, _ref41, _ref42, _options$weekStartsOn8, _options$locale18, _defaultOptions15$loc;
  3895. var defaultOptions15 = getDefaultOptions();
  3896. var weekStartsOn = (_ref40 = (_ref41 = (_ref42 = (_options$weekStartsOn8 = options === null || options === void 0 ? void 0 : options.weekStartsOn) !== null && _options$weekStartsOn8 !== void 0 ? _options$weekStartsOn8 : options === null || options === void 0 || (_options$locale18 = options.locale) === null || _options$locale18 === void 0 || (_options$locale18 = _options$locale18.options) === null || _options$locale18 === void 0 ? void 0 : _options$locale18.weekStartsOn) !== null && _ref42 !== void 0 ? _ref42 : defaultOptions15.weekStartsOn) !== null && _ref41 !== void 0 ? _ref41 : (_defaultOptions15$loc = defaultOptions15.locale) === null || _defaultOptions15$loc === void 0 || (_defaultOptions15$loc = _defaultOptions15$loc.options) === null || _defaultOptions15$loc === void 0 ? void 0 : _defaultOptions15$loc.weekStartsOn) !== null && _ref40 !== void 0 ? _ref40 : 0;
  3897. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3898. var day = _date.getDay();
  3899. var diff = (day < weekStartsOn ? -7 : 0) + 6 - (day - weekStartsOn);
  3900. _date.setHours(0, 0, 0, 0);
  3901. _date.setDate(_date.getDate() + diff);
  3902. return _date;
  3903. }
  3904. // lib/lastDayOfISOWeek.js
  3905. function _lastDayOfISOWeek(date, options) {
  3906. return _lastDayOfWeek(date, _objectSpread(_objectSpread({}, options), {}, { weekStartsOn: 1 }));
  3907. }
  3908. // lib/lastDayOfISOWeekYear.js
  3909. function _lastDayOfISOWeekYear(date, options) {
  3910. var year = _getISOWeekYear(date, options);
  3911. var fourthOfJanuary = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  3912. fourthOfJanuary.setFullYear(year + 1, 0, 4);
  3913. fourthOfJanuary.setHours(0, 0, 0, 0);
  3914. var date_ = _startOfISOWeek(fourthOfJanuary, options);
  3915. date_.setDate(date_.getDate() - 1);
  3916. return date_;
  3917. }
  3918. // lib/lastDayOfQuarter.js
  3919. function _lastDayOfQuarter(date, options) {
  3920. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3921. var currentMonth = date_.getMonth();
  3922. var month = currentMonth - currentMonth % 3 + 3;
  3923. date_.setMonth(month, 0);
  3924. date_.setHours(0, 0, 0, 0);
  3925. return date_;
  3926. }
  3927. // lib/lastDayOfYear.js
  3928. function _lastDayOfYear(date, options) {
  3929. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  3930. var year = date_.getFullYear();
  3931. date_.setFullYear(year + 1, 0, 0);
  3932. date_.setHours(0, 0, 0, 0);
  3933. return date_;
  3934. }
  3935. // lib/lightFormat.js
  3936. function _lightFormat(date, formatStr) {
  3937. var date_ = _toDate(date);
  3938. if (!_isValid(date_)) {
  3939. throw new RangeError("Invalid time value");
  3940. }
  3941. var tokens = formatStr.match(formattingTokensRegExp3);
  3942. if (!tokens)
  3943. return "";
  3944. var result = tokens.map(function (substring) {
  3945. if (substring === "''") {
  3946. return "'";
  3947. }
  3948. var firstCharacter = substring[0];
  3949. if (firstCharacter === "'") {
  3950. return cleanEscapedString3(substring);
  3951. }
  3952. var formatter = _lightFormatters[firstCharacter];
  3953. if (formatter) {
  3954. return formatter(date_, substring);
  3955. }
  3956. if (firstCharacter.match(unescapedLatinCharacterRegExp3)) {
  3957. throw new RangeError("Format string contains an unescaped latin alphabet character `" + firstCharacter + "`");
  3958. }
  3959. return substring;
  3960. }).join("");
  3961. return result;
  3962. }
  3963. function cleanEscapedString3(input) {
  3964. var matches = input.match(escapedStringRegExp3);
  3965. if (!matches)
  3966. return input;
  3967. return matches[1].replace(doubleQuoteRegExp3, "'");
  3968. }
  3969. var formattingTokensRegExp3 = /(\w)\1*|''|'(''|[^'])+('|$)|./g;
  3970. var escapedStringRegExp3 = /^'([^]*?)'?$/;
  3971. var doubleQuoteRegExp3 = /''/g;
  3972. var unescapedLatinCharacterRegExp3 = /[a-zA-Z]/;
  3973. // lib/milliseconds.js
  3974. function _milliseconds(_ref43)
  3975. {var years = _ref43.years,months2 = _ref43.months,weeks = _ref43.weeks,days2 = _ref43.days,hours = _ref43.hours,minutes = _ref43.minutes,seconds = _ref43.seconds;
  3976. var totalDays = 0;
  3977. if (years)
  3978. totalDays += years * daysInYear;
  3979. if (months2)
  3980. totalDays += months2 * (daysInYear / 12);
  3981. if (weeks)
  3982. totalDays += weeks * 7;
  3983. if (days2)
  3984. totalDays += days2;
  3985. var totalSeconds = totalDays * 24 * 60 * 60;
  3986. if (hours)
  3987. totalSeconds += hours * 60 * 60;
  3988. if (minutes)
  3989. totalSeconds += minutes * 60;
  3990. if (seconds)
  3991. totalSeconds += seconds;
  3992. return Math.trunc(totalSeconds * 1000);
  3993. }
  3994. // lib/millisecondsToHours.js
  3995. function _millisecondsToHours(milliseconds2) {
  3996. var hours = milliseconds2 / millisecondsInHour;
  3997. return Math.trunc(hours);
  3998. }
  3999. // lib/millisecondsToMinutes.js
  4000. function _millisecondsToMinutes(milliseconds2) {
  4001. var minutes = milliseconds2 / millisecondsInMinute;
  4002. return Math.trunc(minutes);
  4003. }
  4004. // lib/millisecondsToSeconds.js
  4005. function _millisecondsToSeconds(milliseconds2) {
  4006. var seconds = milliseconds2 / millisecondsInSecond;
  4007. return Math.trunc(seconds);
  4008. }
  4009. // lib/minutesToHours.js
  4010. function _minutesToHours(minutes) {
  4011. var hours = minutes / minutesInHour;
  4012. return Math.trunc(hours);
  4013. }
  4014. // lib/minutesToMilliseconds.js
  4015. function _minutesToMilliseconds(minutes) {
  4016. return Math.trunc(minutes * millisecondsInMinute);
  4017. }
  4018. // lib/minutesToSeconds.js
  4019. function _minutesToSeconds(minutes) {
  4020. return Math.trunc(minutes * secondsInMinute);
  4021. }
  4022. // lib/monthsToQuarters.js
  4023. function _monthsToQuarters(months2) {
  4024. var quarters = months2 / monthsInQuarter;
  4025. return Math.trunc(quarters);
  4026. }
  4027. // lib/monthsToYears.js
  4028. function _monthsToYears(months2) {
  4029. var years = months2 / monthsInYear;
  4030. return Math.trunc(years);
  4031. }
  4032. // lib/nextDay.js
  4033. function _nextDay(date, day, options) {
  4034. var delta = day - _getDay(date, options);
  4035. if (delta <= 0)
  4036. delta += 7;
  4037. return _addDays(date, delta, options);
  4038. }
  4039. // lib/nextFriday.js
  4040. function _nextFriday(date, options) {
  4041. return _nextDay(date, 5, options);
  4042. }
  4043. // lib/nextMonday.js
  4044. function _nextMonday(date, options) {
  4045. return _nextDay(date, 1, options);
  4046. }
  4047. // lib/nextSaturday.js
  4048. function _nextSaturday(date, options) {
  4049. return _nextDay(date, 6, options);
  4050. }
  4051. // lib/nextSunday.js
  4052. function _nextSunday(date, options) {
  4053. return _nextDay(date, 0, options);
  4054. }
  4055. // lib/nextThursday.js
  4056. function _nextThursday(date, options) {
  4057. return _nextDay(date, 4, options);
  4058. }
  4059. // lib/nextTuesday.js
  4060. function _nextTuesday(date, options) {
  4061. return _nextDay(date, 2, options);
  4062. }
  4063. // lib/nextWednesday.js
  4064. function _nextWednesday(date, options) {
  4065. return _nextDay(date, 3, options);
  4066. }
  4067. // lib/parseISO.js
  4068. function _parseISO(argument, options) {var _options$additionalDi;
  4069. var invalidDate = function invalidDate() {return _constructFrom(options === null || options === void 0 ? void 0 : options.in, NaN);};
  4070. var additionalDigits = (_options$additionalDi = options === null || options === void 0 ? void 0 : options.additionalDigits) !== null && _options$additionalDi !== void 0 ? _options$additionalDi : 2;
  4071. var dateStrings = splitDateString(argument);
  4072. var date;
  4073. if (dateStrings.date) {
  4074. var parseYearResult = parseYear(dateStrings.date, additionalDigits);
  4075. date = parseDate(parseYearResult.restDateString, parseYearResult.year);
  4076. }
  4077. if (!date || isNaN(+date))
  4078. return invalidDate();
  4079. var timestamp = +date;
  4080. var time = 0;
  4081. var offset;
  4082. if (dateStrings.time) {
  4083. time = parseTime(dateStrings.time);
  4084. if (isNaN(time))
  4085. return invalidDate();
  4086. }
  4087. if (dateStrings.timezone) {
  4088. offset = parseTimezone(dateStrings.timezone);
  4089. if (isNaN(offset))
  4090. return invalidDate();
  4091. } else {
  4092. var tmpDate = new Date(timestamp + time);
  4093. var result = _toDate(0, options === null || options === void 0 ? void 0 : options.in);
  4094. result.setFullYear(tmpDate.getUTCFullYear(), tmpDate.getUTCMonth(), tmpDate.getUTCDate());
  4095. result.setHours(tmpDate.getUTCHours(), tmpDate.getUTCMinutes(), tmpDate.getUTCSeconds(), tmpDate.getUTCMilliseconds());
  4096. return result;
  4097. }
  4098. return _toDate(timestamp + time + offset, options === null || options === void 0 ? void 0 : options.in);
  4099. }
  4100. function splitDateString(dateString) {
  4101. var dateStrings = {};
  4102. var array = dateString.split(patterns.dateTimeDelimiter);
  4103. var timeString;
  4104. if (array.length > 2) {
  4105. return dateStrings;
  4106. }
  4107. if (/:/.test(array[0])) {
  4108. timeString = array[0];
  4109. } else {
  4110. dateStrings.date = array[0];
  4111. timeString = array[1];
  4112. if (patterns.timeZoneDelimiter.test(dateStrings.date)) {
  4113. dateStrings.date = dateString.split(patterns.timeZoneDelimiter)[0];
  4114. timeString = dateString.substr(dateStrings.date.length, dateString.length);
  4115. }
  4116. }
  4117. if (timeString) {
  4118. var token = patterns.timezone.exec(timeString);
  4119. if (token) {
  4120. dateStrings.time = timeString.replace(token[1], "");
  4121. dateStrings.timezone = token[1];
  4122. } else {
  4123. dateStrings.time = timeString;
  4124. }
  4125. }
  4126. return dateStrings;
  4127. }
  4128. function parseYear(dateString, additionalDigits) {
  4129. var regex = new RegExp("^(?:(\\d{4}|[+-]\\d{" + (4 + additionalDigits) + "})|(\\d{2}|[+-]\\d{" + (2 + additionalDigits) + "})$)");
  4130. var captures = dateString.match(regex);
  4131. if (!captures)
  4132. return { year: NaN, restDateString: "" };
  4133. var year = captures[1] ? parseInt(captures[1]) : null;
  4134. var century = captures[2] ? parseInt(captures[2]) : null;
  4135. return {
  4136. year: century === null ? year : century * 100,
  4137. restDateString: dateString.slice((captures[1] || captures[2]).length)
  4138. };
  4139. }
  4140. function parseDate(dateString, year) {
  4141. if (year === null)
  4142. return new Date(NaN);
  4143. var captures = dateString.match(dateRegex);
  4144. if (!captures)
  4145. return new Date(NaN);
  4146. var isWeekDate = !!captures[4];
  4147. var dayOfYear = parseDateUnit(captures[1]);
  4148. var month = parseDateUnit(captures[2]) - 1;
  4149. var day = parseDateUnit(captures[3]);
  4150. var week = parseDateUnit(captures[4]);
  4151. var dayOfWeek = parseDateUnit(captures[5]) - 1;
  4152. if (isWeekDate) {
  4153. if (!validateWeekDate(year, week, dayOfWeek)) {
  4154. return new Date(NaN);
  4155. }
  4156. return dayOfISOWeekYear(year, week, dayOfWeek);
  4157. } else {
  4158. var date = new Date(0);
  4159. if (!validateDate(year, month, day) || !validateDayOfYearDate(year, dayOfYear)) {
  4160. return new Date(NaN);
  4161. }
  4162. date.setUTCFullYear(year, month, Math.max(dayOfYear, day));
  4163. return date;
  4164. }
  4165. }
  4166. function parseDateUnit(value) {
  4167. return value ? parseInt(value) : 1;
  4168. }
  4169. function parseTime(timeString) {
  4170. var captures = timeString.match(timeRegex);
  4171. if (!captures)
  4172. return NaN;
  4173. var hours = parseTimeUnit(captures[1]);
  4174. var minutes = parseTimeUnit(captures[2]);
  4175. var seconds = parseTimeUnit(captures[3]);
  4176. if (!validateTime(hours, minutes, seconds)) {
  4177. return NaN;
  4178. }
  4179. return hours * millisecondsInHour + minutes * millisecondsInMinute + seconds * 1000;
  4180. }
  4181. function parseTimeUnit(value) {
  4182. return value && parseFloat(value.replace(",", ".")) || 0;
  4183. }
  4184. function parseTimezone(timezoneString) {
  4185. if (timezoneString === "Z")
  4186. return 0;
  4187. var captures = timezoneString.match(timezoneRegex);
  4188. if (!captures)
  4189. return 0;
  4190. var sign = captures[1] === "+" ? -1 : 1;
  4191. var hours = parseInt(captures[2]);
  4192. var minutes = captures[3] && parseInt(captures[3]) || 0;
  4193. if (!validateTimezone(hours, minutes)) {
  4194. return NaN;
  4195. }
  4196. return sign * (hours * millisecondsInHour + minutes * millisecondsInMinute);
  4197. }
  4198. function dayOfISOWeekYear(isoWeekYear, week, day) {
  4199. var date = new Date(0);
  4200. date.setUTCFullYear(isoWeekYear, 0, 4);
  4201. var fourthOfJanuaryDay = date.getUTCDay() || 7;
  4202. var diff = (week - 1) * 7 + day + 1 - fourthOfJanuaryDay;
  4203. date.setUTCDate(date.getUTCDate() + diff);
  4204. return date;
  4205. }
  4206. function isLeapYearIndex2(year) {
  4207. return year % 400 === 0 || year % 4 === 0 && year % 100 !== 0;
  4208. }
  4209. function validateDate(year, month, date) {
  4210. return month >= 0 && month <= 11 && date >= 1 && date <= (daysInMonths[month] || (isLeapYearIndex2(year) ? 29 : 28));
  4211. }
  4212. function validateDayOfYearDate(year, dayOfYear) {
  4213. return dayOfYear >= 1 && dayOfYear <= (isLeapYearIndex2(year) ? 366 : 365);
  4214. }
  4215. function validateWeekDate(_year, week, day) {
  4216. return week >= 1 && week <= 53 && day >= 0 && day <= 6;
  4217. }
  4218. function validateTime(hours, minutes, seconds) {
  4219. if (hours === 24) {
  4220. return minutes === 0 && seconds === 0;
  4221. }
  4222. return seconds >= 0 && seconds < 60 && minutes >= 0 && minutes < 60 && hours >= 0 && hours < 25;
  4223. }
  4224. function validateTimezone(_hours, minutes) {
  4225. return minutes >= 0 && minutes <= 59;
  4226. }
  4227. var patterns = {
  4228. dateTimeDelimiter: /[T ]/,
  4229. timeZoneDelimiter: /[Z ]/i,
  4230. timezone: /([Z+-].*)$/
  4231. };
  4232. var dateRegex = /^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/;
  4233. var timeRegex = /^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/;
  4234. var timezoneRegex = /^([+-])(\d{2})(?::?(\d{2}))?$/;
  4235. var daysInMonths = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  4236. // lib/parseJSON.js
  4237. function _parseJSON(dateStr, options) {
  4238. var parts = dateStr.match(/(\d{4})-(\d{2})-(\d{2})[T ](\d{2}):(\d{2}):(\d{2})(?:\.(\d{0,7}))?(?:Z|(.)(\d{2}):?(\d{2})?)?/);
  4239. if (!parts)
  4240. return _toDate(NaN, options === null || options === void 0 ? void 0 : options.in);
  4241. return _toDate(Date.UTC(+parts[1], +parts[2] - 1, +parts[3], +parts[4] - (+parts[9] || 0) * (parts[8] == "-" ? -1 : 1), +parts[5] - (+parts[10] || 0) * (parts[8] == "-" ? -1 : 1), +parts[6], +((parts[7] || "0") + "00").substring(0, 3)), options === null || options === void 0 ? void 0 : options.in);
  4242. }
  4243. // lib/previousDay.js
  4244. function _previousDay(date, day, options) {
  4245. var delta = _getDay(date, options) - day;
  4246. if (delta <= 0)
  4247. delta += 7;
  4248. return _subDays(date, delta, options);
  4249. }
  4250. // lib/previousFriday.js
  4251. function _previousFriday(date, options) {
  4252. return _previousDay(date, 5, options);
  4253. }
  4254. // lib/previousMonday.js
  4255. function _previousMonday(date, options) {
  4256. return _previousDay(date, 1, options);
  4257. }
  4258. // lib/previousSaturday.js
  4259. function _previousSaturday(date, options) {
  4260. return _previousDay(date, 6, options);
  4261. }
  4262. // lib/previousSunday.js
  4263. function _previousSunday(date, options) {
  4264. return _previousDay(date, 0, options);
  4265. }
  4266. // lib/previousThursday.js
  4267. function _previousThursday(date, options) {
  4268. return _previousDay(date, 4, options);
  4269. }
  4270. // lib/previousTuesday.js
  4271. function _previousTuesday(date, options) {
  4272. return _previousDay(date, 2, options);
  4273. }
  4274. // lib/previousWednesday.js
  4275. function _previousWednesday(date, options) {
  4276. return _previousDay(date, 3, options);
  4277. }
  4278. // lib/quartersToMonths.js
  4279. function _quartersToMonths(quarters) {
  4280. return Math.trunc(quarters * monthsInQuarter);
  4281. }
  4282. // lib/quartersToYears.js
  4283. function _quartersToYears(quarters) {
  4284. var years = quarters / quartersInYear;
  4285. return Math.trunc(years);
  4286. }
  4287. // lib/roundToNearestHours.js
  4288. function _roundToNearestHours(date, options) {var _options$nearestTo, _options$roundingMeth2;
  4289. var nearestTo = (_options$nearestTo = options === null || options === void 0 ? void 0 : options.nearestTo) !== null && _options$nearestTo !== void 0 ? _options$nearestTo : 1;
  4290. if (nearestTo < 1 || nearestTo > 12)
  4291. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, NaN);
  4292. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4293. var fractionalMinutes = date_.getMinutes() / 60;
  4294. var fractionalSeconds = date_.getSeconds() / 60 / 60;
  4295. var fractionalMilliseconds = date_.getMilliseconds() / 1000 / 60 / 60;
  4296. var hours = date_.getHours() + fractionalMinutes + fractionalSeconds + fractionalMilliseconds;
  4297. var method = (_options$roundingMeth2 = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth2 !== void 0 ? _options$roundingMeth2 : "round";
  4298. var roundingMethod = getRoundingMethod(method);
  4299. var roundedHours = roundingMethod(hours / nearestTo) * nearestTo;
  4300. date_.setHours(roundedHours, 0, 0, 0);
  4301. return date_;
  4302. }
  4303. // lib/roundToNearestMinutes.js
  4304. function _roundToNearestMinutes(date, options) {var _options$nearestTo2, _options$roundingMeth3;
  4305. var nearestTo = (_options$nearestTo2 = options === null || options === void 0 ? void 0 : options.nearestTo) !== null && _options$nearestTo2 !== void 0 ? _options$nearestTo2 : 1;
  4306. if (nearestTo < 1 || nearestTo > 30)
  4307. return _constructFrom(date, NaN);
  4308. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4309. var fractionalSeconds = date_.getSeconds() / 60;
  4310. var fractionalMilliseconds = date_.getMilliseconds() / 1000 / 60;
  4311. var minutes = date_.getMinutes() + fractionalSeconds + fractionalMilliseconds;
  4312. var method = (_options$roundingMeth3 = options === null || options === void 0 ? void 0 : options.roundingMethod) !== null && _options$roundingMeth3 !== void 0 ? _options$roundingMeth3 : "round";
  4313. var roundingMethod = getRoundingMethod(method);
  4314. var roundedMinutes = roundingMethod(minutes / nearestTo) * nearestTo;
  4315. date_.setMinutes(roundedMinutes, 0, 0);
  4316. return date_;
  4317. }
  4318. // lib/secondsToHours.js
  4319. function _secondsToHours(seconds) {
  4320. var hours = seconds / secondsInHour;
  4321. return Math.trunc(hours);
  4322. }
  4323. // lib/secondsToMilliseconds.js
  4324. function _secondsToMilliseconds(seconds) {
  4325. return seconds * millisecondsInSecond;
  4326. }
  4327. // lib/secondsToMinutes.js
  4328. function _secondsToMinutes(seconds) {
  4329. var minutes = seconds / secondsInMinute;
  4330. return Math.trunc(minutes);
  4331. }
  4332. // lib/setMonth.js
  4333. function _setMonth(date, month, options) {
  4334. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4335. var year = _date.getFullYear();
  4336. var day = _date.getDate();
  4337. var midMonth = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  4338. midMonth.setFullYear(year, month, 15);
  4339. midMonth.setHours(0, 0, 0, 0);
  4340. var daysInMonth = _getDaysInMonth(midMonth);
  4341. _date.setMonth(month, Math.min(day, daysInMonth));
  4342. return _date;
  4343. }
  4344. // lib/set.js
  4345. function _set(date, values, options) {
  4346. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4347. if (isNaN(+_date))
  4348. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, NaN);
  4349. if (values.year != null)
  4350. _date.setFullYear(values.year);
  4351. if (values.month != null)
  4352. _date = _setMonth(_date, values.month);
  4353. if (values.date != null)
  4354. _date.setDate(values.date);
  4355. if (values.hours != null)
  4356. _date.setHours(values.hours);
  4357. if (values.minutes != null)
  4358. _date.setMinutes(values.minutes);
  4359. if (values.seconds != null)
  4360. _date.setSeconds(values.seconds);
  4361. if (values.milliseconds != null)
  4362. _date.setMilliseconds(values.milliseconds);
  4363. return _date;
  4364. }
  4365. // lib/setDate.js
  4366. function _setDate(date, dayOfMonth, options) {
  4367. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4368. _date.setDate(dayOfMonth);
  4369. return _date;
  4370. }
  4371. // lib/setDayOfYear.js
  4372. function _setDayOfYear(date, dayOfYear, options) {
  4373. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4374. date_.setMonth(0);
  4375. date_.setDate(dayOfYear);
  4376. return date_;
  4377. }
  4378. // lib/setDefaultOptions.js
  4379. function setDefaultOptions2(options) {
  4380. var result = {};
  4381. var defaultOptions16 = getDefaultOptions();
  4382. for (var property in defaultOptions16) {
  4383. if (Object.prototype.hasOwnProperty.call(defaultOptions16, property)) {
  4384. result[property] = defaultOptions16[property];
  4385. }
  4386. }
  4387. for (var _property in options) {
  4388. if (Object.prototype.hasOwnProperty.call(options, _property)) {
  4389. if (options[_property] === undefined) {
  4390. delete result[_property];
  4391. } else {
  4392. result[_property] = options[_property];
  4393. }
  4394. }
  4395. }
  4396. setDefaultOptions(result);
  4397. }
  4398. // lib/setHours.js
  4399. function _setHours(date, hours, options) {
  4400. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4401. _date.setHours(hours);
  4402. return _date;
  4403. }
  4404. // lib/setMilliseconds.js
  4405. function _setMilliseconds(date, milliseconds2, options) {
  4406. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4407. _date.setMilliseconds(milliseconds2);
  4408. return _date;
  4409. }
  4410. // lib/setMinutes.js
  4411. function _setMinutes(date, minutes, options) {
  4412. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4413. date_.setMinutes(minutes);
  4414. return date_;
  4415. }
  4416. // lib/setQuarter.js
  4417. function _setQuarter(date, quarter, options) {
  4418. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4419. var oldQuarter = Math.trunc(date_.getMonth() / 3) + 1;
  4420. var diff = quarter - oldQuarter;
  4421. return _setMonth(date_, date_.getMonth() + diff * 3);
  4422. }
  4423. // lib/setSeconds.js
  4424. function _setSeconds(date, seconds, options) {
  4425. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4426. _date.setSeconds(seconds);
  4427. return _date;
  4428. }
  4429. // lib/setWeekYear.js
  4430. function _setWeekYear(date, weekYear, options) {var _ref44, _ref45, _ref46, _options$firstWeekCon5, _options$locale19, _defaultOptions17$loc;
  4431. var defaultOptions17 = getDefaultOptions();
  4432. var firstWeekContainsDate = (_ref44 = (_ref45 = (_ref46 = (_options$firstWeekCon5 = options === null || options === void 0 ? void 0 : options.firstWeekContainsDate) !== null && _options$firstWeekCon5 !== void 0 ? _options$firstWeekCon5 : options === null || options === void 0 || (_options$locale19 = options.locale) === null || _options$locale19 === void 0 || (_options$locale19 = _options$locale19.options) === null || _options$locale19 === void 0 ? void 0 : _options$locale19.firstWeekContainsDate) !== null && _ref46 !== void 0 ? _ref46 : defaultOptions17.firstWeekContainsDate) !== null && _ref45 !== void 0 ? _ref45 : (_defaultOptions17$loc = defaultOptions17.locale) === null || _defaultOptions17$loc === void 0 || (_defaultOptions17$loc = _defaultOptions17$loc.options) === null || _defaultOptions17$loc === void 0 ? void 0 : _defaultOptions17$loc.firstWeekContainsDate) !== null && _ref44 !== void 0 ? _ref44 : 1;
  4433. var diff = _differenceInCalendarDays(_toDate(date, options === null || options === void 0 ? void 0 : options.in), _startOfWeekYear(date, options), options);
  4434. var firstWeek = _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, 0);
  4435. firstWeek.setFullYear(weekYear, 0, firstWeekContainsDate);
  4436. firstWeek.setHours(0, 0, 0, 0);
  4437. var date_ = _startOfWeekYear(firstWeek, options);
  4438. date_.setDate(date_.getDate() + diff);
  4439. return date_;
  4440. }
  4441. // lib/setYear.js
  4442. function _setYear(date, year, options) {
  4443. var date_ = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4444. if (isNaN(+date_))
  4445. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, NaN);
  4446. date_.setFullYear(year);
  4447. return date_;
  4448. }
  4449. // lib/startOfDecade.js
  4450. function _startOfDecade(date, options) {
  4451. var _date = _toDate(date, options === null || options === void 0 ? void 0 : options.in);
  4452. var year = _date.getFullYear();
  4453. var decade = Math.floor(year / 10) * 10;
  4454. _date.setFullYear(decade, 0, 1);
  4455. _date.setHours(0, 0, 0, 0);
  4456. return _date;
  4457. }
  4458. // lib/startOfToday.js
  4459. function _startOfToday(options) {
  4460. return _startOfDay(Date.now(), options);
  4461. }
  4462. // lib/startOfTomorrow.js
  4463. function _startOfTomorrow(options) {
  4464. var now = _constructNow(options === null || options === void 0 ? void 0 : options.in);
  4465. var year = now.getFullYear();
  4466. var month = now.getMonth();
  4467. var day = now.getDate();
  4468. var date = _constructFrom(options === null || options === void 0 ? void 0 : options.in, 0);
  4469. date.setFullYear(year, month, day + 1);
  4470. date.setHours(0, 0, 0, 0);
  4471. return date;
  4472. }
  4473. // lib/startOfYesterday.js
  4474. function _startOfYesterday(options) {
  4475. var now = _constructNow(options === null || options === void 0 ? void 0 : options.in);
  4476. var year = now.getFullYear();
  4477. var month = now.getMonth();
  4478. var day = now.getDate();
  4479. var date = _constructNow(options === null || options === void 0 ? void 0 : options.in);
  4480. date.setFullYear(year, month, day - 1);
  4481. date.setHours(0, 0, 0, 0);
  4482. return date;
  4483. }
  4484. // lib/subMonths.js
  4485. function _subMonths(date, amount, options) {
  4486. return _addMonths(date, -amount, options);
  4487. }
  4488. // lib/sub.js
  4489. function _sub(date, duration, options) {
  4490. var _duration$years3 =
  4491. duration.years,years = _duration$years3 === void 0 ? 0 : _duration$years3,_duration$months3 = duration.months,months2 = _duration$months3 === void 0 ? 0 : _duration$months3,_duration$weeks2 = duration.weeks,weeks = _duration$weeks2 === void 0 ? 0 : _duration$weeks2,_duration$days3 = duration.days,days2 = _duration$days3 === void 0 ? 0 : _duration$days3,_duration$hours3 = duration.hours,hours = _duration$hours3 === void 0 ? 0 : _duration$hours3,_duration$minutes3 = duration.minutes,minutes = _duration$minutes3 === void 0 ? 0 : _duration$minutes3,_duration$seconds3 = duration.seconds,seconds = _duration$seconds3 === void 0 ? 0 : _duration$seconds3;
  4492. var withoutMonths = _subMonths(date, months2 + years * 12, options);
  4493. var withoutDays = _subDays(withoutMonths, days2 + weeks * 7, options);
  4494. var minutesToSub = minutes + hours * 60;
  4495. var secondsToSub = seconds + minutesToSub * 60;
  4496. var msToSub = secondsToSub * 1000;
  4497. return _constructFrom((options === null || options === void 0 ? void 0 : options.in) || date, +withoutDays - msToSub);
  4498. }
  4499. // lib/subBusinessDays.js
  4500. function _subBusinessDays(date, amount, options) {
  4501. return _addBusinessDays(date, -amount, options);
  4502. }
  4503. // lib/subHours.js
  4504. function _subHours(date, amount, options) {
  4505. return _addHours(date, -amount, options);
  4506. }
  4507. // lib/subMilliseconds.js
  4508. function _subMilliseconds(date, amount, options) {
  4509. return _addMilliseconds(date, -amount, options);
  4510. }
  4511. // lib/subMinutes.js
  4512. function _subMinutes(date, amount, options) {
  4513. return _addMinutes(date, -amount, options);
  4514. }
  4515. // lib/subQuarters.js
  4516. function _subQuarters(date, amount, options) {
  4517. return _addQuarters(date, -amount, options);
  4518. }
  4519. // lib/subSeconds.js
  4520. function _subSeconds(date, amount, options) {
  4521. return _addSeconds(date, -amount, options);
  4522. }
  4523. // lib/subWeeks.js
  4524. function _subWeeks(date, amount, options) {
  4525. return _addWeeks(date, -amount, options);
  4526. }
  4527. // lib/subYears.js
  4528. function _subYears(date, amount, options) {
  4529. return _addYears(date, -amount, options);
  4530. }
  4531. // lib/weeksToDays.js
  4532. function _weeksToDays(weeks) {
  4533. return Math.trunc(weeks * daysInWeek);
  4534. }
  4535. // lib/yearsToDays.js
  4536. function _yearsToDays(years) {
  4537. return Math.trunc(years * daysInYear);
  4538. }
  4539. // lib/yearsToMonths.js
  4540. function _yearsToMonths(years) {
  4541. return Math.trunc(years * monthsInYear);
  4542. }
  4543. // lib/yearsToQuarters.js
  4544. function _yearsToQuarters(years) {
  4545. return Math.trunc(years * quartersInYear);
  4546. }
  4547. // lib/cdn.js
  4548. window.dateFns = _objectSpread(_objectSpread({},
  4549. window.dateFns),
  4550. exports_lib);
  4551. //# debugId=C576AA8F71413BF164756E2164756E21
  4552. //# sourceMappingURL=cdn.js.map
  4553. })();