summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorteh_coderer <me@tehcoderer.com>2023-03-05 18:48:35 -0500
committerteh_coderer <me@tehcoderer.com>2023-03-05 18:48:35 -0500
commita18f8b0cbf4a1d08e7b252b83d4eafd7deeb83a7 (patch)
tree236fb0411894548b0e523a8abbf65c6871c7d4a8
parent9e3b24489848beb33deecb143b6c4596510edb7f (diff)
updates
-rw-r--r--frontend-components/tables/src/App.tsx7
-rw-r--r--frontend-components/tables/src/components/Chart.tsx10
-rw-r--r--frontend-components/tables/src/components/Table.tsx6
-rw-r--r--openbb_terminal/core/plots/backend.py5
-rw-r--r--openbb_terminal/core/plots/table.html6
-rw-r--r--openbb_terminal/fixedincome/ecb_model.py3
-rw-r--r--openbb_terminal/helper_funcs.py5
7 files changed, 25 insertions, 17 deletions
diff --git a/frontend-components/tables/src/App.tsx b/frontend-components/tables/src/App.tsx
index 0b3cf60270d..09ecf3e8124 100644
--- a/frontend-components/tables/src/App.tsx
+++ b/frontend-components/tables/src/App.tsx
@@ -7,6 +7,7 @@ import { HTML5Backend } from "react-dnd-html5-backend";
declare global {
interface Window {
json_data: any;
+ title: string;
}
}
@@ -30,6 +31,12 @@ function App() {
const transformData = (data: any) => {
if (!data) return null;
+
+ let filename = data.title.replace(/<b>|<\/b>/g, "").replace(/ /g, "_");
+ let date = new Date().toISOString().slice(0, 10).replace(/-/g, "");
+ let time = new Date().toISOString().slice(11, 19).replace(/:/g, "");
+ window.title = `openbb_${filename}_${date}_${time}`
+
const columns = data.columns;
const index = data.index;
const newData = data.data;
diff --git a/frontend-components/tables/src/components/Chart.tsx b/frontend-components/tables/src/components/Chart.tsx
index 746df5af932..53a67f2b558 100644
--- a/frontend-components/tables/src/components/Chart.tsx
+++ b/frontend-components/tables/src/components/Chart.tsx
@@ -13,14 +13,8 @@ const COLORS = [
];
const plot_layout = {
- margin: {
- l: 20,
- r: 30,
- b: 20,
- pad: 0,
- },
- height: 762,
- width: 1400,
+ height: window.innerHeight * 0.7,
+ width: window.innerWidth * 0.8,
font: {
color: "#F5EFF3",
size: 16,
diff --git a/frontend-components/tables/src/components/Table.tsx b/frontend-components/tables/src/components/Table.tsx
index 12ea0f9c1f6..d6d737d1911 100644
--- a/frontend-components/tables/src/components/Table.tsx
+++ b/frontend-components/tables/src/components/Table.tsx
@@ -308,19 +308,19 @@ export default function Table({ data, columns }: any) {
if (type === "csv") {
const csvContent = csvData.map((e) => e.join(",")).join("\n");
const blob = new Blob([csvContent], { type: "text/csv;charset=utf-8;" });
- saveToFile(blob, "data.csv");
+ saveToFile(blob, `${window.title}.csv`);
} else {
const wb = utils.book_new();
const ws = utils.aoa_to_sheet(csvData);
utils.book_append_sheet(wb, ws, "Sheet1");
- writeFile(wb, "data.xlsx");
+ writeFile(wb, `${window.title}.xlsx`);
}
};
const downloadImage = () => {
const table = document.getElementById("table");
domtoimage.toBlob(table).then(function (blob) {
- saveToFile(blob, "data.png");
+ saveToFile(blob, `${window.title}.png`);
});
};
diff --git a/openbb_terminal/core/plots/backend.py b/openbb_terminal/core/plots/backend.py
index e7b3dfb12d0..780e4683f65 100644
--- a/openbb_terminal/core/plots/backend.py
+++ b/openbb_terminal/core/plots/backend.py
@@ -216,11 +216,14 @@ class Backend(pywry.PyWry):
# in case of a very small table we set a min width
width = max(int(min(sum(columnwidth) * 9.7, self.WIDTH + 100)), 800)
+ json_data = json.loads(df_table.to_json(orient="split"))
+ json_data.update(dict(title=title))
+
self.outgoing.append(
json.dumps(
{
"html_path": self.get_table_html(),
- "json_data": df_table.to_json(orient="split"),
+ "json_data": json.dumps(json_data),
"width": width,
"height": self.HEIGHT - 100,
**self.get_kwargs(title),
diff --git a/openbb_terminal/core/plots/table.html b/openbb_terminal/core/plots/table.html
index b2f231c3a8b..ae3ebec9848 100644
--- a/openbb_terminal/core/plots/table.html
+++ b/openbb_terminal/core/plots/table.html
@@ -3762,9 +3762,9 @@ void main() {
`))):Q=re.stylize("[Circular]","special")),A(Z)){if(j&&q.match(/^\d+$/))return Q;Z=JSON.stringify(""+q),Z.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(Z=Z.slice(1,-1),Z=re.stylize(Z,"name")):(Z=Z.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),Z=re.stylize(Z,"string"))}return Z+": "+Q}function p(re,ie,se){var ce=re.reduce(function(q,j){return j.indexOf(`
`)>=0,q+j.replace(/\u001b\[\d\d?m/g,"").length+1},0);return ce>60?se[0]+(ie===""?"":ie+`
`)+" "+re.join(`,
- `)+" "+se[1]:se[0]+ie+" "+re.join(", ")+" "+se[1]}B.types=e(4936);function E(re){return Array.isArray(re)}B.isArray=E;function c(re){return typeof re=="boolean"}B.isBoolean=c;function l(re){return re===null}B.isNull=l;function m(re){return re==null}B.isNullOrUndefined=m;function M(re){return typeof re=="number"}B.isNumber=M;function L(re){return typeof re=="string"}B.isString=L;function D(re){return typeof re=="symbol"}B.isSymbol=D;function A(re){return re===void 0}B.isUndefined=A;function C(re){return S(re)&&N(re)==="[object RegExp]"}B.isRegExp=C,B.types.isRegExp=C;function S(re){return typeof re=="object"&&re!==null}B.isObject=S;function o(re){return S(re)&&N(re)==="[object Date]"}B.isDate=o,B.types.isDate=o;function R(re){return S(re)&&(N(re)==="[object Error]"||re instanceof Error)}B.isError=R,B.types.isNativeError=R;function T(re){return typeof re=="function"}B.isFunction=T;function O(re){return re===null||typeof re=="boolean"||typeof re=="number"||typeof re=="string"||typeof re=="symbol"||typeof re>"u"}B.isPrimitive=O,B.isBuffer=e(45920);function N(re){return Object.prototype.toString.call(re)}function H(re){return re<10?"0"+re.toString(10):re.toString(10)}var k=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function V(){var re=new Date,ie=[H(re.getHours()),H(re.getMinutes()),H(re.getSeconds())].join(":");return[re.getDate(),k[re.getMonth()],ie].join(" ")}B.log=function(){console.log("%s - %s",V(),B.format.apply(B,arguments))},B.inherits=e(42018),B._extend=function(re,ie){if(!ie||!S(ie))return re;for(var se=Object.keys(ie),ce=se.length;ce--;)re[se[ce]]=ie[se[ce]];return re};function G(re,ie){return Object.prototype.hasOwnProperty.call(re,ie)}var U=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;B.promisify=function(ie){if(typeof ie!="function")throw new TypeError('The "original" argument must be of type Function');if(U&&ie[U]){var se=ie[U];if(typeof se!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(se,U,{value:se,enumerable:!1,writable:!1,configurable:!0}),se}function se(){for(var ce,q,j=new Promise(function(ue,fe){ce=ue,q=fe}),Z=[],Q=0;Q<arguments.length;Q++)Z.push(arguments[Q]);Z.push(function(ue,fe){ue?q(ue):ce(fe)});try{ie.apply(this,Z)}catch(ue){q(ue)}return j}return Object.setPrototypeOf(se,Object.getPrototypeOf(ie)),U&&Object.defineProperty(se,U,{value:se,enumerable:!1,writable:!1,configurable:!0}),Object.defineProperties(se,P(ie))},B.promisify.custom=U;function Y(re,ie){if(!re){var se=new Error("Promise was rejected with a falsy value");se.reason=re,re=se}return ie(re)}function ee(re){if(typeof re!="function")throw new TypeError('The "original" argument must be of type Function');function ie(){for(var se=[],ce=0;ce<arguments.length;ce++)se.push(arguments[ce]);var q=se.pop();if(typeof q!="function")throw new TypeError("The last argument must be of type Function");var j=this,Z=function(){return q.apply(j,arguments)};re.apply(this,se).then(function(Q){d.nextTick(Z.bind(null,null,Q))},function(Q){d.nextTick(Y.bind(null,Q,Z))})}return Object.setPrototypeOf(ie,Object.getPrototypeOf(re)),Object.defineProperties(ie,P(re)),ie}B.callbackify=ee},40372:function(z,B,e){var d=e(86249);z.exports=function(a){return d("webgl",a)}},21099:function(z,B,e){var d=e(86165),P=e(72077),a=e(92978),_=a("Object.prototype.toString"),x=e(57877)(),v=x&&typeof Symbol.toStringTag=="symbol",y=P(),r=a("String.prototype.slice"),n={},u=e(67295),i=Object.getPrototypeOf;v&&u&&i&&d(y,function(h){if(typeof e.g[h]=="function"){var b=new e.g[h];if(!(Symbol.toStringTag in b))throw new EvalError("this engine has support for Symbol.toStringTag, but "+h+" does not have the property! Please report this.");var p=i(b),E=u(p,Symbol.toStringTag);if(!E){var c=i(p);E=u(c,Symbol.toStringTag)}n[h]=E.get}});var f=function(b){var p=!1;return d(n,function(E,c){if(!p)try{var l=E.call(b);l===c&&(p=l)}catch{}}),p},g=e(9187);z.exports=function(b){return g(b)?v?f(b):r(_(b),8,-1):!1}},3961:function(z,B,e){var d=e(63489),P=e(56131),a=d.instance();function _(g){this.local=this.regionalOptions[g||""]||this.regionalOptions[""]}_.prototype=new d.baseCalendar,P(_.prototype,{name:"Chinese",jdEpoch:17214255e-1,hasYearZero:!1,minMonth:0,firstMonth:0,minDay:1,regionalOptions:{"":{name:"Chinese",epochs:["BEC","EC"],monthNumbers:function(g,h){if(typeof g=="string"){var b=g.match(v);return b?b[0]:""}var p=this._validateYear(g),E=g.month(),c=""+this.toChineseMonth(p,E);return h&&c.length<2&&(c="0"+c),this.isIntercalaryMonth(p,E)&&(c+="i"),c},monthNames:function(g){if(typeof g=="string"){var h=g.match(y);return h?h[0]:""}var b=this._validateYear(g),p=g.month(),E=this.toChineseMonth(b,p),c=["一月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","十二月"][E-1];return this.isIntercalaryMonth(b,p)&&(c="闰"+c),c},monthNamesShort:function(g){if(typeof g=="string"){var h=g.match(r);return h?h[0]:""}var b=this._validateYear(g),p=g.month(),E=this.toChineseMonth(b,p),c=["一","二","三","四","五","六","七","八","九","十","十一","十二"][E-1];return this.isIntercalaryMonth(b,p)&&(c="闰"+c),c},parseMonth:function(g,h){g=this._validateYear(g);var b=parseInt(h),p;if(isNaN(b))h[0]==="闰"&&(p=!0,h=h.substring(1)),h[h.length-1]==="月"&&(h=h.substring(0,h.length-1)),b=1+["一","二","三","四","五","六","七","八","九","十","十一","十二"].indexOf(h);else{var E=h[h.length-1];p=E==="i"||E==="I"}var c=this.toMonthIndex(g,b,p);return c},dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:1,isRTL:!1}},_validateYear:function(g,h){if(g.year&&(g=g.year()),typeof g!="number"||g<1888||g>2111)throw h.replace(/\{0\}/,this.local.name);return g},toMonthIndex:function(g,h,b){var p=this.intercalaryMonth(g),E=b&&h!==p;if(E||h<1||h>12)throw d.local.invalidMonth.replace(/\{0\}/,this.local.name);var c;return p?!b&&h<=p?c=h-1:c=h:c=h-1,c},toChineseMonth:function(g,h){g.year&&(g=g.year(),h=g.month());var b=this.intercalaryMonth(g),p=b?12:11;if(h<0||h>p)throw d.local.invalidMonth.replace(/\{0\}/,this.local.name);var E;return b?h<b?E=h+1:E=h:E=h+1,E},intercalaryMonth:function(g){g=this._validateYear(g);var h=n[g-n[0]],b=h>>13;return b},isIntercalaryMonth:function(g,h){g.year&&(g=g.year(),h=g.month());var b=this.intercalaryMonth(g);return!!b&&b===h},leapYear:function(g){return this.intercalaryMonth(g)!==0},weekOfYear:function(g,h,b){var p=this._validateYear(g,d.local.invalidyear),E=u[p-u[0]],c=E>>9&4095,l=E>>5&15,m=E&31,M;M=a.newDate(c,l,m),M.add(4-(M.dayOfWeek()||7),"d");var L=this.toJD(g,h,b)-M.toJD();return 1+Math.floor(L/7)},monthsInYear:function(g){return this.leapYear(g)?13:12},daysInMonth:function(g,h){g.year&&(h=g.month(),g=g.year()),g=this._validateYear(g);var b=n[g-n[0]],p=b>>13,E=p?12:11;if(h>E)throw d.local.invalidMonth.replace(/\{0\}/,this.local.name);var c=b&1<<12-h?30:29;return c},weekDay:function(g,h,b){return(this.dayOfWeek(g,h,b)||7)<6},toJD:function(g,h,b){var p=this._validate(g,c,b,d.local.invalidDate);g=this._validateYear(p.year()),h=p.month(),b=p.day();var E=this.isIntercalaryMonth(g,h),c=this.toChineseMonth(g,h),l=f(g,c,b,E);return a.toJD(l.year,l.month,l.day)},fromJD:function(g){var h=a.fromJD(g),b=i(h.year(),h.month(),h.day()),p=this.toMonthIndex(b.year,b.month,b.isIntercalary);return this.newDate(b.year,p,b.day)},fromString:function(g){var h=g.match(x),b=this._validateYear(+h[1]),p=+h[2],E=!!h[3],c=this.toMonthIndex(b,p,E),l=+h[4];return this.newDate(b,c,l)},add:function(g,h,b){var p=g.year(),E=g.month(),c=this.isIntercalaryMonth(p,E),l=this.toChineseMonth(p,E),m=Object.getPrototypeOf(_.prototype).add.call(this,g,h,b);if(b==="y"){var M=m.year(),L=m.month(),D=this.isIntercalaryMonth(M,l),A=c&&D?this.toMonthIndex(M,l,!0):this.toMonthIndex(M,l,!1);A!==L&&m.month(A)}return m}});var x=/^\s*(-?\d\d\d\d|\d\d)[-/](\d?\d)([iI]?)[-/](\d?\d)/m,v=/^\d?\d[iI]?/m,y=/^闰?十?[一二三四五六七八九]?月/m,r=/^闰?十?[一二三四五六七八九]?/m;d.calendars.chinese=_;var n=[1887,5780,5802,19157,2742,50359,1198,2646,46378,7466,3412,30122,5482,67949,2396,5294,43597,6732,6954,36181,2772,4954,18781,2396,54427,5274,6730,47781,5800,6868,21210,4790,59703,2350,5270,46667,3402,3496,38325,1388,4782,18735,2350,52374,6804,7498,44457,2906,1388,29294,4700,63789,6442,6804,56138,5802,2772,38235,1210,4698,22827,5418,63125,3476,5802,43701,2484,5302,27223,2646,70954,7466,3412,54698,5482,2412,38062,5294,2636,32038,6954,60245,2772,4826,43357,2394,5274,39501,6730,72357,5800,5844,53978,4790,2358,38039,5270,87627,3402,3496,54708,5484,4782,43311,2350,3222,27978,7498,68965,2904,5484,45677,4700,6444,39573,6804,6986,19285,2772,62811,1210,4698,47403,5418,5780,38570,5546,76469,2420,5302,51799,2646,5414,36501,3412,5546,18869,2412,54446,5276,6732,48422,6822,2900,28010,4826,92509,2394,5274,55883,6730,6820,47956,5812,2778,18779,2358,62615,5270,5450,46757,3492,5556,27318,4718,67887,2350,3222,52554,7498,3428,38252,5468,4700,31022,6444,64149,6804,6986,43861,2772,5338,35421,2650,70955,5418,5780,54954,5546,2740,38074,5302,2646,29991,3366,61011,3412,5546,43445,2412,5294,35406,6732,72998,6820,6996,52586,2778,2396,38045,5274,6698,23333,6820,64338,5812,2746,43355,2358,5270,39499,5450,79525,3492,5548],u=[1887,966732,967231,967733,968265,968766,969297,969798,970298,970829,971330,971830,972362,972863,973395,973896,974397,974928,975428,975929,976461,976962,977462,977994,978494,979026,979526,980026,980558,981059,981559,982091,982593,983124,983624,984124,984656,985157,985656,986189,986690,987191,987722,988222,988753,989254,989754,990286,990788,991288,991819,992319,992851,993352,993851,994383,994885,995385,995917,996418,996918,997450,997949,998481,998982,999483,1000014,1000515,1001016,1001548,1002047,1002578,1003080,1003580,1004111,1004613,1005113,1005645,1006146,1006645,1007177,1007678,1008209,1008710,1009211,1009743,1010243,1010743,1011275,1011775,1012306,1012807,1013308,1013840,1014341,1014841,1015373,1015874,1016404,1016905,1017405,1017937,1018438,1018939,1019471,1019972,1020471,1021002,1021503,1022035,1022535,1023036,1023568,1024069,1024568,1025100,1025601,1026102,1026633,1027133,1027666,1028167,1028666,1029198,1029699,1030199,1030730,1031231,1031763,1032264,1032764,1033296,1033797,1034297,1034828,1035329,1035830,1036362,1036861,1037393,1037894,1038394,1038925,1039427,1039927,1040459,1040959,1041491,1041992,1042492,1043023,1043524,1044024,1044556,1045057,1045558,1046090,1046590,1047121,1047622,1048122,1048654,1049154,1049655,1050187,1050689,1051219,1051720,1052220,1052751,1053252,1053752,1054284,1054786,1055285,1055817,1056317,1056849,1057349,1057850,1058382,1058883,1059383,1059915,1060415,1060947,1061447,1061947,1062479,1062981,1063480,1064012,1064514,1065014,1065545,1066045,1066577,1067078,1067578,1068110,1068611,1069112,1069642,1070142,1070674,1071175,1071675,1072207,1072709,1073209,1073740,1074241,1074741,1075273,1075773,1076305,1076807,1077308,1077839,1078340,1078840,1079372,1079871,1080403,1080904];function i(g,h,b,p){var E,c;if(typeof g=="object")E=g,c=h||{};else{var l=typeof g=="number"&&g>=1888&&g<=2111;if(!l)throw new Error("Solar year outside range 1888-2111");var m=typeof h=="number"&&h>=1&&h<=12;if(!m)throw new Error("Solar month outside range 1 - 12");var M=typeof b=="number"&&b>=1&&b<=31;if(!M)throw new Error("Solar day outside range 1 - 31");E={year:g,month:h,day:b},c=p||{}}var L=u[E.year-u[0]],D=E.year<<9|E.month<<5|E.day;c.year=D>=L?E.year:E.year-1,L=u[c.year-u[0]];var A=L>>9&4095,C=L>>5&15,S=L&31,o,R=new Date(A,C-1,S),T=new Date(E.year,E.month-1,E.day);o=Math.round((T-R)/864e5);var O=n[c.year-n[0]],N;for(N=0;N<13;N++){var H=O&1<<12-N?30:29;if(o<H)break;o-=H}var k=O>>13;return!k||N<k?(c.isIntercalary=!1,c.month=1+N):N===k?(c.isIntercalary=!0,c.month=N):(c.isIntercalary=!1,c.month=N),c.day=1+o,c}function f(g,h,b,p,E){var c,l;if(typeof g=="object")l=g,c=h||{};else{var m=typeof g=="number"&&g>=1888&&g<=2111;if(!m)throw new Error("Lunar year outside range 1888-2111");var M=typeof h=="number"&&h>=1&&h<=12;if(!M)throw new Error("Lunar month outside range 1 - 12");var L=typeof b=="number"&&b>=1&&b<=30;if(!L)throw new Error("Lunar day outside range 1 - 30");var D;typeof p=="object"?(D=!1,c=p):(D=!!p,c=E||{}),l={year:g,month:h,day:b,isIntercalary:D}}var A;A=l.day-1;var C=n[l.year-n[0]],S=C>>13,o;S&&(l.month>S||l.isIntercalary)?o=l.month:o=l.month-1;for(var R=0;R<o;R++){var T=C&1<<12-R?30:29;A+=T}var O=u[l.year-u[0]],N=O>>9&4095,H=O>>5&15,k=O&31,V=new Date(N,H-1,k+A);return c.year=V.getFullYear(),c.month=1+V.getMonth(),c.day=V.getDate(),c}},38751:function(z,B,e){var d=e(63489),P=e(56131);function a(_){this.local=this.regionalOptions[_||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Coptic",jdEpoch:18250295e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Coptic",epochs:["BAM","AM"],monthNames:["Thout","Paopi","Hathor","Koiak","Tobi","Meshir","Paremhat","Paremoude","Pashons","Paoni","Epip","Mesori","Pi Kogi Enavot"],monthNamesShort:["Tho","Pao","Hath","Koi","Tob","Mesh","Pat","Pad","Pash","Pao","Epi","Meso","PiK"],dayNames:["Tkyriaka","Pesnau","Pshoment","Peftoou","Ptiou","Psoou","Psabbaton"],dayNamesShort:["Tky","Pes","Psh","Pef","Pti","Pso","Psa"],dayNamesMin:["Tk","Pes","Psh","Pef","Pt","Pso","Psa"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(v){var x=this._validate(v,this.minMonth,this.minDay,d.local.invalidYear),v=x.year()+(x.year()<0?1:0);return v%4===3||v%4===-1},monthsInYear:function(_){return this._validate(_,this.minMonth,this.minDay,d.local.invalidYear||d.regionalOptions[""].invalidYear),13},weekOfYear:function(_,x,v){var y=this.newDate(_,x,v);return y.add(-y.dayOfWeek(),"d"),Math.floor((y.dayOfYear()-1)/7)+1},daysInMonth:function(_,x){var v=this._validate(_,x,this.minDay,d.local.invalidMonth);return this.daysPerMonth[v.month()-1]+(v.month()===13&&this.leapYear(v.year())?1:0)},weekDay:function(_,x,v){return(this.dayOfWeek(_,x,v)||7)<6},toJD:function(_,x,v){var y=this._validate(_,x,v,d.local.invalidDate);return _=y.year(),_<0&&_++,y.day()+(y.month()-1)*30+(_-1)*365+Math.floor(_/4)+this.jdEpoch-1},fromJD:function(_){var x=Math.floor(_)+.5-this.jdEpoch,v=Math.floor((x-Math.floor((x+366)/1461))/365)+1;v<=0&&v--,x=Math.floor(_)+.5-this.newDate(v,1,1).toJD();var y=Math.floor(x/30)+1,r=x-(y-1)*30+1;return this.newDate(v,y,r)}}),d.calendars.coptic=a},86825:function(z,B,e){var d=e(63489),P=e(56131);function a(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Discworld",jdEpoch:17214255e-1,daysPerMonth:[16,32,32,32,32,32,32,32,32,32,32,32,32],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Discworld",epochs:["BUC","UC"],monthNames:["Ick","Offle","February","March","April","May","June","Grune","August","Spune","Sektober","Ember","December"],monthNamesShort:["Ick","Off","Feb","Mar","Apr","May","Jun","Gru","Aug","Spu","Sek","Emb","Dec"],dayNames:["Sunday","Octeday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Oct","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Oc","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:2,isRTL:!1}},leapYear:function(x){return this._validate(x,this.minMonth,this.minDay,d.local.invalidYear),!1},monthsInYear:function(x){return this._validate(x,this.minMonth,this.minDay,d.local.invalidYear),13},daysInYear:function(x){return this._validate(x,this.minMonth,this.minDay,d.local.invalidYear),400},weekOfYear:function(x,v,y){var r=this.newDate(x,v,y);return r.add(-r.dayOfWeek(),"d"),Math.floor((r.dayOfYear()-1)/8)+1},daysInMonth:function(x,v){var y=this._validate(x,v,this.minDay,d.local.invalidMonth);return this.daysPerMonth[y.month()-1]},daysInWeek:function(){return 8},dayOfWeek:function(x,v,y){var r=this._validate(x,v,y,d.local.invalidDate);return(r.day()+1)%8},weekDay:function(x,v,y){var r=this.dayOfWeek(x,v,y);return r>=2&&r<=6},extraInfo:function(x,v,y){var r=this._validate(x,v,y,d.local.invalidDate);return{century:_[Math.floor((r.year()-1)/100)+1]||""}},toJD:function(x,v,y){var r=this._validate(x,v,y,d.local.invalidDate);return x=r.year()+(r.year()<0?1:0),v=r.month(),y=r.day(),y+(v>1?16:0)+(v>2?(v-2)*32:0)+(x-1)*400+this.jdEpoch-1},fromJD:function(x){x=Math.floor(x+.5)-Math.floor(this.jdEpoch)-1;var v=Math.floor(x/400)+1;x-=(v-1)*400,x+=x>15?16:0;var y=Math.floor(x/32)+1,r=x-(y-1)*32+1;return this.newDate(v<=0?v-1:v,y,r)}});var _={20:"Fruitbat",21:"Anchovy"};d.calendars.discworld=a},37715:function(z,B,e){var d=e(63489),P=e(56131);function a(_){this.local=this.regionalOptions[_||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Ethiopian",jdEpoch:17242205e-1,daysPerMonth:[30,30,30,30,30,30,30,30,30,30,30,30,5],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Ethiopian",epochs:["BEE","EE"],monthNames:["Meskerem","Tikemet","Hidar","Tahesas","Tir","Yekatit","Megabit","Miazia","Genbot","Sene","Hamle","Nehase","Pagume"],monthNamesShort:["Mes","Tik","Hid","Tah","Tir","Yek","Meg","Mia","Gen","Sen","Ham","Neh","Pag"],dayNames:["Ehud","Segno","Maksegno","Irob","Hamus","Arb","Kidame"],dayNamesShort:["Ehu","Seg","Mak","Iro","Ham","Arb","Kid"],dayNamesMin:["Eh","Se","Ma","Ir","Ha","Ar","Ki"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(v){var x=this._validate(v,this.minMonth,this.minDay,d.local.invalidYear),v=x.year()+(x.year()<0?1:0);return v%4===3||v%4===-1},monthsInYear:function(_){return this._validate(_,this.minMonth,this.minDay,d.local.invalidYear||d.regionalOptions[""].invalidYear),13},weekOfYear:function(_,x,v){var y=this.newDate(_,x,v);return y.add(-y.dayOfWeek(),"d"),Math.floor((y.dayOfYear()-1)/7)+1},daysInMonth:function(_,x){var v=this._validate(_,x,this.minDay,d.local.invalidMonth);return this.daysPerMonth[v.month()-1]+(v.month()===13&&this.leapYear(v.year())?1:0)},weekDay:function(_,x,v){return(this.dayOfWeek(_,x,v)||7)<6},toJD:function(_,x,v){var y=this._validate(_,x,v,d.local.invalidDate);return _=y.year(),_<0&&_++,y.day()+(y.month()-1)*30+(_-1)*365+Math.floor(_/4)+this.jdEpoch-1},fromJD:function(_){var x=Math.floor(_)+.5-this.jdEpoch,v=Math.floor((x-Math.floor((x+366)/1461))/365)+1;v<=0&&v--,x=Math.floor(_)+.5-this.newDate(v,1,1).toJD();var y=Math.floor(x/30)+1,r=x-(y-1)*30+1;return this.newDate(v,y,r)}}),d.calendars.ethiopian=a},99384:function(z,B,e){var d=e(63489),P=e(56131);function a(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Hebrew",jdEpoch:347995.5,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29,29],hasYearZero:!1,minMonth:1,firstMonth:7,minDay:1,regionalOptions:{"":{name:"Hebrew",epochs:["BAM","AM"],monthNames:["Nisan","Iyar","Sivan","Tammuz","Av","Elul","Tishrei","Cheshvan","Kislev","Tevet","Shevat","Adar","Adar II"],monthNamesShort:["Nis","Iya","Siv","Tam","Av","Elu","Tis","Che","Kis","Tev","She","Ada","Ad2"],dayNames:["Yom Rishon","Yom Sheni","Yom Shlishi","Yom Revi'i","Yom Chamishi","Yom Shishi","Yom Shabbat"],dayNamesShort:["Ris","She","Shl","Rev","Cha","Shi","Sha"],dayNamesMin:["Ri","She","Shl","Re","Ch","Shi","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:0,isRTL:!1}},leapYear:function(x){var v=this._validate(x,this.minMonth,this.minDay,d.local.invalidYear);return this._leapYear(v.year())},_leapYear:function(x){return x=x<0?x+1:x,_(x*7+1,19)<7},monthsInYear:function(x){return this._validate(x,this.minMonth,this.minDay,d.local.invalidYear),this._leapYear(x.year?x.year():x)?13:12},weekOfYear:function(x,v,y){var r=this.newDate(x,v,y);return r.add(-r.dayOfWeek(),"d"),Math.floor((r.dayOfYear()-1)/7)+1},daysInYear:function(x){var v=this._validate(x,this.minMonth,this.minDay,d.local.invalidYear);return x=v.year(),this.toJD(x===-1?1:x+1,7,1)-this.toJD(x,7,1)},daysInMonth:function(x,v){return x.year&&(v=x.month(),x=x.year()),this._validate(x,v,this.minDay,d.local.invalidMonth),v===12&&this.leapYear(x)||v===8&&_(this.daysInYear(x),10)===5?30:v===9&&_(this.daysInYear(x),10)===3?29:this.daysPerMonth[v-1]},weekDay:function(x,v,y){return this.dayOfWeek(x,v,y)!==6},extraInfo:function(x,v,y){var r=this._validate(x,v,y,d.local.invalidDate);return{yearType:(this.leapYear(r)?"embolismic":"common")+" "+["deficient","regular","complete"][this.daysInYear(r)%10-3]}},toJD:function(x,v,y){var r=this._validate(x,v,y,d.local.invalidDate);x=r.year(),v=r.month(),y=r.day();var n=x<=0?x+1:x,u=this.jdEpoch+this._delay1(n)+this._delay2(n)+y+1;if(v<7){for(var i=7;i<=this.monthsInYear(x);i++)u+=this.daysInMonth(x,i);for(var i=1;i<v;i++)u+=this.daysInMonth(x,i)}else for(var i=7;i<v;i++)u+=this.daysInMonth(x,i);return u},_delay1:function(x){var v=Math.floor((235*x-234)/19),y=12084+13753*v,r=v*29+Math.floor(y/25920);return _(3*(r+1),7)<3&&r++,r},_delay2:function(x){var v=this._delay1(x-1),y=this._delay1(x),r=this._delay1(x+1);return r-y===356?2:y-v===382?1:0},fromJD:function(x){x=Math.floor(x)+.5;for(var v=Math.floor((x-this.jdEpoch)*98496/35975351)-1;x>=this.toJD(v===-1?1:v+1,7,1);)v++;for(var y=x<this.toJD(v,1,1)?7:1;x>this.toJD(v,y,this.daysInMonth(v,y));)y++;var r=x-this.toJD(v,y,1)+1;return this.newDate(v,y,r)}});function _(x,v){return x-v*Math.floor(x/v)}d.calendars.hebrew=a},43805:function(z,B,e){var d=e(63489),P=e(56131);function a(_){this.local=this.regionalOptions[_||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Islamic",jdEpoch:19484395e-1,daysPerMonth:[30,29,30,29,30,29,30,29,30,29,30,29],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Islamic",epochs:["BH","AH"],monthNames:["Muharram","Safar","Rabi' al-awwal","Rabi' al-thani","Jumada al-awwal","Jumada al-thani","Rajab","Sha'aban","Ramadan","Shawwal","Dhu al-Qi'dah","Dhu al-Hijjah"],monthNamesShort:["Muh","Saf","Rab1","Rab2","Jum1","Jum2","Raj","Sha'","Ram","Shaw","DhuQ","DhuH"],dayNames:["Yawm al-ahad","Yawm al-ithnayn","Yawm ath-thulaathaa'","Yawm al-arbi'aa'","Yawm al-khamīs","Yawm al-jum'a","Yawm as-sabt"],dayNamesShort:["Aha","Ith","Thu","Arb","Kha","Jum","Sab"],dayNamesMin:["Ah","It","Th","Ar","Kh","Ju","Sa"],digits:null,dateFormat:"yyyy/mm/dd",firstDay:6,isRTL:!1}},leapYear:function(_){var x=this._validate(_,this.minMonth,this.minDay,d.local.invalidYear);return(x.year()*11+14)%30<11},weekOfYear:function(_,x,v){var y=this.newDate(_,x,v);return y.add(-y.dayOfWeek(),"d"),Math.floor((y.dayOfYear()-1)/7)+1},daysInYear:function(_){return this.leapYear(_)?355:354},daysInMonth:function(_,x){var v=this._validate(_,x,this.minDay,d.local.invalidMonth);return this.daysPerMonth[v.month()-1]+(v.month()===12&&this.leapYear(v.year())?1:0)},weekDay:function(_,x,v){return this.dayOfWeek(_,x,v)!==5},toJD:function(_,x,v){var y=this._validate(_,x,v,d.local.invalidDate);return _=y.year(),x=y.month(),v=y.day(),_=_<=0?_+1:_,v+Math.ceil(29.5*(x-1))+(_-1)*354+Math.floor((3+11*_)/30)+this.jdEpoch-1},fromJD:function(_){_=Math.floor(_)+.5;var x=Math.floor((30*(_-this.jdEpoch)+10646)/10631);x=x<=0?x-1:x;var v=Math.min(12,Math.ceil((_-29-this.toJD(x,1,1))/29.5)+1),y=_-this.toJD(x,v,1)+1;return this.newDate(x,v,y)}}),d.calendars.islamic=a},88874:function(z,B,e){var d=e(63489),P=e(56131);function a(_){this.local=this.regionalOptions[_||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Julian",jdEpoch:17214235e-1,daysPerMonth:[31,28,31,30,31,30,31,31,30,31,30,31],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Julian",epochs:["BC","AD"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],digits:null,dateFormat:"mm/dd/yyyy",firstDay:0,isRTL:!1}},leapYear:function(v){var x=this._validate(v,this.minMonth,this.minDay,d.local.invalidYear),v=x.year()<0?x.year()+1:x.year();return v%4===0},weekOfYear:function(_,x,v){var y=this.newDate(_,x,v);return y.add(4-(y.dayOfWeek()||7),"d"),Math.floor((y.dayOfYear()-1)/7)+1},daysInMonth:function(_,x){var v=this._validate(_,x,this.minDay,d.local.invalidMonth);return this.daysPerMonth[v.month()-1]+(v.month()===2&&this.leapYear(v.year())?1:0)},weekDay:function(_,x,v){return(this.dayOfWeek(_,x,v)||7)<6},toJD:function(_,x,v){var y=this._validate(_,x,v,d.local.invalidDate);return _=y.year(),x=y.month(),v=y.day(),_<0&&_++,x<=2&&(_--,x+=12),Math.floor(365.25*(_+4716))+Math.floor(30.6001*(x+1))+v-1524.5},fromJD:function(_){var x=Math.floor(_+.5),v=x+1524,y=Math.floor((v-122.1)/365.25),r=Math.floor(365.25*y),n=Math.floor((v-r)/30.6001),u=n-Math.floor(n<14?1:13),i=y-Math.floor(u>2?4716:4715),f=v-r-Math.floor(30.6001*n);return i<=0&&i--,this.newDate(i,u,f)}}),d.calendars.julian=a},83290:function(z,B,e){var d=e(63489),P=e(56131);function a(v){this.local=this.regionalOptions[v||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Mayan",jdEpoch:584282.5,hasYearZero:!0,minMonth:0,firstMonth:0,minDay:0,regionalOptions:{"":{name:"Mayan",epochs:["",""],monthNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],monthNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17"],dayNames:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesShort:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],dayNamesMin:["0","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19"],digits:null,dateFormat:"YYYY.m.d",firstDay:0,isRTL:!1,haabMonths:["Pop","Uo","Zip","Zotz","Tzec","Xul","Yaxkin","Mol","Chen","Yax","Zac","Ceh","Mac","Kankin","Muan","Pax","Kayab","Cumku","Uayeb"],tzolkinMonths:["Imix","Ik","Akbal","Kan","Chicchan","Cimi","Manik","Lamat","Muluc","Oc","Chuen","Eb","Ben","Ix","Men","Cib","Caban","Etznab","Cauac","Ahau"]}},leapYear:function(v){return this._validate(v,this.minMonth,this.minDay,d.local.invalidYear),!1},formatYear:function(v){var y=this._validate(v,this.minMonth,this.minDay,d.local.invalidYear);v=y.year();var r=Math.floor(v/400);v=v%400,v+=v<0?400:0;var n=Math.floor(v/20);return r+"."+n+"."+v%20},forYear:function(v){if(v=v.split("."),v.length<3)throw"Invalid Mayan year";for(var y=0,r=0;r<v.length;r++){var n=parseInt(v[r],10);if(Math.abs(n)>19||r>0&&n<0)throw"Invalid Mayan year";y=y*20+n}return y},monthsInYear:function(v){return this._validate(v,this.minMonth,this.minDay,d.local.invalidYear),18},weekOfYear:function(v,y,r){return this._validate(v,y,r,d.local.invalidDate),0},daysInYear:function(v){return this._validate(v,this.minMonth,this.minDay,d.local.invalidYear),360},daysInMonth:function(v,y){return this._validate(v,y,this.minDay,d.local.invalidMonth),20},daysInWeek:function(){return 5},dayOfWeek:function(v,y,r){var n=this._validate(v,y,r,d.local.invalidDate);return n.day()},weekDay:function(v,y,r){return this._validate(v,y,r,d.local.invalidDate),!0},extraInfo:function(v,y,r){var n=this._validate(v,y,r,d.local.invalidDate),u=n.toJD(),i=this._toHaab(u),f=this._toTzolkin(u);return{haabMonthName:this.local.haabMonths[i[0]-1],haabMonth:i[0],haabDay:i[1],tzolkinDayName:this.local.tzolkinMonths[f[0]-1],tzolkinDay:f[0],tzolkinTrecena:f[1]}},_toHaab:function(v){v-=this.jdEpoch;var y=_(v+8+(18-1)*20,365);return[Math.floor(y/20)+1,_(y,20)]},_toTzolkin:function(v){return v-=this.jdEpoch,[x(v+20,20),x(v+4,13)]},toJD:function(v,y,r){var n=this._validate(v,y,r,d.local.invalidDate);return n.day()+n.month()*20+n.year()*360+this.jdEpoch},fromJD:function(v){v=Math.floor(v)+.5-this.jdEpoch;var y=Math.floor(v/360);v=v%360,v+=v<0?360:0;var r=Math.floor(v/20),n=v%20;return this.newDate(y,r,n)}});function _(v,y){return v-y*Math.floor(v/y)}function x(v,y){return _(v-1,y)+1}d.calendars.mayan=a},29108:function(z,B,e){var d=e(63489),P=e(56131);function a(x){this.local=this.regionalOptions[x||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar;var _=d.instance("gregorian");P(a.prototype,{name:"Nanakshahi",jdEpoch:22576735e-1,daysPerMonth:[31,31,31,31,31,30,30,30,30,30,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,regionalOptions:{"":{name:"Nanakshahi",epochs:["BN","AN"],monthNames:["Chet","Vaisakh","Jeth","Harh","Sawan","Bhadon","Assu","Katak","Maghar","Poh","Magh","Phagun"],monthNamesShort:["Che","Vai","Jet","Har","Saw","Bha","Ass","Kat","Mgr","Poh","Mgh","Pha"],dayNames:["Somvaar","Mangalvar","Budhvaar","Veervaar","Shukarvaar","Sanicharvaar","Etvaar"],dayNamesShort:["Som","Mangal","Budh","Veer","Shukar","Sanichar","Et"],dayNamesMin:["So","Ma","Bu","Ve","Sh","Sa","Et"],digits:null,dateFormat:"dd-mm-yyyy",firstDay:0,isRTL:!1}},leapYear:function(x){var v=this._validate(x,this.minMonth,this.minDay,d.local.invalidYear||d.regionalOptions[""].invalidYear);return _.leapYear(v.year()+(v.year()<1?1:0)+1469)},weekOfYear:function(x,v,y){var r=this.newDate(x,v,y);return r.add(1-(r.dayOfWeek()||7),"d"),Math.floor((r.dayOfYear()-1)/7)+1},daysInMonth:function(x,v){var y=this._validate(x,v,this.minDay,d.local.invalidMonth);return this.daysPerMonth[y.month()-1]+(y.month()===12&&this.leapYear(y.year())?1:0)},weekDay:function(x,v,y){return(this.dayOfWeek(x,v,y)||7)<6},toJD:function(n,v,y){var r=this._validate(n,v,y,d.local.invalidMonth),n=r.year();n<0&&n++;for(var u=r.day(),i=1;i<r.month();i++)u+=this.daysPerMonth[i-1];return u+_.toJD(n+1468,3,13)},fromJD:function(x){x=Math.floor(x+.5);for(var v=Math.floor((x-(this.jdEpoch-1))/366);x>=this.toJD(v+1,1,1);)v++;for(var y=x-Math.floor(this.toJD(v,1,1)+.5)+1,r=1;y>this.daysInMonth(v,r);)y-=this.daysInMonth(v,r),r++;return this.newDate(v,r,y)}}),d.calendars.nanakshahi=a},55422:function(z,B,e){var d=e(63489),P=e(56131);function a(_){this.local=this.regionalOptions[_||""]||this.regionalOptions[""]}a.prototype=new d.baseCalendar,P(a.prototype,{name:"Nepali",jdEpoch:17007095e-1,daysPerMonth:[31,31,32,32,31,30,30,29,30,29,30,30],hasYearZero:!1,minMonth:1,firstMonth:1,minDay:1,daysPerYear:365,regionalOptions:{"":{name:"Nepali",epochs:["BBS","ABS"],monthNames:["Baisakh","Jestha","Ashadh","Shrawan","Bhadra","Ashwin","Kartik","Mangsir","Paush","Mangh","Falgun","Chaitra"],monthNamesShort:["Bai","Je","As","Shra","Bha","Ash","Kar","Mang","Pau","Ma","Fal","Chai"],dayNames:["Aaitabaar","Sombaar","Manglbaar","Budhabaar","Bihibaar","Shukrabaar","Shanibaar"],dayNamesShort:["Aaita","Som","Mangl","Budha","Bihi","Shukra","Shani"],dayNamesMin:["Aai","So","Man","Bu","Bi","Shu","Sha"],digits:null,dateFormat:"dd/mm/yyyy",firstDay:1,isRTL:!1}},leapYear:function(_){return this.daysInYear(_)!==this.daysPerYear},weekOfYear:function(_,x,v){var y=this.newDate(_,x,v);return y.add(-y.dayOfWeek(),"d"),Math.floor((y.dayOfYear()-1)/7)+1},daysInYear:function(_){var x=this._validate(_,this.minMonth,this.minDay,d.local.invalidYear);if(_=x.year(),typeof this.NEPALI_CALENDAR_DATA[_]>"u")return this.daysPerYear;for(var v=0,y=this.minMonth;y<=12;y++)v+=this.NEPALI_CALENDAR_DATA[_][y];return v},daysInMonth:function(_,x){return _.year&&(x=_.month(),_=_.year()),this._validate(_,x,this.minDay,d.local.invalidMonth),typeof this.NEPALI_CALENDAR_DATA[_]>"u"?this.daysPerMonth[x-1]:this.NEPALI_CALENDAR_DATA[_][x]},weekDay:function(_,x,v){return this.dayOfWeek(_,x,v)!==6},toJD:function(_,x,v){var y=this._validate(_,x,v,d.local.invalidDate);_=y.year(),x=y.month(),v=y.day();var r=d.instance(),n=0,u=x,i=_;this._createMissingCalendarData(_);var f=_-(u>9||u===9&&v>=this.NEPALI_CALENDAR_DATA[i][0]?56:57);for(x!==9&&(n=v,u--);u!==9;)u<=0&&(u=12,i--),n+=this.NEPALI_CALENDAR_DATA[i][u],u--;return x===9?(n+=v-this.NEPALI_CALENDAR_DATA[i][0],n<0&&(n+=r.daysInYear(f))):n+=this.NEPALI_CALENDAR_DATA[i][9]-this.NEPALI_CALENDAR_DATA[i][0],r.newDate(f,1,1).add(n,"d").toJD()},fromJD:function(_){var x=d.instance(),v=x.fromJD(_),y=v.year(),r=v.dayOfYear(),n=y+56;this._createMissingCalendarData(n);for(var u=9,i=this.NEPALI_CALENDAR_DATA[n][0],f=this.NEPALI_CALENDAR_DATA[n][u]-i+1;r>f;)u++,u>12&&(u=1,n++),f+=this.NEPALI_CALENDAR_DATA[n][u];var g=this.NEPALI_CALENDAR_DATA[n][u]-(f-r);return this.newDate(n,u,g)},_createMissingCalendarData:function(_){var x=this.daysPerMonth.slice(0);x.unshift(17);for(var v=_-1;v<_+2;v++)typeof this.NEPALI_CALENDAR_DATA[v]>"u"&&(this.NEPALI_CALENDAR_DATA[v]=x)},NEPALI_CALENDAR_DATA:{1970:[18,31,31,32,31,31,31,30,29,30,29,30,30],1971:[18,31,31,32,31,32,30,30,29,30,29,30,30],1972:[17,31,32,31,32,31,30,30,30,29,29,30,30],1973:[19,30,32,31,32,31,30,30,30,29,30,29,31],1974:[19,31,31,32,30,31,31,30,29,30,29,30,30],1975:[18,31,31,32,32,30,31,30,29,30,29,30,30],1976:[17,31,32,31,32,31,30,30,30,29,29,30,31],1977:[18,31,32,31,32,31,31,29,30,29,30,29,31],1978:[18,31,31,32,31,31,31,30,29,30,29,30,30],1979:[18,31,31,32,32,31,30,30,29,30,29,30,30],1980:[17,31,32,31,32,31,30,30,30,29,29,30,31],1981:[18,31,31,31,32,31,31,29,30,30,29,30,30],1982:[18,31,31,32,31,31,31,30,29,30,29,30,30],1983:[18,31,31,32,32,31,30,30,29,30,29,30,30],1984:[17,31,32,31,32,31,30,30,30,29,29,30,31],1985:[18,31,31,31,32,31,31,29,30,30,29,30,30],1986:[18,31,31,32,31,31,31,30,29,30,29,30,30],1987:[18,31,32,31,32,31,30,30,29,30,29,30,30],1988:[17,31,32,31,32,31,30,30,30,29,29,30,31],1989:[18,31,31,31,32,31,31,30,29,30,29,30,30],1990:[18,31,31,32,31,31,31,30,29,30,29,30,30],1991:[18,31,32,31,32,31,30,30,29,30,29,30,30],1992:[17,31,32,31,32,31,30,30,30,29,30,29,31],1993:[18,31,31,31,32,31,31,30,29,30,29,30,30],1994:[18,31,31,32,31,31,31,30,29,30,29,30,30],1995:[17,31,32,31,32,31,30,30,30,29,29,30,30],1996:[17,31,32,31,32,31,30,30,30,29,30,29,31],1997:[18,31,31,32,31,31,31,30,29,30,29,30,30],1998:[18,31,31,32,31,31,31,30,29,30,29,30,30],1999:[17,31,32,31,32,31,30,30,30,29,29,30,31],2e3:[17,30,32,31,32,31,30,30,30,29,30,29,31],2001:[18,31,31,32,31,31,31,30,29,30,29,30,30],2002:[18,31,31,32,32,31,30,30,29,30,29,30,30],2003:[17,31,32,31,32,31,30,30,30,29,29,30,31],2004:[17,30,32,31,32,31,30,30,30,29,30,29,31],2005:[18,31,31,32,31,31,31,30,29,30,29,30,30],2006:[18,31,31,32,32,31,30,30,29,30,29,30,30],2007:[17,31,32,31,32,31,30,30,30,29,29,30,31],2008:[17,31,31,31,32,31,31,29,30,30,29,29,31],2009:[18,31,31,32,31,31,31,30,29,30,29,30,30],2010:[18,31,31,32,32,31,30,30,29,30,29,30,30],2011:[17,31,32,31,32,31,30,30,30,29,29,30,31],2012:[17,31,31,31,32,31,31,29,30,30,29,30,30],2013:[18,31,31,32,31,31,31,30,29,30,29,30,30],2014:[18,31,31,32,32,31,30,30,29,30,29,30,30],2015:[17,31,32,31,32,31,30,30,30,29,29,30,31],2016:[17,31,31,31,32,31,31,29,30,30,29,30,30],2017:[18,31,31,32,31,31,31,30,29,30,29,30,30],2018:[18,31,32,31,32,31,30,30,29,30,29,30,30],2019:[17,31,32,31,32,31,30,30,30,29,30,29,31],2020:[17,31,31,31,32,31,31,30,29,30,29,30,30],2021:[18,31,31,32,31,31,31,30,29,30,29,30,30],2022:[17,31,32,31,32,31,30,30,30,29,29,30,30],2023:[17,31,32,31,32,31,30,30,30,29,30,29,31],2024:[17,31,31,31,32,31,31,30,29,30,29,30,30],2025:[18,31,31,32,31,31,31,30,29,30,29,30,30],2026:[17,31,32,31,32,31,30,30,30,29,29,30,31],2027:[17,30,32,31,32,31,30,30,30,29,30,29,31],2028:[17,31,31,32,31,31,31,30,29,30,29,30,30],2029:[18,31,31,32,31,32,30,30,29,30,29,30,30],2030:[17,31,32,31,32,31,30,30,30,30,30,30,31],2031:[17,31,32,31,32,31,31,31,31,31,31,31,31],2032:[17,32,32,32,32,32,32,32,32,32,32,32,32],2033:[18,31,31,32,32,31,30,30,29,30,29,30,30],2034:[17,31,32,31,32,31,30,30,30,29,29,30,31],2035:[17,30,32,31,32,31,31,29,30,30,29,29,31],2036:[17,31,31,32,31,31,31,30,29,30,29,30,30],2037:[18,31,31,32,32,31,30,30,29,30,29,30,30],2038:[17,31,32,31,32,31,30,30,30,29,29,30,31],2039:[17,31,31,31,32,31,31,29,30,30,29,30,30],2040:[17,31,31,32,31,31,31,30,29,30,29,30,30],2041:[18,31,31,32,32,31,30,30,29,30,29,30,30],2042:[17,31,32,31,32,31,30,30,30,29,29,30,31],2043:[17,31,31,31,32,31,31,29,30,30,29,30,30],2044:[17,31,31,32,31,31,31,30,29,30,29,30,30],2045:[18,31,32,31,32,31,30,30,29,30,29,30,30],2046:[17,31,32,31,32,31,30,30,30,29,29,30,31],2047:[17,31,31,31,32,31,31,30,29,30,29,30,30],2048:[17,31,31,32,31,31,31,30,29,30,29,30,30],2049:[17,31,32,31,32,31,30,30,30,29,29,30,30],2050:[17,31,32,31,32,31,30,30,30,29,30,29,31],2051:[17,31,31,31,32,31,31,30,29,30,29,30,30],2052:[17,31,31,32,31,31,31,30,29,30,29,30,30],2053:[17,31,32,31,32,31,30,30,30,29,29,30,30],2054:[17,31,32,31,32,31,30,30,30,29,30,29,31],2055:[17,31,31,32,31,31,31,30,29,30,30,29,30],2056:[17,31,31,32,31,32,30,30,29,30,29,30,30],2057:[17,31,32,31,32,31,30,30,30,29,29,30,31],2058:[17,30,32,31,32,31,30,30,30,29,30,29,31],2059:[17,31,31,32,31,31,31,30,29,30,29,30,30],2060:[17,31,31,32,32,31,30,30,29