UNPKG

@tubular/astronomy

Version:

Astronomical calculations for planetary positions, moon phases, eclipses, rise, transit, and set times, and more.

109 lines 861 kB
import{floor as M,div_rd as c,div_tt0 as e,mod2 as z,round as A,abs as o,min as b,max as a,ceil as p,mod as i,SphericalPosition as t,Unit as n,Angle as O,cos as s,sin as r,atan2 as l,HALF_PI as d,asin as q,sqrt as u,SphericalPosition3D as B,limitNeg1to1 as L,sin_deg as W,cos_deg as f,PI as N,interpolate as C,interpolateModular as T,pow as h,atan as m,to_radian as X,tan as R,sinh as g,cosh as E,sign as S,TWO_PI as D,log as y,signZP as P,tan_deg as w,atan_deg as k,acos_deg as I,asin_deg as _,atan2_deg as U,log10 as G,exp as v,acos as F,squared as j,ZeroFinder as H,MinMaxFinder as K,FMT_DD as x,FMT_MINS as V,interpolateTabular as Y,to_degree as J}from"@tubular/math" ;import{last as Z,clone as Q,forEach as $,toNumber as MM,isEqual as cM,compareStrings as eM,padLeft as zM,isString as AM,isNumber as oM,isArray as bM,isObject as aM,convertDigitsToAscii as pM,flatten as iM,isBoolean as tM,compareCaseSecondary as nM,replace as OM,blendColors as sM,extendDelimited as rM,processMillis as lM,htmlEscape as dM,isFunction as qM}from"@tubular/util" ;const uM=-271820,BM=275759,LM=6e4,WM=36e5,fM=864e5,NM=86400,CM=2440587.5,TM=32.184/NM,hM=2400000.5,mM=["BC","AD","Before Christ","Anno Domini"],XM=["January","February","March","April","May","June","July","August","September","October","November","December"],RM=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],gM=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],EM=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],SM=["Su","Mo","Tu","We","Th","Fr","Sa"];let DM,yM ;const PM=[["y","year"],["q","quarter"],["m","month"],["d","day"],["dow","dayOfWeek"],["dowmi","dayOfWeekMonthIndex"],["dy","dayOfYear"],["n","epochDay"],["j","isJulian"],["yw","yearByWeek"],["w","week"],["dw","dayByWeek"],["ywl","yearByWeekLocale"],["wl","weekLocale"],["dwl","dayByWeekLocale"],["hrs","hour"],["min","minute"],["sec","second"]],wM=["y","q","m","d","dow","dowmi","dy","n","j","year","quarter","month","day","dayOfWeek","dayOfWeekMonthIndex","dayOfYear","epochDay","isJulian","yw","w","dw","yearByWeek","week","dayByWeek","ywl","wl","dwl","yearByWeekLocale","weekLocale","dayByWeekLocale","hrs","min","sec","hour","minute","second","millis","utcOffset","dstOffset","occurrence","deltaTai","jde","mjde","jdu","mjdu","error"] ;function kM(M){for(const[c,e]of PM)M.hasOwnProperty(c)?M[e]=M[c]:M.hasOwnProperty(e)&&(M[c]=M[e]);return M}function IM(M,c=!1){for(const[e,z]of PM)delete M[c?e:z];return M}const _M=new Set(["y","year","m","month","d","day","hrs","hour","min","minute","sec","second","millis"]),UM=new Error("Invalid ISO date/time");function GM(M,c=!1){let e=1;M.startsWith("-")?(e=-1,M=M.substr(1)):M.startsWith("+")&&(M=M.substr(1));const z=M.includes(":")?M.split(":"):M.match(/../g)??["0"] ;let A=60*(60*Number(z[0])+Number(z[1]??0));if(z[2]){const M=Number(z[2]);A+=c?M<30?0:60:M}return e*A}function vM(M,c,e){const z=M instanceof Intl.DateTimeFormat?M.formatToParts(c):M;e=e??c;const A=z.find(M=>M.type===e);return A?A.value:"???"}function FM(M,c,e){return MM(pM(vM(M,c,e)))}var jM,HM;(HM=jM||(jM={}))[HM.PURE_GREGORIAN=0]="PURE_GREGORIAN",HM[HM.PURE_JULIAN=1]="PURE_JULIAN";var KM,xM;!function(M){M[M.SUNDAY=0]="SUNDAY",M[M.MONDAY=1]="MONDAY",M[M.TUESDAY=2]="TUESDAY",M[M.WEDNESDAY=3]="WEDNESDAY", M[M.THURSDAY=4]="THURSDAY",M[M.FRIDAY=5]="FRIDAY",M[M.SATURDAY=6]="SATURDAY"}(KM||(KM={})),function(M){M[M.JANUARY=1]="JANUARY",M[M.FEBRUARY=2]="FEBRUARY",M[M.MARCH=3]="MARCH",M[M.APRIL=4]="APRIL",M[M.MAY=5]="MAY",M[M.JUNE=6]="JUNE",M[M.JULY=7]="JULY",M[M.AUGUST=8]="AUGUST",M[M.SEPTEMBER=9]="SEPTEMBER",M[M.OCTOBER=10]="OCTOBER",M[M.NOVEMBER=11]="NOVEMBER",M[M.DECEMBER=12]="DECEMBER"}(xM||(xM={}));const VM=-9999999,YM=9999999,JM=-141427,ZM=new Error("This DateTime instance is locked and immutable") ;function QM(M,c,e,z,A=!1){let o,b,a,p;if(oM(M))a=M;else{if(bM(M)&&M.length>=3&&oM(M[0]))return M;bM(M)?(a=M[0],c=M[1]):aM(M)&&(kM(M),o=M.n,b=A?void 0:M.j,a=M.y,p=M.dy,c=M.m,e=M.d)}if(null==a){if(null!=o){if("g"===z||!1===b)return QM(ac(o));if("j"===z||!0===b)return QM(pc(o));if(z){++z.computeWeekValues;const M=QM(z.getDateFromDayNumber(o));return--z.computeWeekValues,M}return QM(bc(o))}throw new Error("Calendar: Invalid date arguments")} return null==c&&null==e&&null!=p?QM("g"===z||!1===b?ac(Mc(a,1,0)+p):"j"===z||!0===b?pc(cc(a,1,0)+p):bc($M(a,1,0)+p)):[a,c=c??1,e=e??1,null==b?-1:+b]}function $M(M,c,e){let z,A;for([z,c,e,A]=QM(M,c,e);c<1;)c+=12,--z;for(;c>12;)c-=12,++z;return 1===A||0!==A&&function(M,c,e){let z,A;return[z,c,e,A]=QM(M,c,e),1===A||z<1582||1582===z&&(c<10||10===c&&e<15)}(z,c,e)?cc(z,c,e):Mc(z,c,e)}function Mc(M,z,A){let o;for([o,z,A]=QM(M,z,A,"g");z<1;)z+=12,--o;for(;z>12;)z-=12,++o ;return 367*o-c(7*(o+e(z+9,12)),4)-e(3*(e(o+e(z-9,7),100)+1),4)+e(275*z,9)+A-719559}function cc(M,z,A){let o;for([o,z,A]=QM(M,z,A,"j");z<1;)z+=12,--o;for(;z>12;)z-=12,++o;return 367*o-c(7*(o+e(z+9,12)),4)+e(275*z,9)+A-719561}function ec(M,c){return 9===c||4===c||6===c||11===c?30:2!==c?31:M%4!=0||M%100==0&&M%400!=0?28:29}function zc(M,c){return 9===c||4===c||6===c||11===c?30:2!==c?31:M%4==0?29:28}function Ac(M){return i(M+4,7)}function oc(M,c,e,z){const A=$M(M,c,z),o=Ac(A),b=i(e-o,7);if(1582===M&&10===c){ const e=bc(A+b);z=e.y!==M||e.m!==c?0:e.d}else(z+=b)>function(M,c){return 9===c||4===c||6===c||11===c?30:2!==c?31:M%4==0&&(M<1583||M%100!=0||M%400==0)?29:28}(M,c)&&(z=0);return z}function bc(M){return M>=JM?ac(M):pc(M)}function ac(M){let c,e,z,A,o;for(c=Math.floor((M+719528)/365.2425);M<Mc(c,1,1);)--c;for(;M>=Mc(c+1,1,1);)++c;for(z=A=M-Mc(c,1,1)+1,e=1;z>(o=ec(c,e));++e)z-=o;return kM({y:c,m:e,d:z,dy:A,n:M,j:!1})}for(let M=-207084;M<=205084;++M)pc(M);function pc(M){let c,e,z,A ;for(c=Math.floor((M+719530)/365.25),z=M-cc(c,1,1)+1,e=1;z>(A=zc(c,e));++e)z-=A;return kM({y:c,m:e,d:z,n:M,j:!0})}function ic(M,c,e,z,A,o,b){return(b=b||0)+1e3*(o=o||0)+A*LM+z*WM+$M(M,c,e)*fM}function tc(M){const e=bc(c(M,fM));return e.millis=i(M,1e3),M=c(M,1e3),e.sec=i(M,60),M=c(M,60),e.min=i(M,60),M=c(M,60),e.hrs=i(M,24),e.utcOffset=0,e.dstOffset=0,e.occurrence=1,kM(e)}function nc(M,c,e){let z;return[z,c,e]=QM(M,c,e),(z<0?"-":"")+zM(Math.abs(z),4,"0")+"-"+zM(c,2,"0")+"-"+zM(e,2,"0")}function Oc(M){ let c=1;(M=M.trim()).startsWith("-")&&(c=-1,M=M.substring(1).trim());let e=/^(\d+)-(\d{1,2}(?=\D))(?:-(\d+))?$/.exec(M);if(e||(e=/^(\d{1,5})$/.exec(M)),e||(e=/^(\d{4,})(\d\d)(\d\d)$/.exec(M)),!e)throw new Error("Invalid ISO date");return kM({y:Number(e[1])*c,m:Number(e[2]??1),d:Number(e[3]??1)})}class sc{constructor(M,c,e){this.gcYear=1582,this.gcMonth=10,this.gcDate=15,this.firstGregorianDay=JM,this.firstDateInGCChangeMonth=1,this.lengthOfGCChangeMonth=21,this.lastJulianYear=Number.MIN_SAFE_INTEGER, this.lastJulianMonth=Number.MIN_SAFE_INTEGER,this.lastJulianDate=4,this._locked=!1,this.lock=()=>this._lock(),this.computeWeekValues=0,M===jM.PURE_GREGORIAN?this.setGregorianChange(VM,0,0):M===jM.PURE_JULIAN?this.setGregorianChange(YM,0,0):0===arguments.length||null==M?this.setGregorianChange(1582,10,15):this.setGregorianChange(M,c,e)}_lock(M=!0){return this._locked=this._locked||M,this}get locked(){return this._locked}setPureGregorian(M){if(this.locked)throw ZM ;return M?this.setGregorianChange(VM,0,0):this.setGregorianChange(1582,10,15),this}isPureGregorian(){return this.gcYear<=VM}setPureJulian(M){if(this.locked)throw ZM;return M?this.setGregorianChange(YM,0,0):this.setGregorianChange(1582,10,15),this}isPureJulian(){return this.gcYear>=YM}setGregorianChange(M,c,e){if(this.locked)throw ZM;if("g"===M||"G"===M)return this.setPureGregorian(!0),this;if("j"===M||"J"===M)return this.setPureJulian(!0),this ;if(AM(M))M=Oc(M);else if(aM(M)&&!bM(M)&&(null==M.y||null==M.m||null==M.d||M.j))throw new Error("Gregorian change date must be an explicit non-Julian y-m-d date");let z;if([z,c,e]=QM(M,c,e,this),z<300){if((0!==c||0!==e)&&z>VM)throw new Error("Calendar: Gregorian change year cannot be less than 300");this.firstGregorianDay=Number.MIN_SAFE_INTEGER,this.gcYear=VM}else if(z>3900){if((0!==c||0!==e)&&z<YM)throw new Error("Calendar: Gregorian change year cannot be greater than 3900") ;this.firstGregorianDay=Number.MAX_SAFE_INTEGER,this.gcYear=YM}else if(!function(M,c,e){let z;[z,c,e]=QM(M,c,e,"g");const A=ac(Mc(z,c,e));return z===A.y&&c===A.m&&e===A.d}(z,c,e))throw new Error("Calendar: Invalid Gregorian date: "+nc(z,c,e));this.gcYear=z,this.gcMonth=c,this.gcDate=e,this.firstGregorianDay=Mc(z,c,e);const A=pc(this.firstGregorianDay-1);return this.lastJulianDate=A.d,this.lengthOfGCChangeMonth=ec(z,c),A.y===z&&A.m===c?(this.lastJulianYear=Number.MIN_SAFE_INTEGER, this.lastJulianMonth=Number.MIN_SAFE_INTEGER,this.firstDateInGCChangeMonth=1,this.lengthOfGCChangeMonth-=e-this.lastJulianDate-1):(this.lastJulianYear=A.y,this.lastJulianMonth=A.m,this.firstDateInGCChangeMonth=e,this.lengthOfGCChangeMonth-=e-1),this}getGregorianChange(){return kM({y:this.gcYear,m:this.gcMonth,d:this.gcDate,n:this.firstGregorianDay,j:!1})}isJulianCalendarDate(M,c,e){let z,A;return[z,c,e,A]=QM(M,c,e,this), 1===A||z<this.gcYear||z===this.gcYear&&(c<this.gcMonth||c===this.gcMonth&&e<this.gcDate)}getDayNumber(M,c,e){if(aM(M)&&!bM(M))if(kM(M),null!=M.y||null==M.yw&&null==M.ywl)null!=M.y&&null==M.m&&null!=M.dy&&(M=this.addDaysToDate(M.dy-1,{y:M.y,m:1,d:1}));else{const z=null!=M.ywl,A=M.ywl??M.yw,o=z&&null!=c?c:1,b=z&&null!=e?e:4,a=(z?M.wl:M.w)??1,p=(z?M.dwl:M.dw)??1;++this.computeWeekValues;const i=this.getStartDateOfFirstWeekOfYear(A,o,b).n+7*(a-1)+p-1;M=this.getDateFromDayNumber(i),--this.computeWeekValues} let z,A;for([z,c,e,A]=QM(M,c,e,this);c<1;)c+=12,--z;for(;c>12;)c-=12,++z;return A<0&&(z===this.lastJulianYear&&c===this.lastJulianMonth?e>this.lastJulianDate&&(e=this.lastJulianDate+1):z===this.gcYear&&c===this.gcMonth&&(e>this.lastJulianDate||this.lastJulianMonth!==this.gcMonth&&this.lastJulianMonth>0)&&e<this.gcDate&&(e=this.gcDate)),1===A||0!==A&&this.isJulianCalendarDate(z,c,e)?cc(z,c,e):Mc(z,c,e)}getDateFromDayNumber(M,c,e){let z;return z=M>=this.firstGregorianDay?ac(M):pc(M), 0===this.computeWeekValues&&([z.yw,z.w,z.dw]=this.getYearWeekAndWeekday(z,c,e)),kM(z)}getFirstDateInMonth(M,c){return M===this.gcYear&&c===this.gcMonth?this.firstDateInGCChangeMonth:1}getLastDateInMonth(M,c){return 0===c?(c=12,--M):13===c&&(c=1,++M),M===this.lastJulianYear&&c===this.lastJulianMonth?this.lastJulianDate:9===c||4===c||6===c||11===c?30:2!==c?31:M%4==0&&(M<this.gcYear||M===this.gcYear&&this.gcMonth>2||M%100!=0||M%400==0)?29:28}getDaysInMonth(M,c){return 0===c?(c=12,--M):13===c&&(c=1,++M), M===this.gcYear&&c===this.gcMonth?this.lengthOfGCChangeMonth:M===this.lastJulianYear&&c===this.lastJulianMonth?this.lastJulianDate:9===c||4===c||6===c||11===c?30:2!==c?31:this.getDayNumber(M,3,1)-this.getDayNumber(M,2,1)}getDaysInYear(M){return this.getDayNumber(M+1,1,1)-this.getDayNumber(M,1,1)}getDayOfWeek(M,c,e){return oM(M)&&null==c?Ac(M):Ac(this.getDayNumber(M,c,e))}getDateOfNthWeekdayOfMonth(M,c,e,z){const A=z>=6;let o=this.getDayNumber(M,c,1);const b=Ac(o);let a,p=0;if(b===e&&1===z)return 1 ;for(o+=i(e-b,7),a=this.getDateFromDayNumber(o);a.m===c;){if(p=a.d,0===--z)return p;o+=7,a=this.getDateFromDayNumber(o)}return A?p:0}getDayOfWeekInMonthCount(M,c,z){const A=this.getDayNumber(M,c,this.getDateOfNthWeekdayOfMonth(M,c,z,1)),o=this.getDayNumber(M,c+1,1);return e(o-A-1,7)+1}getDayOfWeekInMonthIndex(M,e,z){let A;[A,e,z]=QM(M,e,z,this);const o=this.getDayNumber(A,e,1),b=this.getDayNumber(A,e,z);return c(b-o,7)+1}getDayOnOrAfter(M,c,e,z){const A=this.getDayNumber(M,c,z),o=Ac(A),b=i(e-o,7) ;if(M===this.gcYear&&c===this.gcMonth){const e=this.getDateFromDayNumber(A+b);z=e.y!==M||e.m!==c?0:e.d}else(z+=b)>this.getLastDateInMonth(M,c)&&(z=0);return z}getDayOnOrBefore(M,c,e,z){const A=this.getDayNumber(M,c,z),o=Ac(A),b=i(o-e,7);if(M===this.gcYear&&c===this.gcMonth){const e=this.getDateFromDayNumber(A-b);z=e.y!==M||e.m!==c?0:e.d}else(z-=b)<0&&(z=0);return z}addDaysToDate(M,c,e,z){return this.getDateFromDayNumber(this.getDayNumber(c,e,z)+M)}getCalendarMonth(M,c,e=0){const z=[] ;let A,o,b,a=this.getDayNumber(M,c,this.getFirstDateInMonth(M,c));A=i(e-Ac(a),-7),a+=A,o=this.getDateFromDayNumber(a,e);do{z.push(o),++a,++A,o=this.getDateFromDayNumber(a),b=o.m}while(A<1||b===c||Ac(a)!==e);return z}isValidDate(M,c,e){let z;[z,c,e]=QM(M,c,e,this,!0);const A=this.getDateFromDayNumber(this.getDayNumber(z,c,e));return z===A.y&&c===A.m&&e===A.d}normalizeDate(M,c,e){let z;if([z,c,e]=QM(M,c,e,this,!0),c<1?(c+=12,z-=1):c>12&&(c-=12,z+=1),!this.isValidDate(z,c,e)){let M ;if(e<(M=this.getFirstDateInMonth(z,c)))e=M;else if(e>(M=this.getLastDateInMonth(z,c)))e=M;else{const M=this.getMissingDateRange(z,c);null!=M&&(e=M[1]+1)}}return kM({y:z,m:c,d:e})}getMissingDateRange(M,c){if(M===this.lastJulianYear&&c===this.lastJulianMonth){const e=zc(M,c);if(e>this.lastJulianDate)return[this.lastJulianDate+1,e]}else if(M===this.gcYear&&c===this.gcMonth&&this.gcDate>1&&this.gcDate>this.lastJulianDate+1)return[this.lastJulianDate+1,this.gcDate-1];return null} getStartDateOfFirstWeekOfYear(M,c=1,e=4){let z=1;7===e&&(++z,--e);const A=i(this.getDayOfWeek(M,1,z)-c,7);return this.addDaysToDate((A>7-e?7:0)-A,M,1,z)}getWeeksInYear(M,c=1,e=4){const z=this.getStartDateOfFirstWeekOfYear(M,c,e);return(this.getStartDateOfFirstWeekOfYear(M+1,c,e).n-z.n)/7}getYearWeekAndWeekday(c,e,z,A,o){const[b,a,p]=QM(c,e,z,this,!0);aM(c)&&(A=e,o=z),A=A??1,o=o??4,++this.computeWeekValues;let t=b,n=this.getStartDateOfFirstWeekOfYear(b,A,o) ;const O=this.getStartDateOfFirstWeekOfYear(b+1,A,o),s=this.getDayNumber(b,a,p);return n.n>s?(n=this.getStartDateOfFirstWeekOfYear(b-1,A,o),--t):O.n<=s&&(n=O,++t),--this.computeWeekValues,[t,M((s-n.n)/7)+1,i(s-n.n,7)+1]}}var rc=Intl.DateTimeFormat;let lc=!1,dc=!0,qc="en";try{if(lc="undefined"!=typeof Intl&&!!Intl?.DateTimeFormat,lc){dc=new rc("en-us",{dateStyle:"full"}).format(0)!==new rc("en-us",{dateStyle:"short"}).format(0), dc||console.warn("Intl.DateTimeFormatOptions dateStyle and timeStyle not available")}else console.warn("Intl.DateTimeFormat not available")}catch(HM){lc=!1,console.warn("Intl.DateTimeFormat not available: %s",HM.message||HM.toString())}try{lc?qc=(new Intl.DateTimeFormat).resolvedOptions().locale:"object"==typeof process&&process.env?.LANG?qc=process.env.LANG.replace(/\..*$/,"").replace(/_/g,"-"):"object"==typeof navigator&&navigator.language&&(qc=navigator.language)}catch{qc="en"} const uc=lc,Bc=dc,Lc=qc,Wc={full:{year:"numeric",month:"long",day:"numeric",weekday:"long"},long:{year:"numeric",month:"long",day:"numeric"},medium:{year:"numeric",month:"short",day:"numeric"},short:{year:"2-digit",month:"numeric",day:"numeric"}},fc={full:{hour:"numeric",minute:"2-digit",second:"2-digit",timeZoneName:"long"},long:{hour:"numeric",minute:"2-digit",second:"2-digit",timeZoneName:"short"},medium:{hour:"numeric",minute:"2-digit",second:"2-digit"},short:{hour:"numeric",minute:"2-digit"}} ;function Nc(M,c){Object.keys(c).forEach(e=>M[e]=M[e]??c[e])}function Cc(M){return uc&&M?(AM(M)&&M.includes(",")&&(M=M.split(",").map(M=>M.trim().replace(/-u-.*$/,""))),bM(M)?0===M.length?"en":1===M.length?Cc(M[0]):M.map(M=>Cc(M)):M.replace(/_/g,"-").toLowerCase()):"en-us"}function Tc(M){return M.replace(/-[^-]*?$/i,"")}function hc(M,c){let e;M=Cc(M),bM(M)||(M=[M]);for(let z of M){let M;do{e=c[z],M=Tc(z)}while(!e&&z.includes("-")&&(z=M));if(e)break}return e}const mc={af:[["vm","VM"],["nm","NM"]], ar:[["ص"],["م"]],az:[["gecə"],["gecə"],["gecə"],["gecə"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["səhər"],["gündüz"],["gündüz"],["gündüz"],["gündüz"],["gündüz"],["axşam"],["axşam"],["axşam"],["axşam"],["axşam"],["axşam"],["axşam"]],be:[["ночы"],["ночы"],["ночы"],["ночы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["раніцы"],["дня"],["дня"],["дня"],["дня"],["дня"],["вечара"],["вечара"],["вечара"],["вечара"],["вечара"],["вечара"],["вечара"]], bn:[["রাত"],["রাত"],["রাত"],["রাত"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["দুপুর"],["বিকাল"],["বিকাল"],["বিকাল"],["রাত"],["রাত"],["রাত"],["রাত"]],"bn-bd":[["রাত"],["রাত"],["রাত"],["রাত"],["ভোর"],["ভোর"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["সকাল"],["দুপুর"],["দুপুর"],["দুপুর"],["বিকাল"],["বিকাল"],["বিকাল"],["সন্ধ্যা"],["সন্ধ্যা"],["রাত"],["রাত"],["রাত"],["রাত"]], bo:[["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","མཚན་མོ"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཞོགས་ཀས"],["སྔ་དྲོ","ཉིན་གུང"],["སྔ་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","ཉིན་གུང"],["ཕྱི་དྲོ","དགོང་དག"],["ཕྱི་དྲོ","དགོང་དག"],["ཕྱི་དྲོ","དགོང་དག"],["ཕྱི་དྲོ","མཚན་མོ"],["ཕྱི་དྲོ","མཚན་མོ"],["ཕྱི་དྲོ","མཚན་མོ"],["ཕྱི་དྲོ","མཚན་མོ"]], br:[["a.m.","A.M."],["g.m.","G.M."]],el:[["πμ","ΠΜ","π.μ."],["μμ","ΜΜ","μ.μ."]],eo:[["atm","ATM","a.t.m.","A.T.M."],["ptm","PTM","p.t.m.","P.T.M."]],fa:[["قبل از ظهر"],["بعد از ظهر"]],gu:[["રાત"],["રાત"],["રાત"],["રાત"],["સવાર"],["સવાર"],["સવાર"],["સવાર"],["સવાર"],["સવાર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["બપોર"],["સાંજ"],["સાંજ"],["સાંજ"],["રાત"],["રાત"],["રાત"],["રાત"]],he:[["לפ׳","לפ׳","לפנה״צ"],["אח׳","אח׳","אחה״צ"]], hi:[["पू","रात"],["पू","रात"],["पू","रात"],["पू","रात"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","सुबह"],["पू","दोपहर"],["पू","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","दोपहर"],["अ","शाम"],["अ","शाम"],["अ","शाम"],["अ","रात"],["अ","रात"],["अ","रात"],["अ","रात"]],hu:[["de","DE","de."],["du","DU","du."]], hy:[["գիշերվա"],["գիշերվա"],["գիշերվա"],["գիշերվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["առավոտվա"],["ցերեկվա"],["ցերեկվա"],["ցերեկվա"],["ցերեկվա"],["ցերեկվա"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"],["երեկոյան"]],ja:[["午前"],["午後"]], jv:[["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","enjing"],["isuk","Isuk","siyang"],["wengi","Wengi","siyang"],["wengi","Wengi","siyang"],["wengi","Wengi","siyang"],["wengi","Wengi","sonten"],["wengi","Wengi","sonten"],["wengi","Wengi","sonten"],["wengi","Wengi","sonten"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"],["wengi","Wengi","ndalu"]], km:[["ព្រឹក"],["ល្ងាច"]], kn:[["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ರಾತ್ರಿ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಬೆಳಿಗ್ಗೆ","ಪೂರ್ವಾಹ್ನ"],["ಮಧ್ಯಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"],["ಮಧ್ಯಾಹ್ನ","ಪೂರ್ವಾಹ್ನ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಮಧ್ಯಾಹ್ನ","ಅಪರಾಹ"],["ಸಂಜೆ","ಅಪರಾಹ"],["ಸಂಜೆ","ಅಪರಾಹ"],["ಸಂಜೆ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"],["ರಾತ್ರಿ","ಅಪರಾಹ"]], ko:[["오전"],["오후"]],ku:[["BN","به‌یانی"],["PN","ئێواره‌"]],lo:[["ຕອນເຊົ້າ"],["ຕອນແລງ"]],ml:[["രാത്രി"],["രാത്രി"],["രാത്രി"],["രാത്രി"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["രാവിലെ"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["ഉച്ച കഴിഞ്ഞ്"],["വൈകുന്നേരം"],["വൈകുന്നേരം"],["വൈകുന്നേരം"],["രാത്രി"],["രാത്രി"],["രാത്രി"],["രാത്രി"]],mn:[["ү.ө.","ҮӨ"],["ү.х.","ҮХ"]], mr:[["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","पहाटे"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.पू.","सकाळी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","दुपारी"],["म.उ.","सायंकाळी"],["म.उ.","सायंकाळी"],["म.उ.","सायंकाळी"],["म.उ.","रात्री"],["म.उ.","रात्री"],["म.उ.","रात्री"],["म.उ.","रात्री"]], ms:[["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["pagi","PG"],["tengahari","PG"],["tengahari","PTG"],["tengahari","PTG"],["tengahari","PTG"],["petang","PTG"],["petang","PTG"],["petang","PTG"],["petang","PTG"],["malam","PTG"],["malam","PTG"],["malam","PTG"],["malam","PTG"],["malam","PTG"]], my:[["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["နံနက်","နံနက်"],["ညနေ","မွန်းတည့်"],["ညနေ","နေ့လယ်"],["ညနေ","နေ့လယ်"],["ညနေ","နေ့လယ်"],["ညနေ","ညနေ"],["ညနေ","ညနေ"],["ညနေ","ညနေ"],["ညနေ","ည"],["ညနေ","ည"],["ညနေ","ည"],["ညနေ","ည"],["ညနေ","ည"]], ne:[["पूर्वाह्न","राति"],["पूर्वाह्न","राति"],["पूर्वाह्न","राति"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["पूर्वाह्न","बिहान"],["अपराह्न","दिउँसो"],["अपराह्न","दिउँसो"],["अपराह्न","दिउँसो"],["अपराह्न","दिउँसो"],["अपराह्न","साँझ"],["अपराह्न","साँझ"],["अपराह्न","साँझ"],["अपराह्न","साँझ"],["अपराह्न","राति"],["अपराह्न","राति"],["अपराह्न","राति"],["अपराह्न","राति"]], ru:[["ночи"],["ночи"],["ночи"],["ночи"],["утра"],["утра"],["утра"],["утра"],["утра"],["утра"],["утра"],["утра"],["дня"],["дня"],["дня"],["дня"],["дня"],["вечера"],["вечера"],["вечера"],["вечера"],["вечера"],["вечера"],["вечера"]],sd:[["صبح"],["شام","منجهند"]],si:[["පෙ.ව.","පෙර වරු"],["ප.ව.","පස් වරු"]],sq:[["pd","PD","e paradites"],["md","MD","e pasdites"]], ta:[["யாமம்","முற்பகல்"],["யாமம்","முற்பகல்"],["வைகறை","முற்பகல்"],["வைகறை","முற்பகல்"],["வைகறை","முற்பகல்"],["வைகறை","முற்பகல்"],["காலை","முற்பகல்"],["காலை","முற்பகல்"],["காலை","முற்பகல்"],["காலை","முற்பகல்"],["நண்பகல்","முற்பகல்"],["நண்பகல்","முற்பகல்"],["நண்பகல்","பிற்பகல்"],["நண்பகல்","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["எற்பாடு","பிற்பகல்"],["மாலை","பிற்பகல்"],["மாலை","பிற்பகல்"],["மாலை","பிற்பகல்"],["மாலை","பிற்பகல்"],["யாமம்","பிற்பகல்"],["யாமம்","பிற்பகல்"]], te:[["రాత్రి"],["రాత్రి"],["రాత్రి"],["రాత్రి"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["ఉదయం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["మధ్యాహ్నం"],["సాయంత్రం"],["సాయంత్రం"],["సాయంత్రం"],["రాత్రి"],["రాత్రి"],["రాత్రి"],["రాత్రి"]],tg:[["шаб"],["шаб"],["шаб"],["шаб"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["субҳ"],["рӯз"],["рӯз"],["рӯз"],["рӯз"],["рӯз"],["бегоҳ"],["бегоҳ"],["бегоҳ"],["шаб"],["шаб"],["шаб"],["шаб"],["шаб"]], th:[["ก่อนเที่ยง"],["หลังเที่ยง"]],tr:[["öö","ÖÖ"],["ös","ÖS"]], ug:[["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","يېرىم كېچە"],["چۈشتىن بۇرۇن","سەھەر"],["چۈشتىن بۇرۇن","سەھەر"],["چۈشتىن بۇرۇن","سەھەر"],["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],["چۈشتىن بۇرۇن","چۈشتىن بۇرۇن"],["چۈشتىن كېيىن","چۈش"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","چۈشتىن كېيىن"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"],["چۈشتىن كېيىن","كەچ"]], uk:[["дп"],["пп"]],ur:[["ق.د.","صبح"],["ب.د.","شام"]],vi:[["sa","SA"],["ch","CH"]],zh:[["上午"],["下午"]]},Xc={};["af","bo","br","el","eo","he","hi","hu","jv","ku","lo","mn","my","mr","ne","sd","sq","si","th","ug","ur","zh"].forEach(M=>Xc[M]=!0);const Rc=[["am","AM"],["pm","PM"]],gc={};"ag as au bd br bs bt bw bz ca cn co dm do et gt\n gu hk hn id il in jm jp ke kh kr la mh mm mo mt\n mx mz ni np pa pe ph pk pr pt py sa sg sv th tt\n tw um us ve vi ws ye za zw".split(/s+/).forEach(M=>gc[M]=0), "ad ai al am an ar at ax az ba be bg bm bn by ch\n cl cm cr cy cz de dk ec ee es fi fj fo fr gb ge\n gf gp gr hr hu ie is it kg kz lb li lk lt lu lv\n mc md me mk mn mq my nl no nz pl re ro rs ru se\n si sk sm tj tm tr ua uy uz va vn xk".split(/s+/).forEach(M=>gc[M]=1),gc.mv=5,"ae af bh dj dz eg iq ir jo kw ly om qa sd sy".split(/s+/).forEach(M=>gc[M]=6);const Ec={af:[1,4,5],ar:[6,1,5,6],"ar-dz":[0,3,5,6],"ar-sa":[0,1,4,5],az:[1,1,6,0],be:[1,1,6,0],bg:[1,1,6,0],bn:[0,1,6,0],"bn-bd":[0,1,6,0],bo:[0,1,6,0], bs:[1,1,6,0],en:[1,1,6,0],"en-au":[0,3,6,0],"en-ca":[0,1,6,0],"en-il":[0,1,5,6],"en-us":[0,1,6,0],eo:[1,1,6,0],"es-mx":[0,3,6,0],"es-us":[0,1,6,0],eu:[1,1,6,0],fa:[6,1,6,0],fr:[1,1,6,0],"fr-ca":[0,1,6,0],gu:[0,1,6,0],hi:[0,1,6,0],hr:[1,1,6,0],"hy-am":[1,1,6,0],ja:[0,1,6,0],jv:[1,1,6,0],ka:[1,1,6,0],kk:[1,1,6,0],kn:[0,1,6,0],ko:[0,1,6,0],ku:[6,1,6,0],ky:[1,1,6,0],lo:[0,1,6,0],mk:[1,1,6,0],ml:[0,1,6,0],mn:[0,1,6,0],mr:[0,1,5,6],ms:[1,1,6,0],ne:[0,1,6,0],pt:[1,1,6,0],"pt-br":[0,1,6,0],ro:[1,1,6,0],sd:[1,4,5], si:[0,1,6,0],sl:[1,1,6,0],sr:[1,1,6,0],sw:[1,1,6,0],ta:[0,1,6,0],te:[0,1,6,0],tg:[1,1,6,0],th:[0,1,6,0],tk:[1,1,6,0],tr:[1,1,6,0],tzm:[6,1,6,0],"ug-cn":[1,1,6,0],uk:[1,1,6,0],uz:[1,1,6,0],zh:[0,1,6,0]};function Sc(M){let c,e=hc(M,Ec);null==e&&(e=Ec.en),M=Cc(M),bM(M)||(M=[M]);for(const e of M){const M=e.split("-")[1];if(M){if(null!=Ec[e])break;if(c=gc[M],null!=c)break}}return null!=c&&(e[0]=c),e}function Dc(M){return Sc(M)[0]}function yc(M){return Sc(M)[1]}function Pc(M){return Sc(M).slice(2)}const wc={ af:["0de","1ste","2de","3de","4de","5de","6de","7de","8ste","9de","10de","11de","12de","13de","14de","15de","16de","17de","18de","19de","20ste","21ste","22ste","23ste","24ste","25ste","26ste","27ste","28ste","29ste","30ste","31ste"],ar:1, az:["0-ıncı","1-inci","2-nci","3-üncü","4-üncü","5-inci","6-ncı","7-nci","8-inci","9-uncu","10-uncu","11-inci","12-nci","13-üncü","14-üncü","15-inci","16-ncı","17-nci","18-inci","19-uncu","20-nci","21-inci","22-nci","23-üncü","24-üncü","25-inci","26-ncı","27-nci","28-inci","29-uncu","30-uncu","31-inci"],be:1, bg:["0-ев","1-ви","2-ри","3-ти","4-ти","5-ти","6-ти","7-ми","8-ми","9-ти","10-ти","11-ти","12-ти","13-ти","14-ти","15-ти","16-ти","17-ти","18-ти","19-ти","20-ти","21-ви","22-ри","23-ти","24-ти","25-ти","26-ти","27-ми","28-ми","29-ти","30-ти","31-ви"],bm:1,bn:1,bo:1, br:["0vet","1añ","2vet","3vet","4vet","5vet","6vet","7vet","8vet","9vet","10vet","11vet","12vet","13vet","14vet","15vet","16vet","17vet","18vet","19vet","20vet","21vet","22vet","23vet","24vet","25vet","26vet","27vet","28vet","29vet","30vet","31vet"],bs:2,ca:["0è","1r","2n","3r","4t","5è","6è","7è","8è","9è","10è","11è","12è","13è","14è","15è","16è","17è","18è","19è","20è","21è","22è","23è","24è","25è","26è","27è","28è","29è","30è","31è"],cs:2, cy:["0","1af","2il","3ydd","4ydd","5ed","6ed","7ed","8fed","9fed","10fed","11eg","12fed","13eg","14eg","15fed","16eg","17eg","18fed","19eg","20fed","21ain","22ain","23ain","24ain","25ain","26ain","27ain","28ain","29ain","30ain","31ain"],da:2,de:2,el:6,en:["0th","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th","11th","12th","13th","14th","15th","16th","17th","18th","19th","20th","21st","22nd","23rd","24th","25th","26th","27th","28th","29th","30th","31st"],eo:3,es:4,et:2,eu:2,fa:5,fi:2,fil:1, fo:2,fr:["0e","1er","2e","3e","4e","5e","6e","7e","8e","9e","10e","11e","12e","13e","14e","15e","16e","17e","18e","19e","20e","21e","22e","23e","24e","25e","26e","27e","28e","29e","30e","31e"],fy:["0de","1ste","2de","3de","4de","5de","6de","7de","8ste","9de","10de","11de","12de","13de","14de","15de","16de","17de","18de","19de","20ste","21ste","22ste","23ste","24ste","25ste","26ste","27ste","28ste","29ste","30ste","31ste"], ga:["0mh","1d","2na","3mh","4mh","5mh","6mh","7mh","8mh","9mh","10mh","11mh","12na","13mh","14mh","15mh","16mh","17mh","18mh","19mh","20mh","21mh","22na","23mh","24mh","25mh","26mh","27mh","28mh","29mh","30mh","31mh"],gd:["0mh","1d","2na","3mh","4mh","5mh","6mh","7mh","8mh","9mh","10mh","11mh","12na","13mh","14mh","15mh","16mh","17mh","18mh","19mh","20mh","21mh","22na","23mh","24mh","25mh","26mh","27mh","28mh","29mh","30mh","31mh"],gl:4,gu:1,hi:1,hr:2,hu:2,"hy-am":1,is:2,it:4,ja:1,jv:1, ka:["0","1-ლი","მე-2","მე-3","მე-4","მე-5","მე-6","მე-7","მე-8","მე-9","მე-10","მე-11","მე-12","მე-13","მე-14","მე-15","მე-16","მე-17","მე-18","მე-19","მე-20","21-ე","22-ე","23-ე","24-ე","25-ე","26-ე","27-ე","28-ე","29-ე","30-ე","31-ე"],kk:["0-ші","1-ші","2-ші","3-ші","4-ші","5-ші","6-шы","7-ші","8-ші","9-шы","10-шы","11-ші","12-ші","13-ші","14-ші","15-ші","16-шы","17-ші","18-ші","19-шы","20-шы","21-ші","22-ші","23-ші","24-ші","25-ші","26-шы","27-ші","28-ші","29-шы","30-шы","31-ші"], km:["ទី0","ទី1","ទី2","ទី3","ទី4","ទី5","ទី6","ទី7","ទី8","ទី9","ទី10","ទី11","ទី12","ទី13","ទី14","ទី15","ទី16","ទី17","ទី18","ទី19","ទី20","ទី21","ទី22","ទី23","ទី24","ទី25","ទី26","ទី27","ទី28","ទី29","ទី30","ទី31"],kn:["0ನೇ","1ನೇ","2ನೇ","3ನೇ","4ನೇ","5ನೇ","6ನೇ","7ನೇ","8ನೇ","9ನೇ","10ನೇ","11ನೇ","12ನೇ","13ನೇ","14ನೇ","15ನೇ","16ನೇ","17ನೇ","18ನೇ","19ನೇ","20ನೇ","21ನೇ","22ನೇ","23ನೇ","24ನೇ","25ನೇ","26ನೇ","27ನೇ","28ನೇ","29ನೇ","30ನೇ","31ನೇ"],ko:1,ku:1, ky:["0-чү","1-чи","2-чи","3-чү","4-чү","5-чи","6-чы","7-чи","8-чи","9-чу","10-чу","11-чи","12-чи","13-чү","14-чү","15-чи","16-чы","17-чи","18-чи","19-чу","20-чы","21-чи","22-чи","23-чү","24-чү","25-чи","26-чы","27-чи","28-чи","29-чу","30-чу","31-чи"],lb:2,lo:["ທີ່0","ທີ່1","ທີ່2","ທີ່3","ທີ່4","ທີ່5","ທີ່6","ທີ່7","ທີ່8","ທີ່9","ທີ່10","ທີ່11","ທີ່12","ທີ່13","ທີ່14","ທີ່15","ທີ່16","ທີ່17","ທີ່18","ທີ່19","ທີ່20","ທີ່21","ທີ່22","ທີ່23","ທີ່24","ທີ່25","ທີ່26","ທີ່27","ທີ່28","ທີ່29","ທີ່30","ທີ່31"], lt:["0-oji","1-oji","2-oji","3-oji","4-oji","5-oji","6-oji","7-oji","8-oji","9-oji","10-oji","11-oji","12-oji","13-oji","14-oji","15-oji","16-oji","17-oji","18-oji","19-oji","20-oji","21-oji","22-oji","23-oji","24-oji","25-oji","26-oji","27-oji","28-oji","29-oji","30-oji","31-oji"],lv:2,mi:4, mk:["0-ев","1-ви","2-ри","3-ти","4-ти","5-ти","6-ти","7-ми","8-ми","9-ти","10-ти","11-ти","12-ти","13-ти","14-ти","15-ти","16-ти","17-ти","18-ти","19-ти","20-ти","21-ви","22-ри","23-ти","24-ти","25-ти","26-ти","27-ми","28-ми","29-ти","30-ти","31-ви"],ml:1,mn:1,mr:1,ms:1,mt:4,my:1,nb:2,ne:1, nl:["0de","1ste","2de","3de","4de","5de","6de","7de","8ste","9de","10de","11de","12de","13de","14de","15de","16de","17de","18de","19de","20ste","21ste","22ste","23ste","24ste","25ste","26ste","27ste","28ste","29ste","30ste","31ste"],nn:2,pl:2,pt:4,ro:1,ru:1,sd:1,se:2, si:["0 වැනි","1 වැනි","2 වැනි","3 වැනි","4 වැනි","5 වැනි","6 වැනි","7 වැනි","8 වැනි","9 වැනි","10 වැනි","11 වැනි","12 වැනි","13 වැනි","14 වැනි","15 වැනි","16 වැනි","17 වැනි","18 වැනි","19 වැනි","20 වැනි","21 වැනි","22 වැනි","23 වැනි","24 වැනි","25 වැනි","26 වැනි","27 වැනි","28 වැනි","29 වැනි","30 වැනි","31 වැනි"],sk:2,sl:2,sq:2,sr:2, sv:["0:e","1:a","2:a","3:e","4:e","5:e","6:e","7:e","8:e","9:e","10:e","11:e","12:e","13:e","14:e","15:e","16:e","17:e","18:e","19:e","20:e","21:a","22:a","23:e","24:e","25:e","26:e","27:e","28:e","29:e","30:e","31:a"],sw:1,ta:["0வது","1வது","2வது","3வது","4வது","5வது","6வது","7வது","8வது","9வது","10வது","11வது","12வது","13வது","14வது","15வது","16வது","17வது","18வது","19வது","20வது","21வது","22வது","23வது","24வது","25வது","26வது","27வது","28வது","29வது","30வது","31வது"], te:["0వ","1వ","2వ","3వ","4వ","5వ","6వ","7వ","8వ","9వ","10వ","11వ","12వ","13వ","14వ","15వ","16వ","17వ","18వ","19వ","20వ","21వ","22వ","23వ","24వ","25వ","26వ","27వ","28వ","29వ","30వ","31వ"],tg:["0-ум","1-ум","2-юм","3-юм","4-ум","5-ум","6-ум","7-ум","8-ум","9-ум","10-ум","11-ум","12-ум","13-ум","14-ум","15-ум","16-ум","17-ум","18-ум","19-ум","20-ум","21-ум","22-юм","23-юм","24-ум","25-ум","26-ум","27-ум","28-ум","29-ум","30-юм","31-ум"],th:1, tk:["0'unjy","1'inji","2'nji","3'ünji","4'ünji","5'inji","6'njy","7'nji","8'inji","9'unjy","10'unjy","11'inji","12'nji","13'ünji","14'ünji","15'inji","16'njy","17'nji","18'inji","19'unjy","20'nji","21'inji","22'nji","23'ünji","24'ünji","25'inji","26'njy","27'nji","28'inji","29'unjy","30'unjy","31'inji"], tr:["0'ıncı","1'inci","2'nci","3'üncü","4'üncü","5'inci","6'ncı","7'nci","8'inci","9'uncu","10'uncu","11'inci","12'nci","13'üncü","14'üncü","15'inci","16'ncı","17'nci","18'inci","19'uncu","20'nci","21'inci","22'nci","23'üncü","24'üncü","25'inci","26'ncı","27'nci","28'inci","29'uncu","30'uncu","31'inci"],tzm:1,"ug-cn":1,uk:1,ur:1,uz:1,vi:1, yo:["ọjọ́ 0","ọjọ́ 1","ọjọ́ 2","ọjọ́ 3","ọjọ́ 4","ọjọ́ 5","ọjọ́ 6","ọjọ́ 7","ọjọ́ 8","ọjọ́ 9","ọjọ́ 10","ọjọ́ 11","ọjọ́ 12","ọjọ́ 13","ọjọ́ 14","ọjọ́ 15","ọjọ́ 16","ọjọ́ 17","ọjọ́ 18","ọjọ́ 19","ọjọ́ 20","ọjọ́ 21","ọjọ́ 22","ọjọ́ 23","ọjọ́ 24","ọjọ́ 25","ọjọ́ 26","ọjọ́ 27","ọjọ́ 28","ọjọ́ 29","ọjọ́ 30","ọjọ́ 31"],zh:1 },kc=1728e5,Ic=/^(America\/Argentina|America\/Indiana)\/(.+)$/,_c=/^(CST6CDT|EET|EST5EDT|MST7MDT|PST8PDT|SystemV\/AST4ADT|SystemV\/CST6CDT|SystemV\/EST5EDT|SystemV\/MST7MDT|SystemV\/PST8PDT|SystemV\/YST9YDT|WET)$/,Uc=new Set(["deltaTs","leapSeconds","version","years"]);class Gc{constructor(M){const c=M.split(/[ :]/);this.startYear=Number(c[0]),this.month=Number(c[1]),this.dayOfMonth=Number(c[2]),this.dayOfWeek=Number(c[3]),this.atHour=Number(c[4]),this.atMinute=Number(c[5]),this.atType=Number(c[6]), this.save=A(60*Number(c[7]))}getTransitionTime(M,c,e){let z;z=this.dayOfWeek>=0&&this.dayOfMonth>0?oc(M,this.month,this.dayOfWeek-1,this.dayOfMonth):this.dayOfWeek>=0&&this.dayOfMonth<0?oc(M,this.month,this.dayOfWeek-1,-this.dayOfMonth):this.dayOfWeek>=0&&0===this.dayOfMonth?function(M,c,e,z){const A=z>=6;let o=$M(M,c,1);const b=Ac(o);let a,p=0;if(b===e&&1===z)return 1;for(o+=i(e-b,7),a=bc(o);a.m===c;){if(p=a.d,0===--z)return p;o+=7,a=bc(o)}return A?p:0}(M,this.month,this.dayOfWeek-1,6):this.dayOfMonth ;let A=ic(M,this.month,z,this.atHour,this.atMinute);return 0===this.atType?A-=1e3*(c+e):1===this.atType&&(A-=1e3*c),A}toString(){const M=RM[this.month-1],e=EM[this.dayOfWeek-1];let z="";return 0===this.dayOfMonth?z+=`last ${e} of ${M}`:this.dayOfWeek<0?z+=`${M} ${this.dayOfMonth}`:this.dayOfMonth>0?z+=`first ${e} on/after ${M} ${this.dayOfMonth}`:z+=`last ${e} on/before ${M} ${-this.dayOfMonth}`,z+=`, at ${this.atHour}:${zM(this.atMinute,2,"0")} `,z+=["wall time","std time","UTC"][this.atType], 0===this.save?z+=" begin std time":(this.save%3600==0?z+=` save ${c(this.save,3600)} hour${o(this.save/3600)>1?"s":""}`:z+=` save ${c(this.save,60)} mins`,this.save%60!=0&&(z+=` ${this.save%60} secs`)),z}}let vc,Fc,jc,Hc,Kc=[];!function(){const M=new Date(1901,0,1,12,0,0,0);let c=M.getTime();const e=Date.now(),z=e+62208e6,A=e+15552e8;let o=60*-M.getTimezoneOffset();for(Kc.push({transitionTime:Number.MIN_SAFE_INTEGER,utcOffset:o,dstOffset:0});M.getTime()<A;){const e=c+2592e6;M.setTime(e) ;const A=60*-M.getTimezoneOffset();if(void 0===vc&&e>=z&&(vc=Fc=A),A!==o){e>=z&&(vc=Math.min(vc,A),Fc=Math.max(Fc,A));let b=c,a=e;for(;a-b>LM;){const c=Math.floor((a+b)/2/LM)*LM;M.setTime(c),60*-M.getTimezoneOffset()===o?b=c:a=c}Kc.push({transitionTime:a,utcOffset:A,dstOffset:0}),o=A}c=e}Kc.length<2?(Kc=null,jc=!1,Hc=0):(jc=Fc>vc,Hc=Fc-vc,jc&&(Kc[0].utcOffset===Fc&&Kc[1].utcOffset===vc&&(Kc.splice(0,1),Kc[0].transitionTime=Number.MIN_SAFE_INTEGER),Kc.forEach((M,c)=>{ c>0&&M.utcOffset===Fc&&Kc[c-1]?.utcOffset===vc&&(M.dstOffset=Fc-vc)}),0!==Z(Kc).dstOffset&&Kc.pop()))}();class xc{static get version(){return this._version}static defineTimezones(M){const c=!cM(this.encodedTimezones,M);return this._version=M?.version?M.version:"unspecified",this.encodedTimezones=Object.assign({},M??{}),this.extractZoneInfo(),this.extractLeapSeconds(),this.extractDeltaTs(),c&&(this.offsetsAndZones=void 0,this.regionAndSubzones=void 0,this.zoneLookup={}),c}static getAvailableTimezones(){ const M=[];for(const c of Object.keys(this.encodedTimezones))(c.includes("/")||/^[A-Z]/.test(c))&&M.push(c);return M.sort(),M}static getOffsetsAndZones(){if(this.offsetsAndZones)return this.offsetsAndZones;const M={};for(const c of Object.keys(this.encodedTimezones)){if(!c.includes("/")||c.startsWith("Etc/")||_c.test(c))continue;let e=this.encodedTimezones[c];if(!e.includes(";")){const M=/^!([^,]*)$/.exec(e)||/^(?:.*,)?(.*)$/.exec(e);e=this.encodedTimezones[M[1]]??""}const z=e.split(/[ ;]/) ;if(z.length<3)continue;const A=z[1].split(/([-+]?\d\d)/g).filter(M=>!!M).join(":")+this.getDstSymbol(60*MM(z[2]));let o=M[A];o||(o=[],M[A]=o),o.push(c.replace(/_/g," "))}const c=[],e=M=>MM(M.replace(/[^-+\d]/g,""));for(const e of Object.keys(M))c.push(e);c.sort((M,c)=>e(M)-e(c)),this.offsetsAndZones=[];for(const e of c){const c=M[e];c.sort(),this.offsetsAndZones.push({offset:e,offsetSeconds:GM(e.replace(/[^-+\d]/g,"")),dstOffset:{"^":1800,"§":3600,"#":7200,"❄":-3600,"~":999}[e.substr(e.length-1)]||0, zones:c})}return this.offsetsAndZones}static getRegionsAndSubzones(){if(this.regionAndSubzones)return this.regionAndSubzones;let M=!1;const c={};for(const e of Object.keys(this.encodedTimezones)){let z,A;const o=Ic.exec(e)??/^(.+?)\/(.+)$/.exec(e);o?(z=o[1],A=o[2].replace(/_/g," ")):(z=e,A=null),(null==A||_c.test(e))&&(z="~",A=e,M=!0);let b=c[z];b||(b=[],c[z]=b),b.push(A)}const e=[];for(const M of Object.keys(c))e.push(M);e.sort(),M&&(e[e.length-1]="MISC",c.MISC=c["~"],delete c["~"]), this.regionAndSubzones=[];for(const M of e){const e=c[M];e.sort(),this.regionAndSubzones.push({region:M,subzones:e})}return this.regionAndSubzones}static guess(c=!1,e,z){if(!this._guess||c)if(!uc||e||z){let c=e;if(!c)try{"undefined"!=typeof process&&(c=(process.env?.LANG??process.env?.LC_CTYPE??"").split(/[-._]/)[1]?.toUpperCase())}catch{}if(!c)try{"undefined"!=typeof navigator&&(c=(navigator.language??"").split(/[-._]/)[1]?.toUpperCase())}catch{} const A=z?xc.from(z):this.OS_ZONE,o=this.formatUtcOffset(A.utcOffset,!0)+";"+M(A.dstOffset/60),b=Array.from(this.zonesByOffsetAndDst[o]??[]).filter(M=>!c||this.doesZoneMatchCountry(M,c)).map(M=>({zone:M,rating:A.matchRating(xc.from(M)),pop:this.populationForZone[M]})).sort((M,c)=>c.rating!==M.rating?c.rating-M.rating:c.pop-M.pop);this._guess=b[0]?.zone??"OS"}else this._guess=(new Intl.DateTimeFormat).resolvedOptions().timeZone??"OS";return this._guess}static has(M){ return!!this.zoneLookup[M]||!!this.zonesByLowercase[M.toLowerCase()]||!!this.encodedTimezones[M]||/^(GMT|OS|UTC?|ZONELESS|DATELESS|TAI)$/i.test(M)}static from(M){return xc.getTimezone(M)}static getTimezone(M,c){if(!M)return this.OS_ZONE;const e=M.toLowerCase();if("tai"===e)return this.TAI_ZONE;if("dateless"===e)return this.DATELESS;if("zoneless"===e)return this.ZONELESS;this.zonesByLowercase[e]&&(M=this.zonesByLowercase[e]);const A=this.zoneLookup[M];if(A)return A;let o ;const b=/^(?:LMT|OS|(?:(GMT|UTC?)?([-+]\d\d(\d{4}|\d\d|:\d\d(:\d\d)?))?)|(?:.+\/.+)|\w+)$/.exec(M);if(null===b||0===b.length)throw new Error('Unrecognized format for timezone name "'+M+'"');if("LMT"===b[0].toUpperCase())c=c||0,o=new xc({zoneName:"LMT",currentUtcOffset:60*Math.round(4*z(c,360)),usesDst:!1,dstOffset:0,transitions:null});else if("OS"===b[0].toUpperCase())o=this.OS_ZONE;else if(b.length>1&&(/GMT|UTC?/.test(b[1])||b[2])){let c=0;b[1]||(M="UT"+M),b[2]&&(c=GM(b[2])),o=new xc({zoneName:M, currentUtcOffset:c,usesDst:!1,dstOffset:0,transitions:null})}else if(this.encodedTimezones[M]){let c=this.encodedTimezones[M],e=null,z=null;if(!c.includes(";")){const M=/^!(.*,)?(.*)$/.exec(c);M?(z=M[1],c=M[2]):e=c,c=this.encodedTimezones[c]}o=new xc(this.parseEncodedTimezone(M,c,e,z))}else o=new xc({zoneName:M,currentUtcOffset:vc,usesDst:jc,dstOffset:Hc,transitions:Kc}),o._error="Unrecognized timezone";return"LMT"===M||o._error||(this.zoneLookup[M]=o),o}static getAliasesForZone(M){ return M=this.zonesByLowercase[M?.toLowerCase()],this.zonesAliases[M]?Array.from(this.zonesAliases[M]):[]}static hasShortName(M){return!!this.shortZoneNames[M]}static getShortZoneNameInfo(M){return Q(this.shortZoneNames[M])}static getPopulation(M){let c=this.populationForZone[M];if(null==c){const e=this.getAliasesForZone(M);for(const z of e)if(c=this.populationForZone[z],null!=c&&c>0){this.populationForZone[M]=c;break}}return null==c&&(this.populationForZone[M]=0),c??0}static getCountries(M){ let c=this.countriesForZone[M];if(null==c){const e=this.getAliasesForZone(M);for(const z of e)if(c=this.countriesForZone[z],null!=c.size){this.countriesForZone[M]=c;break}}return null==c&&(this.countriesForZone[M]=new Set),new Set(c)}static doesZoneMatchCountry(M,c){return this.getCountries(M).has(c.toUpperCase())}static parseTimeOffset(M){let c=1;if(M.startsWith("-")?(c=-1,M=M.substr(1)):M.startsWith("+")&&(M=M.substr(1)),"0"===M)return 0;if("1"===M)return 3600;{ let e=60*(60*Number(M.substr(0,2))+Number(M.substr(2,2)));return 6===M.length&&(e+=Number(M.substr(4,2))),c*e}}static fromBase60(M){let c=1,e=0,z=!1,A=1;M.startsWith("-")?(c=-1,M=M.substr(1)):M.startsWith("+")&&(M=M.substr(1));for(let c=0;c<M.length;++c){let o=M.charCodeAt(c);46!==o?(o-=o>96?87:o>64?29:48,z?(A/=60,e+=A*o):(e*=60,e+=o)):z=!0}return e*c}static extractTimezoneTransitionsFromIntl(c,e){const z=[],A={timeZone:c,hourCycle:"h23",year:"numeric",month:"numeric",day:"numeric",hour:"numeric", minute:"numeric",second:"numeric"},o=new Intl.DateTimeFormat("en",A);let b,a=ic(1901,1,1,0,0,0,0);do{a+=36e5,b=FM(o,a,"hour")}while(0!==b&&1!==b);a+=432e5;const p=c=>{const e=o.formatToParts(c);return M((ic(FM(e,"year"),FM(e,"month"),FM(e,"day"),FM(e,"hour"),FM(e,"minute"),FM(e,"second"))-c)/1e3)},i=a+62208e6,t=ic(e+1,1,1,0,0,0,0);let n,O,s=p(a);for(;a<t;){const M=a+2592e6,c=p(M);if(void 0===n&&M>=i&&(n=O=c),c!==s){M>=i&&(n=Math.min(n,c),O=Math.max(O,c));let e=a,A=M;for(;A-e>LM;){ const M=Math.floor((A+e)/2/LM)*LM;p(M)===s?e=M:A=M}z.push({transitionTime:A,utcOffset:c,dstOffset:0}),s=c}a=M}return z.length<2||O<=n?[]:(z[0].utcOffset===O&&z[1].utcOffset===n&&(z.splice(0,1),z[0].transitionTime=Number.MIN_SAFE_INTEGER),z.forEach((M,c)=>{M.utcOffset===O&&z[c-1]?.utcOffset===n&&(M.dstOffset=O-n)}),z)}static applyTransitionRules(M,c,e,z,A,o,b,a,p,i,t=!1){for(let n=c;n<e;++n){const c=A.getTransitionTime(n,z,a),e=o.getTransitionTime(n,z,0),O=e<c?o:A,s=e<c?e:c,r=e>c?o:A,l=e>c?e:c ;s>b+kc&&(t||n>=O.startYear)&&M.push({transitionTime:s,utcOffset:z+O.save,dstOffset:O.save,name:O.save?p:i}),l>b+kc&&(t||n>=r.startYear)&&M.push({transitionTime:l,utcOffset:z+r.save,dstOffset:r.save,name:r.save?p:i})}}static countriesStringToSet(M){return M.includes(" ")?new Set(M.split(/\s+/)):new Set(M.split(/(\w\w)/).filter(M=>!!M))}static parseEncodedTimezone(M,c,e,z){let o=[];const b=c.split(";");let a=b[0].split(" ");const p=this.parseTimeOffset(a[0]),i=this.parseTimeOffset(a[1]),t=A(60*Number(a[2])) ;let n,O,s,r,l,d=Number.MIN_SAFE_INTEGER,q=0,u="";if(o.push({transitionTime:Number.MIN_SAFE_INTEGER,utcOffset:p,dstOffset:0}),b.length>5)for(z||(z=b[5]+","+(b[6]??"")),b.length=5;!Z(b);)--b.length;if(z){const M=z.split(",");q=MM(M[0]),u=M[1]??""}if(b.length>1){const c=b[1].split(" "),e=[],z=[],n=[];for(let M=0;M<c.length;++M)a=c[M].split("/"),e[M]=A(60*this.fromBase60(a[0])),z[M]=A(60*this.fromBase60(a[1])),a.length>2?n[M]=a[2]:n[M]=null;if(o[0].name=n[0],b.length>3){const c=b[2],a=b[3].split(" ");let q=0 ;for(let M=0;M<c.length;++M){const b=this.fromBase60(c.substr(M,1)),p=q+A(60*this.fromBase60(a[M]));o.push({transitionTime:1e3*p,utcOffset:e[b],dstOffset:z[b],name:n[b]}),q=p,0===M&&(d=p),0!==z[b]?s=n[b]:O=n[b]}if(b.length>4){q*=1e3;const c=b[4].split(",");r=new Gc(c[0]),l=new Gc(c[1]);const e=tc(q).y-1;this.applyTransitionRules(o,e,2500,i,r,l,q,t,s,O),0!==o[o.length-1].dstOffset&&(o.length-=1);const z=tc(1e3*d).y;if(z>2e3&&o.length>1){const c=this.extractTimezoneTransitionsFromIntl(M,z);let e=!1 ;if(0===c.length&&i===p&&(e=!0,this.applyTransitionRules(c,1925,z+1,i,r,l,Number.MIN_SAFE_INTEGER+1,t,s,O,!0)),c.length>0){for(e&&c.length>1&&0===c[0].dstOffset&&0!==c[1].dstOffset&&c.splice(0,1);c.length>0&&0!==Z(c).dstOffset||Z(c).transitionTime>=o[1].transitionTime;)c.splice(c.length-1,1);c[0].transitionTime===o[0].transitionTime&&c.splice(0,1),o.splice(1,0,...c)}}}}}return 1===o.length&&(n=o[0].name,o=null),{zoneName:M,currentUtcOffset:i,usesDst:0!==t,dstOffset:t,displayName:n,transitions:o, population:q,countries:this.countriesStringToSet(u),aliasFor:e,stdRule:r,dstRule:l}}static buildAliases(M,c){let e=this.zonesAliases[M],z=this.zonesAliases[c];e||(e=this.zonesAliases[M]=new Set),z||(z=this.zonesAliases[c]=new Set),e.add(c),z.add(M),e.forEach(M=>{M!==c&&(z.add(M),this.zonesAliases[M].add(c))})}static extractZoneInfo(){this.shortZoneNames={},this.zonesByLowercase={gmt:"GMT",lmt:"LMT",os:"OS",tai:"TAI",ut:"UT",utc:"UTC"},this.zonesByOffsetAndDst={},this.countriesForZone={}, this.zonesAliases={},this.zonesForCountry={},this.populationForZone={} ;const M=new Set(["Australia/ACT","Australia/Adelaide","Asia/Tokyo","Asia/Hong_Kong","Asia/Jakarta","Asia/Novosibirsk","Asia/Calcutta","Asia/Karachi","Europe/Moscow","Africa/Cairo","Europe/Paris","Europe/London","Atlantic/Azores","America/Scoresbysund","America/Godthab","America/St_Johns","America/Halifax","America/New_York","America/Chicago","America/Denver","America/Los_Angeles","America/Anchorage","Pacific/Honolulu","America/Adak","Pacific/Apia"]),c=c=>M.has(c)?"!"+c:c ;Object.keys(this.encodedTimezones).filter(M=>!Uc.has(M)&&!M.startsWith("_")).sort((M,e)=>eM(c(M),c(e))).forEach(M=>{let c,e,z=this.encodedTimezones[M],o=!1;if(this.zonesByLowercase[M.toLowerCase()]=M,!z.includes(";")){const M=/^!(.*,)?(.*)$/.exec(z);M?(e=M[1],c=M[2],z=this.encodedTimezones[c]):(c=z,o=!0)}if(c&&(this.buildAliases(M,c),this.buildAliases(c,M)),o)return;const b=z.split(";");let a=b[0].split(" ");const p=this.parseTimeOffset(a[1]),i=A(60*Number(a[2]));if(b.length>1){ const c=b[0].split(" "),z=c.length>2?c[1]+";"+c[2]:null,o=b[1].split(" ");for(let c=0;c<o.length;++c){if(a=o[c].split("/"),a.length>2){const c=a[2],e=this.shortZoneNames[c],z=A(60*this.fromBase60(a[0])),o=A(60*this.fromBase60(a[1]));e&&(!M.startsWith("America/")||e.ianaName.startsWith("America/"))||z-o!==p||o&&(!o||o!==i)||(this.shortZoneNames[c]={utcOffset:z,dstOffset:o,ianaName:M})}if(!e&&b.length>5&&(e=b[5]+","+(b[6]??"")),z){let c=this.zonesByOffsetAndDst[z];c||(this.zonesByOffsetAndDst[z]=c=new Set), c.add(M)}if(e){const c=e.split(","),z=this.countriesStringToSet(c[1]??"");z.size>0&&(this.countriesForZone[M]=z),this.populationForZone[M]=MM(c[0]),z.forEach(c=>{let e=this.zonesForCountry[c];e||(this.zonesForCountry[c]=e=new Set),e.add(M)})}}}})}static extractDeltaTs(){const M=this.encodedTimezones?.deltaTs,c=this.getDateAfterLastKnownLeapSecond();yM(M?M.split(/\s+/).map(M=>MM(M)):null,c)}static extractLeapSeconds(){this.leapSeconds=[],this.lastLeapSecond=void 0;const M=this.encodedTimezones?.leapSeconds ;if(!M)return;let c=-1;this.leapSeconds.push({utcMillis:Number.MIN_SAFE_INTEGER,taiMillis:Number.MIN_SAFE_INTEGER+1e4,dateAfter:null,deltaTai:0,isNegative:!1});const e=[-4383,-3837,-3106,-2376,-1826,-1280,-915,-549,-184,181,546];e.push(...M.split(/\s+/).map(M=>MM(M))),e.forEach((M,e)=>{const z=e<11?M:o(M),A=z*fM;c+=e>10&&M<0?-1:1,this.leapSeconds.push({utcMillis:A,taiMillis:A+1e3*c,dateAfter:bc(z),deltaTai:c,isNegative:e>10&&M<0})}),this.lastLeapSecond=Z(this.leapSeconds).dateAfter} static formatUtcOffset(c,z=!1){if(null==c)return"?";let A=c<0?"-":"+";const o=z?"":":";c=Math.abs(c);const b=e(c,3600),a=e(c-=3600*b,60);return c-=60*a,A+=zM(b,2,"0")+o+zM(a,2,"0"),0!==c&&(A+=o+zM(M(c),2,"0"),c%1!=0&&(A+="."+c.toFixed(3).substr(2),A=A.replace(/\.000$/,""))),A}static getDstSymbol(M){if(null==M)return"";switch(M){case 0:return"";case 1800:return"^";case 3600:return"§";case 7200:return"#";default:return M<0?"❄":"~"}}constructor(c){if(this._countries=new Set,this._zoneName=c.zoneName, this._utcOffset=c.currentUtcOffset,this._usesDst=c.usesDst,this._dstOffset=c.dstOffset,this.displayName=c.displayName,this.transitions=Q(c.transitions),this._aliasFor=c.aliasFor,this._population=c.population??0,this._countries=c.countries??new Set,this._stdRule=c.stdRule,this._dstRule=c.dstRule,this.transitions&&this.transitions.length>0){let c,e,z=this.transitions[0].utcOffset,A=z,o=!1;for(const b of this.transitions)e=0!==b.dstOffset,c=b.utcOffset-b.dstOffset,b.deltaOffset=b.utcOffset-z, b.dstFlipped=e!==o,b.baseOffsetChanged=c!==A,b.wallTime=b.transitionTime+1e3*b.utcOffset,b.wallTimeDay=bc(M(b.wallTime/864e5)).d,Object.freeze(b),z=b.utcOffset,o=e,A=c}}get zoneName(){return this._zoneName}get utcOffset(){return this._utcOffset}get usesDst(){return this._usesDst}get dstOffset(){return this._dstOffset}get error(){return this._error}get aliasFor(){return this._aliasFor}get countries(){return new Set(this._countries)}get population(){return this._population}get stdRule(){ return this._stdRule?.toString()}get dstRule(){return this._dstRule?.toString()}getOffset(M,c=0){if(this.transitions&&0!==this.transitions.length){let e=this.findTransitionByUtc(M);return 0!==c&&e.wallTimeDay!==c&&(e=this.findTransitionByUtc(M-1)),e.utcOffset}return this._utcOffset}getDisplayName(M){let c;if(this.transitions&&0!==this.transitions.length){const e=this.findTransitionByUtc(M);c=e.name,c||(c=xc.formatUtcOffset(e.utcOffset))}else c=this.displayName,c||(c=xc.formatUtcOffset(this.utcOffset)) ;let e=/^[+-]\d\d$/.exec(c);return e?c=e[0]+":00":(e=/^([+-]\d\d)(\d\d)$/.exec(c),e?c=e[1]+":"+e[2]:(e=/^([+-]\d\d)(\d\d)(\d\d)$/.exec(c),e&&(c=e[1]+":"+e[2]+":"+e[3]))),c}supportsCountry(M){return this._countries.has(M.toUpperCase())}getOffsetForWallTime(M){return this.transitions&&0!==this.transitions.length?this.findTransitionByWallTime(M).utcOffset:this._utcOffset}getFormattedOffset(M,c=!1){return xc.formatUtcOffset(this.getOffset(M),c)}getOffsets(M){if(this.transitions&&0!==this.transitions.length){ const c=this.findTransitionByUtc(M);return[c.utcOffset,c.dstOffset]}return[this._utcOffset,this._dstOffset]}isDuringDst(M){return!(!this.transitions||0===this.transitions.length)&&0!==this.findTransitionByUtc(M).dstOffset}getAllTransitions(){return this.transitions&&0!==this.transitions.length?Q(this.transitions):null}findTransitionByUtc(M){if(!this.transitions||0===this.transitions.length)return nul