1 ;(function (global, factory) {
2 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3 typeof define === 'function' && define.amd ? define(factory) :
4 global.moment = factory()
5 }(this, function () { 'use strict';
9 function utils_hooks__hooks () {
10 return hookCallback.apply(null, arguments);
13 // This is done to register the method called with moment()
14 // without creating circular dependencies.
15 function setHookCallback (callback) {
16 hookCallback = callback;
19 function isArray(input) {
20 return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
23 function isDate(input) {
24 return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
27 function map(arr, fn) {
29 for (i = 0; i < arr.length; ++i) {
30 res.push(fn(arr[i], i));
35 function hasOwnProp(a, b) {
36 return Object.prototype.hasOwnProperty.call(a, b);
39 function extend(a, b) {
41 if (hasOwnProp(b, i)) {
46 if (hasOwnProp(b, 'toString')) {
47 a.toString = b.toString;
50 if (hasOwnProp(b, 'valueOf')) {
51 a.valueOf = b.valueOf;
57 function create_utc__createUTC (input, format, locale, strict) {
58 return createLocalOrUTC(input, format, locale, strict, true).utc();
61 function defaultParsingFlags() {
62 // We need to deep clone this object.
71 invalidFormat : false,
72 userInvalidated : false,
79 function getParsingFlags(m) {
81 m._pf = defaultParsingFlags();
87 if (Array.prototype.some) {
88 some = Array.prototype.some;
90 some = function (fun) {
92 var len = t.length >>> 0;
94 for (var i = 0; i < len; i++) {
95 if (i in t && fun.call(this, t[i], i, t)) {
104 function valid__isValid(m) {
105 if (m._isValid == null) {
106 var flags = getParsingFlags(m);
107 var parsedParts = some.call(flags.parsedDateParts, function (i) {
110 m._isValid = !isNaN(m._d.getTime()) &&
111 flags.overflow < 0 &&
113 !flags.invalidMonth &&
114 !flags.invalidWeekday &&
116 !flags.invalidFormat &&
117 !flags.userInvalidated &&
118 (!flags.meridiem || (flags.meridiem && parsedParts));
121 m._isValid = m._isValid &&
122 flags.charsLeftOver === 0 &&
123 flags.unusedTokens.length === 0 &&
124 flags.bigHour === undefined;
130 function valid__createInvalid (flags) {
131 var m = create_utc__createUTC(NaN);
133 extend(getParsingFlags(m), flags);
136 getParsingFlags(m).userInvalidated = true;
142 function isUndefined(input) {
143 return input === void 0;
146 // Plugins that add properties should also add the key here (null value),
147 // so we can properly clone ourselves.
148 var momentProperties = utils_hooks__hooks.momentProperties = [];
150 function copyConfig(to, from) {
153 if (!isUndefined(from._isAMomentObject)) {
154 to._isAMomentObject = from._isAMomentObject;
156 if (!isUndefined(from._i)) {
159 if (!isUndefined(from._f)) {
162 if (!isUndefined(from._l)) {
165 if (!isUndefined(from._strict)) {
166 to._strict = from._strict;
168 if (!isUndefined(from._tzm)) {
171 if (!isUndefined(from._isUTC)) {
172 to._isUTC = from._isUTC;
174 if (!isUndefined(from._offset)) {
175 to._offset = from._offset;
177 if (!isUndefined(from._pf)) {
178 to._pf = getParsingFlags(from);
180 if (!isUndefined(from._locale)) {
181 to._locale = from._locale;
184 if (momentProperties.length > 0) {
185 for (i in momentProperties) {
186 prop = momentProperties[i];
188 if (!isUndefined(val)) {
197 var updateInProgress = false;
199 // Moment prototype object
200 function Moment(config) {
201 copyConfig(this, config);
202 this._d = new Date(config._d != null ? config._d.getTime() : NaN);
203 // Prevent infinite loop in case updateOffset creates new moment
205 if (updateInProgress === false) {
206 updateInProgress = true;
207 utils_hooks__hooks.updateOffset(this);
208 updateInProgress = false;
212 function isMoment (obj) {
213 return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
216 function absFloor (number) {
218 return Math.ceil(number);
220 return Math.floor(number);
224 function toInt(argumentForCoercion) {
225 var coercedNumber = +argumentForCoercion,
228 if (coercedNumber !== 0 && isFinite(coercedNumber)) {
229 value = absFloor(coercedNumber);
235 // compare two arrays, return the number of differences
236 function compareArrays(array1, array2, dontConvert) {
237 var len = Math.min(array1.length, array2.length),
238 lengthDiff = Math.abs(array1.length - array2.length),
241 for (i = 0; i < len; i++) {
242 if ((dontConvert && array1[i] !== array2[i]) ||
243 (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
247 return diffs + lengthDiff;
251 if (utils_hooks__hooks.suppressDeprecationWarnings === false &&
252 (typeof console !== 'undefined') && console.warn) {
253 console.warn('Deprecation warning: ' + msg);
257 function deprecate(msg, fn) {
258 var firstTime = true;
260 return extend(function () {
261 if (utils_hooks__hooks.deprecationHandler != null) {
262 utils_hooks__hooks.deprecationHandler(null, msg);
265 warn(msg + '\nArguments: ' + Array.prototype.slice.call(arguments).join(', ') + '\n' + (new Error()).stack);
268 return fn.apply(this, arguments);
272 var deprecations = {};
274 function deprecateSimple(name, msg) {
275 if (utils_hooks__hooks.deprecationHandler != null) {
276 utils_hooks__hooks.deprecationHandler(name, msg);
278 if (!deprecations[name]) {
280 deprecations[name] = true;
284 utils_hooks__hooks.suppressDeprecationWarnings = false;
285 utils_hooks__hooks.deprecationHandler = null;
287 function isFunction(input) {
288 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
291 function isObject(input) {
292 return Object.prototype.toString.call(input) === '[object Object]';
295 function locale_set__set (config) {
299 if (isFunction(prop)) {
302 this['_' + i] = prop;
305 this._config = config;
306 // Lenient ordinal parsing accepts just a number in addition to
307 // number + (possibly) stuff coming from _ordinalParseLenient.
308 this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\d{1,2}/).source);
311 function mergeConfigs(parentConfig, childConfig) {
312 var res = extend({}, parentConfig), prop;
313 for (prop in childConfig) {
314 if (hasOwnProp(childConfig, prop)) {
315 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
317 extend(res[prop], parentConfig[prop]);
318 extend(res[prop], childConfig[prop]);
319 } else if (childConfig[prop] != null) {
320 res[prop] = childConfig[prop];
329 function Locale(config) {
330 if (config != null) {
340 keys = function (obj) {
343 if (hasOwnProp(obj, i)) {
351 // internal storage for locale config files
355 function normalizeLocale(key) {
356 return key ? key.toLowerCase().replace('_', '-') : key;
359 // pick the locale from the array
360 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
361 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
362 function chooseLocale(names) {
363 var i = 0, j, next, locale, split;
365 while (i < names.length) {
366 split = normalizeLocale(names[i]).split('-');
368 next = normalizeLocale(names[i + 1]);
369 next = next ? next.split('-') : null;
371 locale = loadLocale(split.slice(0, j).join('-'));
375 if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
376 //the next array item is better than a shallower substring of this one
386 function loadLocale(name) {
387 var oldLocale = null;
388 // TODO: Find a better way to register and load all the locales in Node
389 if (!locales[name] && (typeof module !== 'undefined') &&
390 module && module.exports) {
392 oldLocale = globalLocale._abbr;
393 require('./locale/' + name);
394 // because defineLocale currently also sets the global locale, we
395 // want to undo that for lazy loaded locales
396 locale_locales__getSetGlobalLocale(oldLocale);
399 return locales[name];
402 // This function will load locale and then set the global locale. If
403 // no arguments are passed in, it will simply return the current global
405 function locale_locales__getSetGlobalLocale (key, values) {
408 if (isUndefined(values)) {
409 data = locale_locales__getLocale(key);
412 data = defineLocale(key, values);
416 // moment.duration._locale = moment._locale = data;
421 return globalLocale._abbr;
424 function defineLocale (name, config) {
425 if (config !== null) {
427 if (locales[name] != null) {
428 deprecateSimple('defineLocaleOverride',
429 'use moment.updateLocale(localeName, config) to change ' +
430 'an existing locale. moment.defineLocale(localeName, ' +
431 'config) should only be used for creating a new locale');
432 config = mergeConfigs(locales[name]._config, config);
433 } else if (config.parentLocale != null) {
434 if (locales[config.parentLocale] != null) {
435 config = mergeConfigs(locales[config.parentLocale]._config, config);
437 // treat as if there is no base config
438 deprecateSimple('parentLocaleUndefined',
439 'specified parentLocale is not defined yet');
442 locales[name] = new Locale(config);
444 // backwards compat for now: also set the locale
445 locale_locales__getSetGlobalLocale(name);
447 return locales[name];
449 // useful for testing
450 delete locales[name];
455 function updateLocale(name, config) {
456 if (config != null) {
458 if (locales[name] != null) {
459 config = mergeConfigs(locales[name]._config, config);
461 locale = new Locale(config);
462 locale.parentLocale = locales[name];
463 locales[name] = locale;
465 // backwards compat for now: also set the locale
466 locale_locales__getSetGlobalLocale(name);
468 // pass null for config to unupdate, useful for tests
469 if (locales[name] != null) {
470 if (locales[name].parentLocale != null) {
471 locales[name] = locales[name].parentLocale;
472 } else if (locales[name] != null) {
473 delete locales[name];
477 return locales[name];
480 // returns locale data
481 function locale_locales__getLocale (key) {
484 if (key && key._locale && key._locale._abbr) {
485 key = key._locale._abbr;
493 //short-circuit everything else
494 locale = loadLocale(key);
501 return chooseLocale(key);
504 function locale_locales__listLocales() {
505 return keys(locales);
510 function addUnitAlias (unit, shorthand) {
511 var lowerCase = unit.toLowerCase();
512 aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
515 function normalizeUnits(units) {
516 return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
519 function normalizeObjectUnits(inputObject) {
520 var normalizedInput = {},
524 for (prop in inputObject) {
525 if (hasOwnProp(inputObject, prop)) {
526 normalizedProp = normalizeUnits(prop);
527 if (normalizedProp) {
528 normalizedInput[normalizedProp] = inputObject[prop];
533 return normalizedInput;
536 function makeGetSet (unit, keepTime) {
537 return function (value) {
539 get_set__set(this, unit, value);
540 utils_hooks__hooks.updateOffset(this, keepTime);
543 return get_set__get(this, unit);
548 function get_set__get (mom, unit) {
549 return mom.isValid() ?
550 mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
553 function get_set__set (mom, unit, value) {
555 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
561 function getSet (units, value) {
563 if (typeof units === 'object') {
564 for (unit in units) {
565 this.set(unit, units[unit]);
568 units = normalizeUnits(units);
569 if (isFunction(this[units])) {
570 return this[units](value);
576 function zeroFill(number, targetLength, forceSign) {
577 var absNumber = '' + Math.abs(number),
578 zerosToFill = targetLength - absNumber.length,
580 return (sign ? (forceSign ? '+' : '') : '-') +
581 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
584 var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
586 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
588 var formatFunctions = {};
590 var formatTokenFunctions = {};
595 // callback: function () { this.month() + 1 }
596 function addFormatToken (token, padded, ordinal, callback) {
598 if (typeof callback === 'string') {
600 return this[callback]();
604 formatTokenFunctions[token] = func;
607 formatTokenFunctions[padded[0]] = function () {
608 return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
612 formatTokenFunctions[ordinal] = function () {
613 return this.localeData().ordinal(func.apply(this, arguments), token);
618 function removeFormattingTokens(input) {
619 if (input.match(/\[[\s\S]/)) {
620 return input.replace(/^\[|\]$/g, '');
622 return input.replace(/\\/g, '');
625 function makeFormatFunction(format) {
626 var array = format.match(formattingTokens), i, length;
628 for (i = 0, length = array.length; i < length; i++) {
629 if (formatTokenFunctions[array[i]]) {
630 array[i] = formatTokenFunctions[array[i]];
632 array[i] = removeFormattingTokens(array[i]);
636 return function (mom) {
638 for (i = 0; i < length; i++) {
639 output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
645 // format date using native date object
646 function formatMoment(m, format) {
648 return m.localeData().invalidDate();
651 format = expandFormat(format, m.localeData());
652 formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
654 return formatFunctions[format](m);
657 function expandFormat(format, locale) {
660 function replaceLongDateFormatTokens(input) {
661 return locale.longDateFormat(input) || input;
664 localFormattingTokens.lastIndex = 0;
665 while (i >= 0 && localFormattingTokens.test(format)) {
666 format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
667 localFormattingTokens.lastIndex = 0;
674 var match1 = /\d/; // 0 - 9
675 var match2 = /\d\d/; // 00 - 99
676 var match3 = /\d{3}/; // 000 - 999
677 var match4 = /\d{4}/; // 0000 - 9999
678 var match6 = /[+-]?\d{6}/; // -999999 - 999999
679 var match1to2 = /\d\d?/; // 0 - 99
680 var match3to4 = /\d\d\d\d?/; // 999 - 9999
681 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999
682 var match1to3 = /\d{1,3}/; // 0 - 999
683 var match1to4 = /\d{1,4}/; // 0 - 9999
684 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999
686 var matchUnsigned = /\d+/; // 0 - inf
687 var matchSigned = /[+-]?\d+/; // -inf - inf
689 var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
690 var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
692 var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
694 // any word (or two) characters or numbers including two/three word month in arabic.
695 // includes scottish gaelic two word and hyphenated months
696 var matchWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i;
701 function addRegexToken (token, regex, strictRegex) {
702 regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
703 return (isStrict && strictRegex) ? strictRegex : regex;
707 function getParseRegexForToken (token, config) {
708 if (!hasOwnProp(regexes, token)) {
709 return new RegExp(unescapeFormat(token));
712 return regexes[token](config._strict, config._locale);
715 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
716 function unescapeFormat(s) {
717 return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
718 return p1 || p2 || p3 || p4;
722 function regexEscape(s) {
723 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
728 function addParseToken (token, callback) {
729 var i, func = callback;
730 if (typeof token === 'string') {
733 if (typeof callback === 'number') {
734 func = function (input, array) {
735 array[callback] = toInt(input);
738 for (i = 0; i < token.length; i++) {
739 tokens[token[i]] = func;
743 function addWeekParseToken (token, callback) {
744 addParseToken(token, function (input, array, config, token) {
745 config._w = config._w || {};
746 callback(input, config._w, config, token);
750 function addTimeToArrayFromToken(token, input, config) {
751 if (input != null && hasOwnProp(tokens, token)) {
752 tokens[token](input, config._a, config, token);
768 if (Array.prototype.indexOf) {
769 indexOf = Array.prototype.indexOf;
771 indexOf = function (o) {
774 for (i = 0; i < this.length; ++i) {
783 function daysInMonth(year, month) {
784 return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
789 addFormatToken('M', ['MM', 2], 'Mo', function () {
790 return this.month() + 1;
793 addFormatToken('MMM', 0, 0, function (format) {
794 return this.localeData().monthsShort(this, format);
797 addFormatToken('MMMM', 0, 0, function (format) {
798 return this.localeData().months(this, format);
803 addUnitAlias('month', 'M');
807 addRegexToken('M', match1to2);
808 addRegexToken('MM', match1to2, match2);
809 addRegexToken('MMM', function (isStrict, locale) {
810 return locale.monthsShortRegex(isStrict);
812 addRegexToken('MMMM', function (isStrict, locale) {
813 return locale.monthsRegex(isStrict);
816 addParseToken(['M', 'MM'], function (input, array) {
817 array[MONTH] = toInt(input) - 1;
820 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
821 var month = config._locale.monthsParse(input, token, config._strict);
822 // if we didn't find a month name, mark the date as invalid.
824 array[MONTH] = month;
826 getParsingFlags(config).invalidMonth = input;
832 var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/;
833 var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
834 function localeMonths (m, format) {
835 return isArray(this._months) ? this._months[m.month()] :
836 this._months[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
839 var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
840 function localeMonthsShort (m, format) {
841 return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
842 this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
845 function units_month__handleStrictParse(monthName, format, strict) {
846 var i, ii, mom, llc = monthName.toLocaleLowerCase();
847 if (!this._monthsParse) {
849 this._monthsParse = [];
850 this._longMonthsParse = [];
851 this._shortMonthsParse = [];
852 for (i = 0; i < 12; ++i) {
853 mom = create_utc__createUTC([2000, i]);
854 this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
855 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
860 if (format === 'MMM') {
861 ii = indexOf.call(this._shortMonthsParse, llc);
862 return ii !== -1 ? ii : null;
864 ii = indexOf.call(this._longMonthsParse, llc);
865 return ii !== -1 ? ii : null;
868 if (format === 'MMM') {
869 ii = indexOf.call(this._shortMonthsParse, llc);
873 ii = indexOf.call(this._longMonthsParse, llc);
874 return ii !== -1 ? ii : null;
876 ii = indexOf.call(this._longMonthsParse, llc);
880 ii = indexOf.call(this._shortMonthsParse, llc);
881 return ii !== -1 ? ii : null;
886 function localeMonthsParse (monthName, format, strict) {
889 if (this._monthsParseExact) {
890 return units_month__handleStrictParse.call(this, monthName, format, strict);
893 if (!this._monthsParse) {
894 this._monthsParse = [];
895 this._longMonthsParse = [];
896 this._shortMonthsParse = [];
900 // Sorting makes sure if one month (or abbr) is a prefix of another
901 // see sorting in computeMonthsParse
902 for (i = 0; i < 12; i++) {
903 // make the regex if we don't have it already
904 mom = create_utc__createUTC([2000, i]);
905 if (strict && !this._longMonthsParse[i]) {
906 this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
907 this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
909 if (!strict && !this._monthsParse[i]) {
910 regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
911 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
914 if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
916 } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
918 } else if (!strict && this._monthsParse[i].test(monthName)) {
926 function setMonth (mom, value) {
929 if (!mom.isValid()) {
934 if (typeof value === 'string') {
935 if (/^\d+$/.test(value)) {
936 value = toInt(value);
938 value = mom.localeData().monthsParse(value);
939 // TODO: Another silent failure?
940 if (typeof value !== 'number') {
946 dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
947 mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
951 function getSetMonth (value) {
953 setMonth(this, value);
954 utils_hooks__hooks.updateOffset(this, true);
957 return get_set__get(this, 'Month');
961 function getDaysInMonth () {
962 return daysInMonth(this.year(), this.month());
965 var defaultMonthsShortRegex = matchWord;
966 function monthsShortRegex (isStrict) {
967 if (this._monthsParseExact) {
968 if (!hasOwnProp(this, '_monthsRegex')) {
969 computeMonthsParse.call(this);
972 return this._monthsShortStrictRegex;
974 return this._monthsShortRegex;
977 return this._monthsShortStrictRegex && isStrict ?
978 this._monthsShortStrictRegex : this._monthsShortRegex;
982 var defaultMonthsRegex = matchWord;
983 function monthsRegex (isStrict) {
984 if (this._monthsParseExact) {
985 if (!hasOwnProp(this, '_monthsRegex')) {
986 computeMonthsParse.call(this);
989 return this._monthsStrictRegex;
991 return this._monthsRegex;
994 return this._monthsStrictRegex && isStrict ?
995 this._monthsStrictRegex : this._monthsRegex;
999 function computeMonthsParse () {
1000 function cmpLenRev(a, b) {
1001 return b.length - a.length;
1004 var shortPieces = [], longPieces = [], mixedPieces = [],
1006 for (i = 0; i < 12; i++) {
1007 // make the regex if we don't have it already
1008 mom = create_utc__createUTC([2000, i]);
1009 shortPieces.push(this.monthsShort(mom, ''));
1010 longPieces.push(this.months(mom, ''));
1011 mixedPieces.push(this.months(mom, ''));
1012 mixedPieces.push(this.monthsShort(mom, ''));
1014 // Sorting makes sure if one month (or abbr) is a prefix of another it
1015 // will match the longer piece.
1016 shortPieces.sort(cmpLenRev);
1017 longPieces.sort(cmpLenRev);
1018 mixedPieces.sort(cmpLenRev);
1019 for (i = 0; i < 12; i++) {
1020 shortPieces[i] = regexEscape(shortPieces[i]);
1021 longPieces[i] = regexEscape(longPieces[i]);
1022 mixedPieces[i] = regexEscape(mixedPieces[i]);
1025 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
1026 this._monthsShortRegex = this._monthsRegex;
1027 this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
1028 this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
1031 function checkOverflow (m) {
1035 if (a && getParsingFlags(m).overflow === -2) {
1037 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :
1038 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
1039 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
1040 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :
1041 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :
1042 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
1045 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
1048 if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
1051 if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
1055 getParsingFlags(m).overflow = overflow;
1062 // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
1063 var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;
1064 var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;
1066 var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
1069 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
1070 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
1071 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
1072 ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
1073 ['YYYY-DDD', /\d{4}-\d{3}/],
1074 ['YYYY-MM', /\d{4}-\d\d/, false],
1075 ['YYYYYYMMDD', /[+-]\d{10}/],
1076 ['YYYYMMDD', /\d{8}/],
1077 // YYYYMM is NOT allowed by the standard
1078 ['GGGG[W]WWE', /\d{4}W\d{3}/],
1079 ['GGGG[W]WW', /\d{4}W\d{2}/, false],
1080 ['YYYYDDD', /\d{7}/]
1083 // iso time formats and regexes
1085 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
1086 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
1087 ['HH:mm:ss', /\d\d:\d\d:\d\d/],
1088 ['HH:mm', /\d\d:\d\d/],
1089 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
1090 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
1091 ['HHmmss', /\d\d\d\d\d\d/],
1092 ['HHmm', /\d\d\d\d/],
1096 var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
1098 // date from iso format
1099 function configFromISO(config) {
1102 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
1103 allowTime, dateFormat, timeFormat, tzFormat;
1106 getParsingFlags(config).iso = true;
1108 for (i = 0, l = isoDates.length; i < l; i++) {
1109 if (isoDates[i][1].exec(match[1])) {
1110 dateFormat = isoDates[i][0];
1111 allowTime = isoDates[i][2] !== false;
1115 if (dateFormat == null) {
1116 config._isValid = false;
1120 for (i = 0, l = isoTimes.length; i < l; i++) {
1121 if (isoTimes[i][1].exec(match[3])) {
1122 // match[2] should be 'T' or space
1123 timeFormat = (match[2] || ' ') + isoTimes[i][0];
1127 if (timeFormat == null) {
1128 config._isValid = false;
1132 if (!allowTime && timeFormat != null) {
1133 config._isValid = false;
1137 if (tzRegex.exec(match[4])) {
1140 config._isValid = false;
1144 config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
1145 configFromStringAndFormat(config);
1147 config._isValid = false;
1151 // date from iso format or fallback
1152 function configFromString(config) {
1153 var matched = aspNetJsonRegex.exec(config._i);
1155 if (matched !== null) {
1156 config._d = new Date(+matched[1]);
1160 configFromISO(config);
1161 if (config._isValid === false) {
1162 delete config._isValid;
1163 utils_hooks__hooks.createFromInputFallback(config);
1167 utils_hooks__hooks.createFromInputFallback = deprecate(
1168 'moment construction falls back to js Date. This is ' +
1169 'discouraged and will be removed in upcoming major ' +
1170 'release. Please refer to ' +
1171 'https://github.com/moment/moment/issues/1407 for more info.',
1173 config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
1177 function createDate (y, m, d, h, M, s, ms) {
1178 //can't just apply() to create a date:
1179 //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
1180 var date = new Date(y, m, d, h, M, s, ms);
1182 //the date constructor remaps years 0-99 to 1900-1999
1183 if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
1184 date.setFullYear(y);
1189 function createUTCDate (y) {
1190 var date = new Date(Date.UTC.apply(null, arguments));
1192 //the Date.UTC function remaps years 0-99 to 1900-1999
1193 if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
1194 date.setUTCFullYear(y);
1201 addFormatToken('Y', 0, 0, function () {
1202 var y = this.year();
1203 return y <= 9999 ? '' + y : '+' + y;
1206 addFormatToken(0, ['YY', 2], 0, function () {
1207 return this.year() % 100;
1210 addFormatToken(0, ['YYYY', 4], 0, 'year');
1211 addFormatToken(0, ['YYYYY', 5], 0, 'year');
1212 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
1216 addUnitAlias('year', 'y');
1220 addRegexToken('Y', matchSigned);
1221 addRegexToken('YY', match1to2, match2);
1222 addRegexToken('YYYY', match1to4, match4);
1223 addRegexToken('YYYYY', match1to6, match6);
1224 addRegexToken('YYYYYY', match1to6, match6);
1226 addParseToken(['YYYYY', 'YYYYYY'], YEAR);
1227 addParseToken('YYYY', function (input, array) {
1228 array[YEAR] = input.length === 2 ? utils_hooks__hooks.parseTwoDigitYear(input) : toInt(input);
1230 addParseToken('YY', function (input, array) {
1231 array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input);
1233 addParseToken('Y', function (input, array) {
1234 array[YEAR] = parseInt(input, 10);
1239 function daysInYear(year) {
1240 return isLeapYear(year) ? 366 : 365;
1243 function isLeapYear(year) {
1244 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
1249 utils_hooks__hooks.parseTwoDigitYear = function (input) {
1250 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
1255 var getSetYear = makeGetSet('FullYear', true);
1257 function getIsLeapYear () {
1258 return isLeapYear(this.year());
1261 // start-of-first-week - start-of-year
1262 function firstWeekOffset(year, dow, doy) {
1263 var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
1264 fwd = 7 + dow - doy,
1265 // first-week day local weekday -- which local weekday is fwd
1266 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
1268 return -fwdlw + fwd - 1;
1271 //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
1272 function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
1273 var localWeekday = (7 + weekday - dow) % 7,
1274 weekOffset = firstWeekOffset(year, dow, doy),
1275 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
1276 resYear, resDayOfYear;
1278 if (dayOfYear <= 0) {
1280 resDayOfYear = daysInYear(resYear) + dayOfYear;
1281 } else if (dayOfYear > daysInYear(year)) {
1283 resDayOfYear = dayOfYear - daysInYear(year);
1286 resDayOfYear = dayOfYear;
1291 dayOfYear: resDayOfYear
1295 function weekOfYear(mom, dow, doy) {
1296 var weekOffset = firstWeekOffset(mom.year(), dow, doy),
1297 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
1301 resYear = mom.year() - 1;
1302 resWeek = week + weeksInYear(resYear, dow, doy);
1303 } else if (week > weeksInYear(mom.year(), dow, doy)) {
1304 resWeek = week - weeksInYear(mom.year(), dow, doy);
1305 resYear = mom.year() + 1;
1307 resYear = mom.year();
1317 function weeksInYear(year, dow, doy) {
1318 var weekOffset = firstWeekOffset(year, dow, doy),
1319 weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
1320 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
1323 // Pick the first defined of two or three arguments.
1324 function defaults(a, b, c) {
1334 function currentDateArray(config) {
1335 // hooks is actually the exported moment object
1336 var nowValue = new Date(utils_hooks__hooks.now());
1337 if (config._useUTC) {
1338 return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
1340 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
1343 // convert an array to a date.
1344 // the array should mirror the parameters below
1345 // note: all values past the year are optional and will default to the lowest possible value.
1346 // [year, month, day , hour, minute, second, millisecond]
1347 function configFromArray (config) {
1348 var i, date, input = [], currentDate, yearToUse;
1354 currentDate = currentDateArray(config);
1356 //compute day of the year from weeks and weekdays
1357 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
1358 dayOfYearFromWeekInfo(config);
1361 //if the day of the year is set, figure out what it is
1362 if (config._dayOfYear) {
1363 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
1365 if (config._dayOfYear > daysInYear(yearToUse)) {
1366 getParsingFlags(config)._overflowDayOfYear = true;
1369 date = createUTCDate(yearToUse, 0, config._dayOfYear);
1370 config._a[MONTH] = date.getUTCMonth();
1371 config._a[DATE] = date.getUTCDate();
1374 // Default to current date.
1375 // * if no year, month, day of month are given, default to today
1376 // * if day of month is given, default month and year
1377 // * if month is given, default only year
1378 // * if year is given, don't default anything
1379 for (i = 0; i < 3 && config._a[i] == null; ++i) {
1380 config._a[i] = input[i] = currentDate[i];
1383 // Zero out whatever was not defaulted, including time
1384 for (; i < 7; i++) {
1385 config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
1388 // Check for 24:00:00.000
1389 if (config._a[HOUR] === 24 &&
1390 config._a[MINUTE] === 0 &&
1391 config._a[SECOND] === 0 &&
1392 config._a[MILLISECOND] === 0) {
1393 config._nextDay = true;
1394 config._a[HOUR] = 0;
1397 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
1398 // Apply timezone offset from input. The actual utcOffset can be changed
1400 if (config._tzm != null) {
1401 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
1404 if (config._nextDay) {
1405 config._a[HOUR] = 24;
1409 function dayOfYearFromWeekInfo(config) {
1410 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
1413 if (w.GG != null || w.W != null || w.E != null) {
1417 // TODO: We need to take the current isoWeekYear, but that depends on
1418 // how we interpret now (local, utc, fixed offset). So create
1419 // a now version of current config (take local/utc/offset flags, and
1421 weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(local__createLocal(), 1, 4).year);
1422 week = defaults(w.W, 1);
1423 weekday = defaults(w.E, 1);
1424 if (weekday < 1 || weekday > 7) {
1425 weekdayOverflow = true;
1428 dow = config._locale._week.dow;
1429 doy = config._locale._week.doy;
1431 weekYear = defaults(w.gg, config._a[YEAR], weekOfYear(local__createLocal(), dow, doy).year);
1432 week = defaults(w.w, 1);
1435 // weekday -- low day numbers are considered next week
1437 if (weekday < 0 || weekday > 6) {
1438 weekdayOverflow = true;
1440 } else if (w.e != null) {
1441 // local weekday -- counting starts from begining of week
1442 weekday = w.e + dow;
1443 if (w.e < 0 || w.e > 6) {
1444 weekdayOverflow = true;
1447 // default to begining of week
1451 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
1452 getParsingFlags(config)._overflowWeeks = true;
1453 } else if (weekdayOverflow != null) {
1454 getParsingFlags(config)._overflowWeekday = true;
1456 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
1457 config._a[YEAR] = temp.year;
1458 config._dayOfYear = temp.dayOfYear;
1462 // constant that refers to the ISO standard
1463 utils_hooks__hooks.ISO_8601 = function () {};
1465 // date from string and format string
1466 function configFromStringAndFormat(config) {
1467 // TODO: Move this to another part of the creation flow to prevent circular deps
1468 if (config._f === utils_hooks__hooks.ISO_8601) {
1469 configFromISO(config);
1474 getParsingFlags(config).empty = true;
1476 // This array is used to make a Date, either with `new Date` or `Date.UTC`
1477 var string = '' + config._i,
1478 i, parsedInput, tokens, token, skipped,
1479 stringLength = string.length,
1480 totalParsedInputLength = 0;
1482 tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
1484 for (i = 0; i < tokens.length; i++) {
1486 parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
1487 // console.log('token', token, 'parsedInput', parsedInput,
1488 // 'regex', getParseRegexForToken(token, config));
1490 skipped = string.substr(0, string.indexOf(parsedInput));
1491 if (skipped.length > 0) {
1492 getParsingFlags(config).unusedInput.push(skipped);
1494 string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
1495 totalParsedInputLength += parsedInput.length;
1497 // don't parse if it's not a known token
1498 if (formatTokenFunctions[token]) {
1500 getParsingFlags(config).empty = false;
1503 getParsingFlags(config).unusedTokens.push(token);
1505 addTimeToArrayFromToken(token, parsedInput, config);
1507 else if (config._strict && !parsedInput) {
1508 getParsingFlags(config).unusedTokens.push(token);
1512 // add remaining unparsed input length to the string
1513 getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
1514 if (string.length > 0) {
1515 getParsingFlags(config).unusedInput.push(string);
1518 // clear _12h flag if hour is <= 12
1519 if (getParsingFlags(config).bigHour === true &&
1520 config._a[HOUR] <= 12 &&
1521 config._a[HOUR] > 0) {
1522 getParsingFlags(config).bigHour = undefined;
1525 getParsingFlags(config).parsedDateParts = config._a.slice(0);
1526 getParsingFlags(config).meridiem = config._meridiem;
1528 config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
1530 configFromArray(config);
1531 checkOverflow(config);
1535 function meridiemFixWrap (locale, hour, meridiem) {
1538 if (meridiem == null) {
1542 if (locale.meridiemHour != null) {
1543 return locale.meridiemHour(hour, meridiem);
1544 } else if (locale.isPM != null) {
1546 isPm = locale.isPM(meridiem);
1547 if (isPm && hour < 12) {
1550 if (!isPm && hour === 12) {
1555 // this is not supposed to happen
1560 // date from string and array of format strings
1561 function configFromStringAndArray(config) {
1569 if (config._f.length === 0) {
1570 getParsingFlags(config).invalidFormat = true;
1571 config._d = new Date(NaN);
1575 for (i = 0; i < config._f.length; i++) {
1577 tempConfig = copyConfig({}, config);
1578 if (config._useUTC != null) {
1579 tempConfig._useUTC = config._useUTC;
1581 tempConfig._f = config._f[i];
1582 configFromStringAndFormat(tempConfig);
1584 if (!valid__isValid(tempConfig)) {
1588 // if there is any input that was not parsed add a penalty for that format
1589 currentScore += getParsingFlags(tempConfig).charsLeftOver;
1592 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
1594 getParsingFlags(tempConfig).score = currentScore;
1596 if (scoreToBeat == null || currentScore < scoreToBeat) {
1597 scoreToBeat = currentScore;
1598 bestMoment = tempConfig;
1602 extend(config, bestMoment || tempConfig);
1605 function configFromObject(config) {
1610 var i = normalizeObjectUnits(config._i);
1611 config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
1612 return obj && parseInt(obj, 10);
1615 configFromArray(config);
1618 function createFromConfig (config) {
1619 var res = new Moment(checkOverflow(prepareConfig(config)));
1621 // Adding is smart enough around DST
1623 res._nextDay = undefined;
1629 function prepareConfig (config) {
1630 var input = config._i,
1633 config._locale = config._locale || locale_locales__getLocale(config._l);
1635 if (input === null || (format === undefined && input === '')) {
1636 return valid__createInvalid({nullInput: true});
1639 if (typeof input === 'string') {
1640 config._i = input = config._locale.preparse(input);
1643 if (isMoment(input)) {
1644 return new Moment(checkOverflow(input));
1645 } else if (isArray(format)) {
1646 configFromStringAndArray(config);
1647 } else if (format) {
1648 configFromStringAndFormat(config);
1649 } else if (isDate(input)) {
1652 configFromInput(config);
1655 if (!valid__isValid(config)) {
1662 function configFromInput(config) {
1663 var input = config._i;
1664 if (input === undefined) {
1665 config._d = new Date(utils_hooks__hooks.now());
1666 } else if (isDate(input)) {
1667 config._d = new Date(input.valueOf());
1668 } else if (typeof input === 'string') {
1669 configFromString(config);
1670 } else if (isArray(input)) {
1671 config._a = map(input.slice(0), function (obj) {
1672 return parseInt(obj, 10);
1674 configFromArray(config);
1675 } else if (typeof(input) === 'object') {
1676 configFromObject(config);
1677 } else if (typeof(input) === 'number') {
1678 // from milliseconds
1679 config._d = new Date(input);
1681 utils_hooks__hooks.createFromInputFallback(config);
1685 function createLocalOrUTC (input, format, locale, strict, isUTC) {
1688 if (typeof(locale) === 'boolean') {
1692 // object construction must be done this way.
1693 // https://github.com/moment/moment/issues/1423
1694 c._isAMomentObject = true;
1695 c._useUTC = c._isUTC = isUTC;
1701 return createFromConfig(c);
1704 function local__createLocal (input, format, locale, strict) {
1705 return createLocalOrUTC(input, format, locale, strict, false);
1708 var prototypeMin = deprecate(
1709 'moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
1711 var other = local__createLocal.apply(null, arguments);
1712 if (this.isValid() && other.isValid()) {
1713 return other < this ? this : other;
1715 return valid__createInvalid();
1720 var prototypeMax = deprecate(
1721 'moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
1723 var other = local__createLocal.apply(null, arguments);
1724 if (this.isValid() && other.isValid()) {
1725 return other > this ? this : other;
1727 return valid__createInvalid();
1732 // Pick a moment m from moments so that m[fn](other) is true for all
1733 // other. This relies on the function fn to be transitive.
1735 // moments should either be an array of moment objects or an array, whose
1736 // first element is an array of moment objects.
1737 function pickBy(fn, moments) {
1739 if (moments.length === 1 && isArray(moments[0])) {
1740 moments = moments[0];
1742 if (!moments.length) {
1743 return local__createLocal();
1746 for (i = 1; i < moments.length; ++i) {
1747 if (!moments[i].isValid() || moments[i][fn](res)) {
1754 // TODO: Use [].sort instead?
1756 var args = [].slice.call(arguments, 0);
1758 return pickBy('isBefore', args);
1762 var args = [].slice.call(arguments, 0);
1764 return pickBy('isAfter', args);
1767 var now = function () {
1768 return Date.now ? Date.now() : +(new Date());
1771 function Duration (duration) {
1772 var normalizedInput = normalizeObjectUnits(duration),
1773 years = normalizedInput.year || 0,
1774 quarters = normalizedInput.quarter || 0,
1775 months = normalizedInput.month || 0,
1776 weeks = normalizedInput.week || 0,
1777 days = normalizedInput.day || 0,
1778 hours = normalizedInput.hour || 0,
1779 minutes = normalizedInput.minute || 0,
1780 seconds = normalizedInput.second || 0,
1781 milliseconds = normalizedInput.millisecond || 0;
1783 // representation for dateAddRemove
1784 this._milliseconds = +milliseconds +
1785 seconds * 1e3 + // 1000
1786 minutes * 6e4 + // 1000 * 60
1787 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
1788 // Because of dateAddRemove treats 24 hours as different from a
1789 // day when working around DST, we need to store them separately
1790 this._days = +days +
1792 // It is impossible translate months into days without knowing
1793 // which months you are are talking about, so we have to store
1795 this._months = +months +
1801 this._locale = locale_locales__getLocale();
1806 function isDuration (obj) {
1807 return obj instanceof Duration;
1812 function offset (token, separator) {
1813 addFormatToken(token, 0, 0, function () {
1814 var offset = this.utcOffset();
1820 return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
1829 addRegexToken('Z', matchShortOffset);
1830 addRegexToken('ZZ', matchShortOffset);
1831 addParseToken(['Z', 'ZZ'], function (input, array, config) {
1832 config._useUTC = true;
1833 config._tzm = offsetFromString(matchShortOffset, input);
1839 // '+10:00' > ['10', '00']
1840 // '-1530' > ['-15', '30']
1841 var chunkOffset = /([\+\-]|\d\d)/gi;
1843 function offsetFromString(matcher, string) {
1844 var matches = ((string || '').match(matcher) || []);
1845 var chunk = matches[matches.length - 1] || [];
1846 var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];
1847 var minutes = +(parts[1] * 60) + toInt(parts[2]);
1849 return parts[0] === '+' ? minutes : -minutes;
1852 // Return a moment from input, that is local/utc/zone equivalent to model.
1853 function cloneWithOffset(input, model) {
1856 res = model.clone();
1857 diff = (isMoment(input) || isDate(input) ? input.valueOf() : local__createLocal(input).valueOf()) - res.valueOf();
1858 // Use low-level api, because this fn is low-level api.
1859 res._d.setTime(res._d.valueOf() + diff);
1860 utils_hooks__hooks.updateOffset(res, false);
1863 return local__createLocal(input).local();
1867 function getDateOffset (m) {
1868 // On Firefox.24 Date#getTimezoneOffset returns a floating point.
1869 // https://github.com/moment/moment/pull/1871
1870 return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
1875 // This function will be called whenever a moment is mutated.
1876 // It is intended to keep the offset in sync with the timezone.
1877 utils_hooks__hooks.updateOffset = function () {};
1881 // keepLocalTime = true means only change the timezone, without
1882 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
1883 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
1884 // +0200, so we adjust the time as needed, to be valid.
1886 // Keeping the time actually adds/subtracts (one hour)
1887 // from the actual represented time. That is why we call updateOffset
1888 // a second time. In case it wants us to change the offset again
1889 // _changeInProgress == true case, then we have to adjust, because
1890 // there is no such time in the given timezone.
1891 function getSetOffset (input, keepLocalTime) {
1892 var offset = this._offset || 0,
1894 if (!this.isValid()) {
1895 return input != null ? this : NaN;
1897 if (input != null) {
1898 if (typeof input === 'string') {
1899 input = offsetFromString(matchShortOffset, input);
1900 } else if (Math.abs(input) < 16) {
1903 if (!this._isUTC && keepLocalTime) {
1904 localAdjust = getDateOffset(this);
1906 this._offset = input;
1908 if (localAdjust != null) {
1909 this.add(localAdjust, 'm');
1911 if (offset !== input) {
1912 if (!keepLocalTime || this._changeInProgress) {
1913 add_subtract__addSubtract(this, create__createDuration(input - offset, 'm'), 1, false);
1914 } else if (!this._changeInProgress) {
1915 this._changeInProgress = true;
1916 utils_hooks__hooks.updateOffset(this, true);
1917 this._changeInProgress = null;
1922 return this._isUTC ? offset : getDateOffset(this);
1926 function getSetZone (input, keepLocalTime) {
1927 if (input != null) {
1928 if (typeof input !== 'string') {
1932 this.utcOffset(input, keepLocalTime);
1936 return -this.utcOffset();
1940 function setOffsetToUTC (keepLocalTime) {
1941 return this.utcOffset(0, keepLocalTime);
1944 function setOffsetToLocal (keepLocalTime) {
1946 this.utcOffset(0, keepLocalTime);
1947 this._isUTC = false;
1949 if (keepLocalTime) {
1950 this.subtract(getDateOffset(this), 'm');
1956 function setOffsetToParsedOffset () {
1958 this.utcOffset(this._tzm);
1959 } else if (typeof this._i === 'string') {
1960 this.utcOffset(offsetFromString(matchOffset, this._i));
1965 function hasAlignedHourOffset (input) {
1966 if (!this.isValid()) {
1969 input = input ? local__createLocal(input).utcOffset() : 0;
1971 return (this.utcOffset() - input) % 60 === 0;
1974 function isDaylightSavingTime () {
1976 this.utcOffset() > this.clone().month(0).utcOffset() ||
1977 this.utcOffset() > this.clone().month(5).utcOffset()
1981 function isDaylightSavingTimeShifted () {
1982 if (!isUndefined(this._isDSTShifted)) {
1983 return this._isDSTShifted;
1988 copyConfig(c, this);
1989 c = prepareConfig(c);
1992 var other = c._isUTC ? create_utc__createUTC(c._a) : local__createLocal(c._a);
1993 this._isDSTShifted = this.isValid() &&
1994 compareArrays(c._a, other.toArray()) > 0;
1996 this._isDSTShifted = false;
1999 return this._isDSTShifted;
2002 function isLocal () {
2003 return this.isValid() ? !this._isUTC : false;
2006 function isUtcOffset () {
2007 return this.isValid() ? this._isUTC : false;
2011 return this.isValid() ? this._isUTC && this._offset === 0 : false;
2014 // ASP.NET json date format regex
2015 var aspNetRegex = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/;
2017 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
2018 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
2019 // and further modified to allow for strings containing both week and day
2020 var isoRegex = /^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;
2022 function create__createDuration (input, key) {
2023 var duration = input,
2024 // matching against regexp is expensive, do it on demand
2030 if (isDuration(input)) {
2032 ms : input._milliseconds,
2036 } else if (typeof input === 'number') {
2039 duration[key] = input;
2041 duration.milliseconds = input;
2043 } else if (!!(match = aspNetRegex.exec(input))) {
2044 sign = (match[1] === '-') ? -1 : 1;
2047 d : toInt(match[DATE]) * sign,
2048 h : toInt(match[HOUR]) * sign,
2049 m : toInt(match[MINUTE]) * sign,
2050 s : toInt(match[SECOND]) * sign,
2051 ms : toInt(match[MILLISECOND]) * sign
2053 } else if (!!(match = isoRegex.exec(input))) {
2054 sign = (match[1] === '-') ? -1 : 1;
2056 y : parseIso(match[2], sign),
2057 M : parseIso(match[3], sign),
2058 w : parseIso(match[4], sign),
2059 d : parseIso(match[5], sign),
2060 h : parseIso(match[6], sign),
2061 m : parseIso(match[7], sign),
2062 s : parseIso(match[8], sign)
2064 } else if (duration == null) {// checks for null or undefined
2066 } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
2067 diffRes = momentsDifference(local__createLocal(duration.from), local__createLocal(duration.to));
2070 duration.ms = diffRes.milliseconds;
2071 duration.M = diffRes.months;
2074 ret = new Duration(duration);
2076 if (isDuration(input) && hasOwnProp(input, '_locale')) {
2077 ret._locale = input._locale;
2083 create__createDuration.fn = Duration.prototype;
2085 function parseIso (inp, sign) {
2086 // We'd normally use ~~inp for this, but unfortunately it also
2087 // converts floats to ints.
2088 // inp may be undefined, so careful calling replace on it.
2089 var res = inp && parseFloat(inp.replace(',', '.'));
2090 // apply sign while we're at it
2091 return (isNaN(res) ? 0 : res) * sign;
2094 function positiveMomentsDifference(base, other) {
2095 var res = {milliseconds: 0, months: 0};
2097 res.months = other.month() - base.month() +
2098 (other.year() - base.year()) * 12;
2099 if (base.clone().add(res.months, 'M').isAfter(other)) {
2103 res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
2108 function momentsDifference(base, other) {
2110 if (!(base.isValid() && other.isValid())) {
2111 return {milliseconds: 0, months: 0};
2114 other = cloneWithOffset(other, base);
2115 if (base.isBefore(other)) {
2116 res = positiveMomentsDifference(base, other);
2118 res = positiveMomentsDifference(other, base);
2119 res.milliseconds = -res.milliseconds;
2120 res.months = -res.months;
2126 function absRound (number) {
2128 return Math.round(-1 * number) * -1;
2130 return Math.round(number);
2134 // TODO: remove 'name' arg after deprecation is removed
2135 function createAdder(direction, name) {
2136 return function (val, period) {
2138 //invert the arguments, but complain about it
2139 if (period !== null && !isNaN(+period)) {
2140 deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
2141 tmp = val; val = period; period = tmp;
2144 val = typeof val === 'string' ? +val : val;
2145 dur = create__createDuration(val, period);
2146 add_subtract__addSubtract(this, dur, direction);
2151 function add_subtract__addSubtract (mom, duration, isAdding, updateOffset) {
2152 var milliseconds = duration._milliseconds,
2153 days = absRound(duration._days),
2154 months = absRound(duration._months);
2156 if (!mom.isValid()) {
2161 updateOffset = updateOffset == null ? true : updateOffset;
2164 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
2167 get_set__set(mom, 'Date', get_set__get(mom, 'Date') + days * isAdding);
2170 setMonth(mom, get_set__get(mom, 'Month') + months * isAdding);
2173 utils_hooks__hooks.updateOffset(mom, days || months);
2177 var add_subtract__add = createAdder(1, 'add');
2178 var add_subtract__subtract = createAdder(-1, 'subtract');
2180 function moment_calendar__calendar (time, formats) {
2181 // We want to compare the start of today, vs this.
2182 // Getting start-of-today depends on whether we're local/utc/offset or not.
2183 var now = time || local__createLocal(),
2184 sod = cloneWithOffset(now, this).startOf('day'),
2185 diff = this.diff(sod, 'days', true),
2186 format = diff < -6 ? 'sameElse' :
2187 diff < -1 ? 'lastWeek' :
2188 diff < 0 ? 'lastDay' :
2189 diff < 1 ? 'sameDay' :
2190 diff < 2 ? 'nextDay' :
2191 diff < 7 ? 'nextWeek' : 'sameElse';
2193 var output = formats && (isFunction(formats[format]) ? formats[format]() : formats[format]);
2195 return this.format(output || this.localeData().calendar(format, this, local__createLocal(now)));
2199 return new Moment(this);
2202 function isAfter (input, units) {
2203 var localInput = isMoment(input) ? input : local__createLocal(input);
2204 if (!(this.isValid() && localInput.isValid())) {
2207 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
2208 if (units === 'millisecond') {
2209 return this.valueOf() > localInput.valueOf();
2211 return localInput.valueOf() < this.clone().startOf(units).valueOf();
2215 function isBefore (input, units) {
2216 var localInput = isMoment(input) ? input : local__createLocal(input);
2217 if (!(this.isValid() && localInput.isValid())) {
2220 units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
2221 if (units === 'millisecond') {
2222 return this.valueOf() < localInput.valueOf();
2224 return this.clone().endOf(units).valueOf() < localInput.valueOf();
2228 function isBetween (from, to, units, inclusivity) {
2229 inclusivity = inclusivity || '()';
2230 return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&
2231 (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));
2234 function isSame (input, units) {
2235 var localInput = isMoment(input) ? input : local__createLocal(input),
2237 if (!(this.isValid() && localInput.isValid())) {
2240 units = normalizeUnits(units || 'millisecond');
2241 if (units === 'millisecond') {
2242 return this.valueOf() === localInput.valueOf();
2244 inputMs = localInput.valueOf();
2245 return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
2249 function isSameOrAfter (input, units) {
2250 return this.isSame(input, units) || this.isAfter(input,units);
2253 function isSameOrBefore (input, units) {
2254 return this.isSame(input, units) || this.isBefore(input,units);
2257 function diff (input, units, asFloat) {
2262 if (!this.isValid()) {
2266 that = cloneWithOffset(input, this);
2268 if (!that.isValid()) {
2272 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
2274 units = normalizeUnits(units);
2276 if (units === 'year' || units === 'month' || units === 'quarter') {
2277 output = monthDiff(this, that);
2278 if (units === 'quarter') {
2279 output = output / 3;
2280 } else if (units === 'year') {
2281 output = output / 12;
2284 delta = this - that;
2285 output = units === 'second' ? delta / 1e3 : // 1000
2286 units === 'minute' ? delta / 6e4 : // 1000 * 60
2287 units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60
2288 units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
2289 units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
2292 return asFloat ? output : absFloor(output);
2295 function monthDiff (a, b) {
2296 // difference in months
2297 var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
2298 // b is in (anchor - 1 month, anchor + 1 month)
2299 anchor = a.clone().add(wholeMonthDiff, 'months'),
2302 if (b - anchor < 0) {
2303 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
2304 // linear across the month
2305 adjust = (b - anchor) / (anchor - anchor2);
2307 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
2308 // linear across the month
2309 adjust = (b - anchor) / (anchor2 - anchor);
2312 //check for negative zero, return zero if negative zero
2313 return -(wholeMonthDiff + adjust) || 0;
2316 utils_hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
2317 utils_hooks__hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
2319 function toString () {
2320 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
2323 function moment_format__toISOString () {
2324 var m = this.clone().utc();
2325 if (0 < m.year() && m.year() <= 9999) {
2326 if (isFunction(Date.prototype.toISOString)) {
2327 // native implementation is ~50x faster, use it when we can
2328 return this.toDate().toISOString();
2330 return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
2333 return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
2337 function moment_format__format (inputString) {
2339 inputString = this.isUtc() ? utils_hooks__hooks.defaultFormatUtc : utils_hooks__hooks.defaultFormat;
2341 var output = formatMoment(this, inputString);
2342 return this.localeData().postformat(output);
2345 function from (time, withoutSuffix) {
2346 if (this.isValid() &&
2347 ((isMoment(time) && time.isValid()) ||
2348 local__createLocal(time).isValid())) {
2349 return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
2351 return this.localeData().invalidDate();
2355 function fromNow (withoutSuffix) {
2356 return this.from(local__createLocal(), withoutSuffix);
2359 function to (time, withoutSuffix) {
2360 if (this.isValid() &&
2361 ((isMoment(time) && time.isValid()) ||
2362 local__createLocal(time).isValid())) {
2363 return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
2365 return this.localeData().invalidDate();
2369 function toNow (withoutSuffix) {
2370 return this.to(local__createLocal(), withoutSuffix);
2373 // If passed a locale key, it will set the locale for this
2374 // instance. Otherwise, it will return the locale configuration
2375 // variables for this instance.
2376 function locale (key) {
2379 if (key === undefined) {
2380 return this._locale._abbr;
2382 newLocaleData = locale_locales__getLocale(key);
2383 if (newLocaleData != null) {
2384 this._locale = newLocaleData;
2390 var lang = deprecate(
2391 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
2393 if (key === undefined) {
2394 return this.localeData();
2396 return this.locale(key);
2401 function localeData () {
2402 return this._locale;
2405 function startOf (units) {
2406 units = normalizeUnits(units);
2407 // the following switch intentionally omits break keywords
2408 // to utilize falling through the cases.
2430 this.milliseconds(0);
2433 // weeks are a special case
2434 if (units === 'week') {
2437 if (units === 'isoWeek') {
2441 // quarters are also special
2442 if (units === 'quarter') {
2443 this.month(Math.floor(this.month() / 3) * 3);
2449 function endOf (units) {
2450 units = normalizeUnits(units);
2451 if (units === undefined || units === 'millisecond') {
2455 // 'date' is an alias for 'day', so it should be considered as such.
2456 if (units === 'date') {
2460 return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
2463 function to_type__valueOf () {
2464 return this._d.valueOf() - ((this._offset || 0) * 60000);
2468 return Math.floor(this.valueOf() / 1000);
2471 function toDate () {
2472 return this._offset ? new Date(this.valueOf()) : this._d;
2475 function toArray () {
2477 return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
2480 function toObject () {
2487 minutes: m.minutes(),
2488 seconds: m.seconds(),
2489 milliseconds: m.milliseconds()
2493 function toJSON () {
2494 // new Date(NaN).toJSON() === null
2495 return this.isValid() ? this.toISOString() : null;
2498 function moment_valid__isValid () {
2499 return valid__isValid(this);
2502 function parsingFlags () {
2503 return extend({}, getParsingFlags(this));
2506 function invalidAt () {
2507 return getParsingFlags(this).overflow;
2510 function creationData() {
2514 locale: this._locale,
2516 strict: this._strict
2522 addFormatToken(0, ['gg', 2], 0, function () {
2523 return this.weekYear() % 100;
2526 addFormatToken(0, ['GG', 2], 0, function () {
2527 return this.isoWeekYear() % 100;
2530 function addWeekYearFormatToken (token, getter) {
2531 addFormatToken(0, [token, token.length], 0, getter);
2534 addWeekYearFormatToken('gggg', 'weekYear');
2535 addWeekYearFormatToken('ggggg', 'weekYear');
2536 addWeekYearFormatToken('GGGG', 'isoWeekYear');
2537 addWeekYearFormatToken('GGGGG', 'isoWeekYear');
2541 addUnitAlias('weekYear', 'gg');
2542 addUnitAlias('isoWeekYear', 'GG');
2546 addRegexToken('G', matchSigned);
2547 addRegexToken('g', matchSigned);
2548 addRegexToken('GG', match1to2, match2);
2549 addRegexToken('gg', match1to2, match2);
2550 addRegexToken('GGGG', match1to4, match4);
2551 addRegexToken('gggg', match1to4, match4);
2552 addRegexToken('GGGGG', match1to6, match6);
2553 addRegexToken('ggggg', match1to6, match6);
2555 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
2556 week[token.substr(0, 2)] = toInt(input);
2559 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
2560 week[token] = utils_hooks__hooks.parseTwoDigitYear(input);
2565 function getSetWeekYear (input) {
2566 return getSetWeekYearHelper.call(this,
2570 this.localeData()._week.dow,
2571 this.localeData()._week.doy);
2574 function getSetISOWeekYear (input) {
2575 return getSetWeekYearHelper.call(this,
2576 input, this.isoWeek(), this.isoWeekday(), 1, 4);
2579 function getISOWeeksInYear () {
2580 return weeksInYear(this.year(), 1, 4);
2583 function getWeeksInYear () {
2584 var weekInfo = this.localeData()._week;
2585 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
2588 function getSetWeekYearHelper(input, week, weekday, dow, doy) {
2590 if (input == null) {
2591 return weekOfYear(this, dow, doy).year;
2593 weeksTarget = weeksInYear(input, dow, doy);
2594 if (week > weeksTarget) {
2597 return setWeekAll.call(this, input, week, weekday, dow, doy);
2601 function setWeekAll(weekYear, week, weekday, dow, doy) {
2602 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
2603 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
2605 this.year(date.getUTCFullYear());
2606 this.month(date.getUTCMonth());
2607 this.date(date.getUTCDate());
2613 addFormatToken('Q', 0, 'Qo', 'quarter');
2617 addUnitAlias('quarter', 'Q');
2621 addRegexToken('Q', match1);
2622 addParseToken('Q', function (input, array) {
2623 array[MONTH] = (toInt(input) - 1) * 3;
2628 function getSetQuarter (input) {
2629 return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
2634 addFormatToken('w', ['ww', 2], 'wo', 'week');
2635 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
2639 addUnitAlias('week', 'w');
2640 addUnitAlias('isoWeek', 'W');
2644 addRegexToken('w', match1to2);
2645 addRegexToken('ww', match1to2, match2);
2646 addRegexToken('W', match1to2);
2647 addRegexToken('WW', match1to2, match2);
2649 addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
2650 week[token.substr(0, 1)] = toInt(input);
2657 function localeWeek (mom) {
2658 return weekOfYear(mom, this._week.dow, this._week.doy).week;
2661 var defaultLocaleWeek = {
2662 dow : 0, // Sunday is the first day of the week.
2663 doy : 6 // The week that contains Jan 1st is the first week of the year.
2666 function localeFirstDayOfWeek () {
2667 return this._week.dow;
2670 function localeFirstDayOfYear () {
2671 return this._week.doy;
2676 function getSetWeek (input) {
2677 var week = this.localeData().week(this);
2678 return input == null ? week : this.add((input - week) * 7, 'd');
2681 function getSetISOWeek (input) {
2682 var week = weekOfYear(this, 1, 4).week;
2683 return input == null ? week : this.add((input - week) * 7, 'd');
2688 addFormatToken('D', ['DD', 2], 'Do', 'date');
2692 addUnitAlias('date', 'D');
2696 addRegexToken('D', match1to2);
2697 addRegexToken('DD', match1to2, match2);
2698 addRegexToken('Do', function (isStrict, locale) {
2699 return isStrict ? locale._ordinalParse : locale._ordinalParseLenient;
2702 addParseToken(['D', 'DD'], DATE);
2703 addParseToken('Do', function (input, array) {
2704 array[DATE] = toInt(input.match(match1to2)[0], 10);
2709 var getSetDayOfMonth = makeGetSet('Date', true);
2713 addFormatToken('d', 0, 'do', 'day');
2715 addFormatToken('dd', 0, 0, function (format) {
2716 return this.localeData().weekdaysMin(this, format);
2719 addFormatToken('ddd', 0, 0, function (format) {
2720 return this.localeData().weekdaysShort(this, format);
2723 addFormatToken('dddd', 0, 0, function (format) {
2724 return this.localeData().weekdays(this, format);
2727 addFormatToken('e', 0, 0, 'weekday');
2728 addFormatToken('E', 0, 0, 'isoWeekday');
2732 addUnitAlias('day', 'd');
2733 addUnitAlias('weekday', 'e');
2734 addUnitAlias('isoWeekday', 'E');
2738 addRegexToken('d', match1to2);
2739 addRegexToken('e', match1to2);
2740 addRegexToken('E', match1to2);
2741 addRegexToken('dd', function (isStrict, locale) {
2742 return locale.weekdaysMinRegex(isStrict);
2744 addRegexToken('ddd', function (isStrict, locale) {
2745 return locale.weekdaysShortRegex(isStrict);
2747 addRegexToken('dddd', function (isStrict, locale) {
2748 return locale.weekdaysRegex(isStrict);
2751 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
2752 var weekday = config._locale.weekdaysParse(input, token, config._strict);
2753 // if we didn't get a weekday name, mark the date as invalid
2754 if (weekday != null) {
2757 getParsingFlags(config).invalidWeekday = input;
2761 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
2762 week[token] = toInt(input);
2767 function parseWeekday(input, locale) {
2768 if (typeof input !== 'string') {
2772 if (!isNaN(input)) {
2773 return parseInt(input, 10);
2776 input = locale.weekdaysParse(input);
2777 if (typeof input === 'number') {
2786 var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
2787 function localeWeekdays (m, format) {
2788 return isArray(this._weekdays) ? this._weekdays[m.day()] :
2789 this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
2792 var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
2793 function localeWeekdaysShort (m) {
2794 return this._weekdaysShort[m.day()];
2797 var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
2798 function localeWeekdaysMin (m) {
2799 return this._weekdaysMin[m.day()];
2802 function day_of_week__handleStrictParse(weekdayName, format, strict) {
2803 var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
2804 if (!this._weekdaysParse) {
2805 this._weekdaysParse = [];
2806 this._shortWeekdaysParse = [];
2807 this._minWeekdaysParse = [];
2809 for (i = 0; i < 7; ++i) {
2810 mom = create_utc__createUTC([2000, 1]).day(i);
2811 this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
2812 this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
2813 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
2818 if (format === 'dddd') {
2819 ii = indexOf.call(this._weekdaysParse, llc);
2820 return ii !== -1 ? ii : null;
2821 } else if (format === 'ddd') {
2822 ii = indexOf.call(this._shortWeekdaysParse, llc);
2823 return ii !== -1 ? ii : null;
2825 ii = indexOf.call(this._minWeekdaysParse, llc);
2826 return ii !== -1 ? ii : null;
2829 if (format === 'dddd') {
2830 ii = indexOf.call(this._weekdaysParse, llc);
2834 ii = indexOf.call(this._shortWeekdaysParse, llc);
2838 ii = indexOf.call(this._minWeekdaysParse, llc);
2839 return ii !== -1 ? ii : null;
2840 } else if (format === 'ddd') {
2841 ii = indexOf.call(this._shortWeekdaysParse, llc);
2845 ii = indexOf.call(this._weekdaysParse, llc);
2849 ii = indexOf.call(this._minWeekdaysParse, llc);
2850 return ii !== -1 ? ii : null;
2852 ii = indexOf.call(this._minWeekdaysParse, llc);
2856 ii = indexOf.call(this._weekdaysParse, llc);
2860 ii = indexOf.call(this._shortWeekdaysParse, llc);
2861 return ii !== -1 ? ii : null;
2866 function localeWeekdaysParse (weekdayName, format, strict) {
2869 if (this._weekdaysParseExact) {
2870 return day_of_week__handleStrictParse.call(this, weekdayName, format, strict);
2873 if (!this._weekdaysParse) {
2874 this._weekdaysParse = [];
2875 this._minWeekdaysParse = [];
2876 this._shortWeekdaysParse = [];
2877 this._fullWeekdaysParse = [];
2880 for (i = 0; i < 7; i++) {
2881 // make the regex if we don't have it already
2883 mom = create_utc__createUTC([2000, 1]).day(i);
2884 if (strict && !this._fullWeekdaysParse[i]) {
2885 this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i');
2886 this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i');
2887 this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i');
2889 if (!this._weekdaysParse[i]) {
2890 regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
2891 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
2894 if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
2896 } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
2898 } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
2900 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
2908 function getSetDayOfWeek (input) {
2909 if (!this.isValid()) {
2910 return input != null ? this : NaN;
2912 var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
2913 if (input != null) {
2914 input = parseWeekday(input, this.localeData());
2915 return this.add(input - day, 'd');
2921 function getSetLocaleDayOfWeek (input) {
2922 if (!this.isValid()) {
2923 return input != null ? this : NaN;
2925 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
2926 return input == null ? weekday : this.add(input - weekday, 'd');
2929 function getSetISODayOfWeek (input) {
2930 if (!this.isValid()) {
2931 return input != null ? this : NaN;
2933 // behaves the same as moment#day except
2934 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
2935 // as a setter, sunday should belong to the previous week.
2936 return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
2939 var defaultWeekdaysRegex = matchWord;
2940 function weekdaysRegex (isStrict) {
2941 if (this._weekdaysParseExact) {
2942 if (!hasOwnProp(this, '_weekdaysRegex')) {
2943 computeWeekdaysParse.call(this);
2946 return this._weekdaysStrictRegex;
2948 return this._weekdaysRegex;
2951 return this._weekdaysStrictRegex && isStrict ?
2952 this._weekdaysStrictRegex : this._weekdaysRegex;
2956 var defaultWeekdaysShortRegex = matchWord;
2957 function weekdaysShortRegex (isStrict) {
2958 if (this._weekdaysParseExact) {
2959 if (!hasOwnProp(this, '_weekdaysRegex')) {
2960 computeWeekdaysParse.call(this);
2963 return this._weekdaysShortStrictRegex;
2965 return this._weekdaysShortRegex;
2968 return this._weekdaysShortStrictRegex && isStrict ?
2969 this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
2973 var defaultWeekdaysMinRegex = matchWord;
2974 function weekdaysMinRegex (isStrict) {
2975 if (this._weekdaysParseExact) {
2976 if (!hasOwnProp(this, '_weekdaysRegex')) {
2977 computeWeekdaysParse.call(this);
2980 return this._weekdaysMinStrictRegex;
2982 return this._weekdaysMinRegex;
2985 return this._weekdaysMinStrictRegex && isStrict ?
2986 this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
2991 function computeWeekdaysParse () {
2992 function cmpLenRev(a, b) {
2993 return b.length - a.length;
2996 var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
2997 i, mom, minp, shortp, longp;
2998 for (i = 0; i < 7; i++) {
2999 // make the regex if we don't have it already
3000 mom = create_utc__createUTC([2000, 1]).day(i);
3001 minp = this.weekdaysMin(mom, '');
3002 shortp = this.weekdaysShort(mom, '');
3003 longp = this.weekdays(mom, '');
3004 minPieces.push(minp);
3005 shortPieces.push(shortp);
3006 longPieces.push(longp);
3007 mixedPieces.push(minp);
3008 mixedPieces.push(shortp);
3009 mixedPieces.push(longp);
3011 // Sorting makes sure if one weekday (or abbr) is a prefix of another it
3012 // will match the longer piece.
3013 minPieces.sort(cmpLenRev);
3014 shortPieces.sort(cmpLenRev);
3015 longPieces.sort(cmpLenRev);
3016 mixedPieces.sort(cmpLenRev);
3017 for (i = 0; i < 7; i++) {
3018 shortPieces[i] = regexEscape(shortPieces[i]);
3019 longPieces[i] = regexEscape(longPieces[i]);
3020 mixedPieces[i] = regexEscape(mixedPieces[i]);
3023 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
3024 this._weekdaysShortRegex = this._weekdaysRegex;
3025 this._weekdaysMinRegex = this._weekdaysRegex;
3027 this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
3028 this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
3029 this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
3034 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
3038 addUnitAlias('dayOfYear', 'DDD');
3042 addRegexToken('DDD', match1to3);
3043 addRegexToken('DDDD', match3);
3044 addParseToken(['DDD', 'DDDD'], function (input, array, config) {
3045 config._dayOfYear = toInt(input);
3052 function getSetDayOfYear (input) {
3053 var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
3054 return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
3059 function hFormat() {
3060 return this.hours() % 12 || 12;
3063 function kFormat() {
3064 return this.hours() || 24;
3067 addFormatToken('H', ['HH', 2], 0, 'hour');
3068 addFormatToken('h', ['hh', 2], 0, hFormat);
3069 addFormatToken('k', ['kk', 2], 0, kFormat);
3071 addFormatToken('hmm', 0, 0, function () {
3072 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
3075 addFormatToken('hmmss', 0, 0, function () {
3076 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
3077 zeroFill(this.seconds(), 2);
3080 addFormatToken('Hmm', 0, 0, function () {
3081 return '' + this.hours() + zeroFill(this.minutes(), 2);
3084 addFormatToken('Hmmss', 0, 0, function () {
3085 return '' + this.hours() + zeroFill(this.minutes(), 2) +
3086 zeroFill(this.seconds(), 2);
3089 function meridiem (token, lowercase) {
3090 addFormatToken(token, 0, 0, function () {
3091 return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
3095 meridiem('a', true);
3096 meridiem('A', false);
3100 addUnitAlias('hour', 'h');
3104 function matchMeridiem (isStrict, locale) {
3105 return locale._meridiemParse;
3108 addRegexToken('a', matchMeridiem);
3109 addRegexToken('A', matchMeridiem);
3110 addRegexToken('H', match1to2);
3111 addRegexToken('h', match1to2);
3112 addRegexToken('HH', match1to2, match2);
3113 addRegexToken('hh', match1to2, match2);
3115 addRegexToken('hmm', match3to4);
3116 addRegexToken('hmmss', match5to6);
3117 addRegexToken('Hmm', match3to4);
3118 addRegexToken('Hmmss', match5to6);
3120 addParseToken(['H', 'HH'], HOUR);
3121 addParseToken(['a', 'A'], function (input, array, config) {
3122 config._isPm = config._locale.isPM(input);
3123 config._meridiem = input;
3125 addParseToken(['h', 'hh'], function (input, array, config) {
3126 array[HOUR] = toInt(input);
3127 getParsingFlags(config).bigHour = true;
3129 addParseToken('hmm', function (input, array, config) {
3130 var pos = input.length - 2;
3131 array[HOUR] = toInt(input.substr(0, pos));
3132 array[MINUTE] = toInt(input.substr(pos));
3133 getParsingFlags(config).bigHour = true;
3135 addParseToken('hmmss', function (input, array, config) {
3136 var pos1 = input.length - 4;
3137 var pos2 = input.length - 2;
3138 array[HOUR] = toInt(input.substr(0, pos1));
3139 array[MINUTE] = toInt(input.substr(pos1, 2));
3140 array[SECOND] = toInt(input.substr(pos2));
3141 getParsingFlags(config).bigHour = true;
3143 addParseToken('Hmm', function (input, array, config) {
3144 var pos = input.length - 2;
3145 array[HOUR] = toInt(input.substr(0, pos));
3146 array[MINUTE] = toInt(input.substr(pos));
3148 addParseToken('Hmmss', function (input, array, config) {
3149 var pos1 = input.length - 4;
3150 var pos2 = input.length - 2;
3151 array[HOUR] = toInt(input.substr(0, pos1));
3152 array[MINUTE] = toInt(input.substr(pos1, 2));
3153 array[SECOND] = toInt(input.substr(pos2));
3158 function localeIsPM (input) {
3159 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
3160 // Using charAt should be more compatible.
3161 return ((input + '').toLowerCase().charAt(0) === 'p');
3164 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
3165 function localeMeridiem (hours, minutes, isLower) {
3167 return isLower ? 'pm' : 'PM';
3169 return isLower ? 'am' : 'AM';
3176 // Setting the hour should keep the time, because the user explicitly
3177 // specified which hour he wants. So trying to maintain the same hour (in
3178 // a new timezone) makes sense. Adding/subtracting hours does not follow
3180 var getSetHour = makeGetSet('Hours', true);
3184 addFormatToken('m', ['mm', 2], 0, 'minute');
3188 addUnitAlias('minute', 'm');
3192 addRegexToken('m', match1to2);
3193 addRegexToken('mm', match1to2, match2);
3194 addParseToken(['m', 'mm'], MINUTE);
3198 var getSetMinute = makeGetSet('Minutes', false);
3202 addFormatToken('s', ['ss', 2], 0, 'second');
3206 addUnitAlias('second', 's');
3210 addRegexToken('s', match1to2);
3211 addRegexToken('ss', match1to2, match2);
3212 addParseToken(['s', 'ss'], SECOND);
3216 var getSetSecond = makeGetSet('Seconds', false);
3220 addFormatToken('S', 0, 0, function () {
3221 return ~~(this.millisecond() / 100);
3224 addFormatToken(0, ['SS', 2], 0, function () {
3225 return ~~(this.millisecond() / 10);
3228 addFormatToken(0, ['SSS', 3], 0, 'millisecond');
3229 addFormatToken(0, ['SSSS', 4], 0, function () {
3230 return this.millisecond() * 10;
3232 addFormatToken(0, ['SSSSS', 5], 0, function () {
3233 return this.millisecond() * 100;
3235 addFormatToken(0, ['SSSSSS', 6], 0, function () {
3236 return this.millisecond() * 1000;
3238 addFormatToken(0, ['SSSSSSS', 7], 0, function () {
3239 return this.millisecond() * 10000;
3241 addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
3242 return this.millisecond() * 100000;
3244 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
3245 return this.millisecond() * 1000000;
3251 addUnitAlias('millisecond', 'ms');
3255 addRegexToken('S', match1to3, match1);
3256 addRegexToken('SS', match1to3, match2);
3257 addRegexToken('SSS', match1to3, match3);
3260 for (token = 'SSSS'; token.length <= 9; token += 'S') {
3261 addRegexToken(token, matchUnsigned);
3264 function parseMs(input, array) {
3265 array[MILLISECOND] = toInt(('0.' + input) * 1000);
3268 for (token = 'S'; token.length <= 9; token += 'S') {
3269 addParseToken(token, parseMs);
3273 var getSetMillisecond = makeGetSet('Milliseconds', false);
3277 addFormatToken('z', 0, 0, 'zoneAbbr');
3278 addFormatToken('zz', 0, 0, 'zoneName');
3282 function getZoneAbbr () {
3283 return this._isUTC ? 'UTC' : '';
3286 function getZoneName () {
3287 return this._isUTC ? 'Coordinated Universal Time' : '';
3290 var momentPrototype__proto = Moment.prototype;
3292 momentPrototype__proto.add = add_subtract__add;
3293 momentPrototype__proto.calendar = moment_calendar__calendar;
3294 momentPrototype__proto.clone = clone;
3295 momentPrototype__proto.diff = diff;
3296 momentPrototype__proto.endOf = endOf;
3297 momentPrototype__proto.format = moment_format__format;
3298 momentPrototype__proto.from = from;
3299 momentPrototype__proto.fromNow = fromNow;
3300 momentPrototype__proto.to = to;
3301 momentPrototype__proto.toNow = toNow;
3302 momentPrototype__proto.get = getSet;
3303 momentPrototype__proto.invalidAt = invalidAt;
3304 momentPrototype__proto.isAfter = isAfter;
3305 momentPrototype__proto.isBefore = isBefore;
3306 momentPrototype__proto.isBetween = isBetween;
3307 momentPrototype__proto.isSame = isSame;
3308 momentPrototype__proto.isSameOrAfter = isSameOrAfter;
3309 momentPrototype__proto.isSameOrBefore = isSameOrBefore;
3310 momentPrototype__proto.isValid = moment_valid__isValid;
3311 momentPrototype__proto.lang = lang;
3312 momentPrototype__proto.locale = locale;
3313 momentPrototype__proto.localeData = localeData;
3314 momentPrototype__proto.max = prototypeMax;
3315 momentPrototype__proto.min = prototypeMin;
3316 momentPrototype__proto.parsingFlags = parsingFlags;
3317 momentPrototype__proto.set = getSet;
3318 momentPrototype__proto.startOf = startOf;
3319 momentPrototype__proto.subtract = add_subtract__subtract;
3320 momentPrototype__proto.toArray = toArray;
3321 momentPrototype__proto.toObject = toObject;
3322 momentPrototype__proto.toDate = toDate;
3323 momentPrototype__proto.toISOString = moment_format__toISOString;
3324 momentPrototype__proto.toJSON = toJSON;
3325 momentPrototype__proto.toString = toString;
3326 momentPrototype__proto.unix = unix;
3327 momentPrototype__proto.valueOf = to_type__valueOf;
3328 momentPrototype__proto.creationData = creationData;
3331 momentPrototype__proto.year = getSetYear;
3332 momentPrototype__proto.isLeapYear = getIsLeapYear;
3335 momentPrototype__proto.weekYear = getSetWeekYear;
3336 momentPrototype__proto.isoWeekYear = getSetISOWeekYear;
3339 momentPrototype__proto.quarter = momentPrototype__proto.quarters = getSetQuarter;
3342 momentPrototype__proto.month = getSetMonth;
3343 momentPrototype__proto.daysInMonth = getDaysInMonth;
3346 momentPrototype__proto.week = momentPrototype__proto.weeks = getSetWeek;
3347 momentPrototype__proto.isoWeek = momentPrototype__proto.isoWeeks = getSetISOWeek;
3348 momentPrototype__proto.weeksInYear = getWeeksInYear;
3349 momentPrototype__proto.isoWeeksInYear = getISOWeeksInYear;
3352 momentPrototype__proto.date = getSetDayOfMonth;
3353 momentPrototype__proto.day = momentPrototype__proto.days = getSetDayOfWeek;
3354 momentPrototype__proto.weekday = getSetLocaleDayOfWeek;
3355 momentPrototype__proto.isoWeekday = getSetISODayOfWeek;
3356 momentPrototype__proto.dayOfYear = getSetDayOfYear;
3359 momentPrototype__proto.hour = momentPrototype__proto.hours = getSetHour;
3362 momentPrototype__proto.minute = momentPrototype__proto.minutes = getSetMinute;
3365 momentPrototype__proto.second = momentPrototype__proto.seconds = getSetSecond;
3368 momentPrototype__proto.millisecond = momentPrototype__proto.milliseconds = getSetMillisecond;
3371 momentPrototype__proto.utcOffset = getSetOffset;
3372 momentPrototype__proto.utc = setOffsetToUTC;
3373 momentPrototype__proto.local = setOffsetToLocal;
3374 momentPrototype__proto.parseZone = setOffsetToParsedOffset;
3375 momentPrototype__proto.hasAlignedHourOffset = hasAlignedHourOffset;
3376 momentPrototype__proto.isDST = isDaylightSavingTime;
3377 momentPrototype__proto.isDSTShifted = isDaylightSavingTimeShifted;
3378 momentPrototype__proto.isLocal = isLocal;
3379 momentPrototype__proto.isUtcOffset = isUtcOffset;
3380 momentPrototype__proto.isUtc = isUtc;
3381 momentPrototype__proto.isUTC = isUtc;
3384 momentPrototype__proto.zoneAbbr = getZoneAbbr;
3385 momentPrototype__proto.zoneName = getZoneName;
3388 momentPrototype__proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
3389 momentPrototype__proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
3390 momentPrototype__proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);
3391 momentPrototype__proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779', getSetZone);
3393 var momentPrototype = momentPrototype__proto;
3395 function moment_moment__createUnix (input) {
3396 return local__createLocal(input * 1000);
3399 function moment_moment__createInZone () {
3400 return local__createLocal.apply(null, arguments).parseZone();
3403 var defaultCalendar = {
3404 sameDay : '[Today at] LT',
3405 nextDay : '[Tomorrow at] LT',
3406 nextWeek : 'dddd [at] LT',
3407 lastDay : '[Yesterday at] LT',
3408 lastWeek : '[Last] dddd [at] LT',
3412 function locale_calendar__calendar (key, mom, now) {
3413 var output = this._calendar[key];
3414 return isFunction(output) ? output.call(mom, now) : output;
3417 var defaultLongDateFormat = {
3421 LL : 'MMMM D, YYYY',
3422 LLL : 'MMMM D, YYYY h:mm A',
3423 LLLL : 'dddd, MMMM D, YYYY h:mm A'
3426 function longDateFormat (key) {
3427 var format = this._longDateFormat[key],
3428 formatUpper = this._longDateFormat[key.toUpperCase()];
3430 if (format || !formatUpper) {
3434 this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
3435 return val.slice(1);
3438 return this._longDateFormat[key];
3441 var defaultInvalidDate = 'Invalid date';
3443 function invalidDate () {
3444 return this._invalidDate;
3447 var defaultOrdinal = '%d';
3448 var defaultOrdinalParse = /\d{1,2}/;
3450 function ordinal (number) {
3451 return this._ordinal.replace('%d', number);
3454 function preParsePostFormat (string) {
3458 var defaultRelativeTime = {
3461 s : 'a few seconds',
3474 function relative__relativeTime (number, withoutSuffix, string, isFuture) {
3475 var output = this._relativeTime[string];
3476 return (isFunction(output)) ?
3477 output(number, withoutSuffix, string, isFuture) :
3478 output.replace(/%d/i, number);
3481 function pastFuture (diff, output) {
3482 var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
3483 return isFunction(format) ? format(output) : format.replace(/%s/i, output);
3486 var prototype__proto = Locale.prototype;
3488 prototype__proto._calendar = defaultCalendar;
3489 prototype__proto.calendar = locale_calendar__calendar;
3490 prototype__proto._longDateFormat = defaultLongDateFormat;
3491 prototype__proto.longDateFormat = longDateFormat;
3492 prototype__proto._invalidDate = defaultInvalidDate;
3493 prototype__proto.invalidDate = invalidDate;
3494 prototype__proto._ordinal = defaultOrdinal;
3495 prototype__proto.ordinal = ordinal;
3496 prototype__proto._ordinalParse = defaultOrdinalParse;
3497 prototype__proto.preparse = preParsePostFormat;
3498 prototype__proto.postformat = preParsePostFormat;
3499 prototype__proto._relativeTime = defaultRelativeTime;
3500 prototype__proto.relativeTime = relative__relativeTime;
3501 prototype__proto.pastFuture = pastFuture;
3502 prototype__proto.set = locale_set__set;
3505 prototype__proto.months = localeMonths;
3506 prototype__proto._months = defaultLocaleMonths;
3507 prototype__proto.monthsShort = localeMonthsShort;
3508 prototype__proto._monthsShort = defaultLocaleMonthsShort;
3509 prototype__proto.monthsParse = localeMonthsParse;
3510 prototype__proto._monthsRegex = defaultMonthsRegex;
3511 prototype__proto.monthsRegex = monthsRegex;
3512 prototype__proto._monthsShortRegex = defaultMonthsShortRegex;
3513 prototype__proto.monthsShortRegex = monthsShortRegex;
3516 prototype__proto.week = localeWeek;
3517 prototype__proto._week = defaultLocaleWeek;
3518 prototype__proto.firstDayOfYear = localeFirstDayOfYear;
3519 prototype__proto.firstDayOfWeek = localeFirstDayOfWeek;
3522 prototype__proto.weekdays = localeWeekdays;
3523 prototype__proto._weekdays = defaultLocaleWeekdays;
3524 prototype__proto.weekdaysMin = localeWeekdaysMin;
3525 prototype__proto._weekdaysMin = defaultLocaleWeekdaysMin;
3526 prototype__proto.weekdaysShort = localeWeekdaysShort;
3527 prototype__proto._weekdaysShort = defaultLocaleWeekdaysShort;
3528 prototype__proto.weekdaysParse = localeWeekdaysParse;
3530 prototype__proto._weekdaysRegex = defaultWeekdaysRegex;
3531 prototype__proto.weekdaysRegex = weekdaysRegex;
3532 prototype__proto._weekdaysShortRegex = defaultWeekdaysShortRegex;
3533 prototype__proto.weekdaysShortRegex = weekdaysShortRegex;
3534 prototype__proto._weekdaysMinRegex = defaultWeekdaysMinRegex;
3535 prototype__proto.weekdaysMinRegex = weekdaysMinRegex;
3538 prototype__proto.isPM = localeIsPM;
3539 prototype__proto._meridiemParse = defaultLocaleMeridiemParse;
3540 prototype__proto.meridiem = localeMeridiem;
3542 function lists__get (format, index, field, setter) {
3543 var locale = locale_locales__getLocale();
3544 var utc = create_utc__createUTC().set(setter, index);
3545 return locale[field](utc, format);
3548 function listMonthsImpl (format, index, field) {
3549 if (typeof format === 'number') {
3554 format = format || '';
3556 if (index != null) {
3557 return lists__get(format, index, field, 'month');
3562 for (i = 0; i < 12; i++) {
3563 out[i] = lists__get(format, i, field, 'month');
3576 function listWeekdaysImpl (localeSorted, format, index, field) {
3577 if (typeof localeSorted === 'boolean') {
3578 if (typeof format === 'number') {
3583 format = format || '';
3585 format = localeSorted;
3587 localeSorted = false;
3589 if (typeof format === 'number') {
3594 format = format || '';
3597 var locale = locale_locales__getLocale(),
3598 shift = localeSorted ? locale._week.dow : 0;
3600 if (index != null) {
3601 return lists__get(format, (index + shift) % 7, field, 'day');
3606 for (i = 0; i < 7; i++) {
3607 out[i] = lists__get(format, (i + shift) % 7, field, 'day');
3612 function lists__listMonths (format, index) {
3613 return listMonthsImpl(format, index, 'months');
3616 function lists__listMonthsShort (format, index) {
3617 return listMonthsImpl(format, index, 'monthsShort');
3620 function lists__listWeekdays (localeSorted, format, index) {
3621 return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
3624 function lists__listWeekdaysShort (localeSorted, format, index) {
3625 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
3628 function lists__listWeekdaysMin (localeSorted, format, index) {
3629 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
3632 locale_locales__getSetGlobalLocale('en', {
3633 ordinalParse: /\d{1,2}(th|st|nd|rd)/,
3634 ordinal : function (number) {
3635 var b = number % 10,
3636 output = (toInt(number % 100 / 10) === 1) ? 'th' :
3639 (b === 3) ? 'rd' : 'th';
3640 return number + output;
3644 // Side effect imports
3645 utils_hooks__hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', locale_locales__getSetGlobalLocale);
3646 utils_hooks__hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', locale_locales__getLocale);
3648 var mathAbs = Math.abs;
3650 function duration_abs__abs () {
3651 var data = this._data;
3653 this._milliseconds = mathAbs(this._milliseconds);
3654 this._days = mathAbs(this._days);
3655 this._months = mathAbs(this._months);
3657 data.milliseconds = mathAbs(data.milliseconds);
3658 data.seconds = mathAbs(data.seconds);
3659 data.minutes = mathAbs(data.minutes);
3660 data.hours = mathAbs(data.hours);
3661 data.months = mathAbs(data.months);
3662 data.years = mathAbs(data.years);
3667 function duration_add_subtract__addSubtract (duration, input, value, direction) {
3668 var other = create__createDuration(input, value);
3670 duration._milliseconds += direction * other._milliseconds;
3671 duration._days += direction * other._days;
3672 duration._months += direction * other._months;
3674 return duration._bubble();
3677 // supports only 2.0-style add(1, 's') or add(duration)
3678 function duration_add_subtract__add (input, value) {
3679 return duration_add_subtract__addSubtract(this, input, value, 1);
3682 // supports only 2.0-style subtract(1, 's') or subtract(duration)
3683 function duration_add_subtract__subtract (input, value) {
3684 return duration_add_subtract__addSubtract(this, input, value, -1);
3687 function absCeil (number) {
3689 return Math.floor(number);
3691 return Math.ceil(number);
3695 function bubble () {
3696 var milliseconds = this._milliseconds;
3697 var days = this._days;
3698 var months = this._months;
3699 var data = this._data;
3700 var seconds, minutes, hours, years, monthsFromDays;
3702 // if we have a mix of positive and negative values, bubble down first
3703 // check: https://github.com/moment/moment/issues/2166
3704 if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
3705 (milliseconds <= 0 && days <= 0 && months <= 0))) {
3706 milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
3711 // The following code bubbles up values, see the tests for
3712 // examples of what that means.
3713 data.milliseconds = milliseconds % 1000;
3715 seconds = absFloor(milliseconds / 1000);
3716 data.seconds = seconds % 60;
3718 minutes = absFloor(seconds / 60);
3719 data.minutes = minutes % 60;
3721 hours = absFloor(minutes / 60);
3722 data.hours = hours % 24;
3724 days += absFloor(hours / 24);
3726 // convert days to months
3727 monthsFromDays = absFloor(daysToMonths(days));
3728 months += monthsFromDays;
3729 days -= absCeil(monthsToDays(monthsFromDays));
3731 // 12 months -> 1 year
3732 years = absFloor(months / 12);
3736 data.months = months;
3742 function daysToMonths (days) {
3743 // 400 years have 146097 days (taking into account leap year rules)
3744 // 400 years have 12 months === 4800
3745 return days * 4800 / 146097;
3748 function monthsToDays (months) {
3749 // the reverse of daysToMonths
3750 return months * 146097 / 4800;
3753 function as (units) {
3756 var milliseconds = this._milliseconds;
3758 units = normalizeUnits(units);
3760 if (units === 'month' || units === 'year') {
3761 days = this._days + milliseconds / 864e5;
3762 months = this._months + daysToMonths(days);
3763 return units === 'month' ? months : months / 12;
3765 // handle milliseconds separately because of floating point math errors (issue #1867)
3766 days = this._days + Math.round(monthsToDays(this._months));
3768 case 'week' : return days / 7 + milliseconds / 6048e5;
3769 case 'day' : return days + milliseconds / 864e5;
3770 case 'hour' : return days * 24 + milliseconds / 36e5;
3771 case 'minute' : return days * 1440 + milliseconds / 6e4;
3772 case 'second' : return days * 86400 + milliseconds / 1000;
3773 // Math.floor prevents floating point math errors here
3774 case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
3775 default: throw new Error('Unknown unit ' + units);
3780 // TODO: Use this.as('ms')?
3781 function duration_as__valueOf () {
3783 this._milliseconds +
3784 this._days * 864e5 +
3785 (this._months % 12) * 2592e6 +
3786 toInt(this._months / 12) * 31536e6
3790 function makeAs (alias) {
3791 return function () {
3792 return this.as(alias);
3796 var asMilliseconds = makeAs('ms');
3797 var asSeconds = makeAs('s');
3798 var asMinutes = makeAs('m');
3799 var asHours = makeAs('h');
3800 var asDays = makeAs('d');
3801 var asWeeks = makeAs('w');
3802 var asMonths = makeAs('M');
3803 var asYears = makeAs('y');
3805 function duration_get__get (units) {
3806 units = normalizeUnits(units);
3807 return this[units + 's']();
3810 function makeGetter(name) {
3811 return function () {
3812 return this._data[name];
3816 var milliseconds = makeGetter('milliseconds');
3817 var seconds = makeGetter('seconds');
3818 var minutes = makeGetter('minutes');
3819 var hours = makeGetter('hours');
3820 var days = makeGetter('days');
3821 var duration_get__months = makeGetter('months');
3822 var years = makeGetter('years');
3825 return absFloor(this.days() / 7);
3828 var round = Math.round;
3830 s: 45, // seconds to minute
3831 m: 45, // minutes to hour
3832 h: 22, // hours to day
3833 d: 26, // days to month
3834 M: 11 // months to year
3837 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
3838 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
3839 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
3842 function duration_humanize__relativeTime (posNegDuration, withoutSuffix, locale) {
3843 var duration = create__createDuration(posNegDuration).abs();
3844 var seconds = round(duration.as('s'));
3845 var minutes = round(duration.as('m'));
3846 var hours = round(duration.as('h'));
3847 var days = round(duration.as('d'));
3848 var months = round(duration.as('M'));
3849 var years = round(duration.as('y'));
3851 var a = seconds < thresholds.s && ['s', seconds] ||
3852 minutes <= 1 && ['m'] ||
3853 minutes < thresholds.m && ['mm', minutes] ||
3854 hours <= 1 && ['h'] ||
3855 hours < thresholds.h && ['hh', hours] ||
3856 days <= 1 && ['d'] ||
3857 days < thresholds.d && ['dd', days] ||
3858 months <= 1 && ['M'] ||
3859 months < thresholds.M && ['MM', months] ||
3860 years <= 1 && ['y'] || ['yy', years];
3862 a[2] = withoutSuffix;
3863 a[3] = +posNegDuration > 0;
3865 return substituteTimeAgo.apply(null, a);
3868 // This function allows you to set a threshold for relative time strings
3869 function duration_humanize__getSetRelativeTimeThreshold (threshold, limit) {
3870 if (thresholds[threshold] === undefined) {
3873 if (limit === undefined) {
3874 return thresholds[threshold];
3876 thresholds[threshold] = limit;
3880 function humanize (withSuffix) {
3881 var locale = this.localeData();
3882 var output = duration_humanize__relativeTime(this, !withSuffix, locale);
3885 output = locale.pastFuture(+this, output);
3888 return locale.postformat(output);
3891 var iso_string__abs = Math.abs;
3893 function iso_string__toISOString() {
3894 // for ISO strings we do not use the normal bubbling rules:
3895 // * milliseconds bubble up until they become hours
3896 // * days do not bubble at all
3897 // * months bubble up until they become years
3898 // This is because there is no context-free conversion between hours and days
3899 // (think of clock changes)
3900 // and also not between days and months (28-31 days per month)
3901 var seconds = iso_string__abs(this._milliseconds) / 1000;
3902 var days = iso_string__abs(this._days);
3903 var months = iso_string__abs(this._months);
3904 var minutes, hours, years;
3906 // 3600 seconds -> 60 minutes -> 1 hour
3907 minutes = absFloor(seconds / 60);
3908 hours = absFloor(minutes / 60);
3912 // 12 months -> 1 year
3913 years = absFloor(months / 12);
3917 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
3924 var total = this.asSeconds();
3927 // this is the same as C#'s (Noda) and python (isodate)...
3928 // but not other JS (goog.date)
3932 return (total < 0 ? '-' : '') +
3934 (Y ? Y + 'Y' : '') +
3935 (M ? M + 'M' : '') +
3936 (D ? D + 'D' : '') +
3937 ((h || m || s) ? 'T' : '') +
3938 (h ? h + 'H' : '') +
3939 (m ? m + 'M' : '') +
3943 var duration_prototype__proto = Duration.prototype;
3945 duration_prototype__proto.abs = duration_abs__abs;
3946 duration_prototype__proto.add = duration_add_subtract__add;
3947 duration_prototype__proto.subtract = duration_add_subtract__subtract;
3948 duration_prototype__proto.as = as;
3949 duration_prototype__proto.asMilliseconds = asMilliseconds;
3950 duration_prototype__proto.asSeconds = asSeconds;
3951 duration_prototype__proto.asMinutes = asMinutes;
3952 duration_prototype__proto.asHours = asHours;
3953 duration_prototype__proto.asDays = asDays;
3954 duration_prototype__proto.asWeeks = asWeeks;
3955 duration_prototype__proto.asMonths = asMonths;
3956 duration_prototype__proto.asYears = asYears;
3957 duration_prototype__proto.valueOf = duration_as__valueOf;
3958 duration_prototype__proto._bubble = bubble;
3959 duration_prototype__proto.get = duration_get__get;
3960 duration_prototype__proto.milliseconds = milliseconds;
3961 duration_prototype__proto.seconds = seconds;
3962 duration_prototype__proto.minutes = minutes;
3963 duration_prototype__proto.hours = hours;
3964 duration_prototype__proto.days = days;
3965 duration_prototype__proto.weeks = weeks;
3966 duration_prototype__proto.months = duration_get__months;
3967 duration_prototype__proto.years = years;
3968 duration_prototype__proto.humanize = humanize;
3969 duration_prototype__proto.toISOString = iso_string__toISOString;
3970 duration_prototype__proto.toString = iso_string__toISOString;
3971 duration_prototype__proto.toJSON = iso_string__toISOString;
3972 duration_prototype__proto.locale = locale;
3973 duration_prototype__proto.localeData = localeData;
3976 duration_prototype__proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', iso_string__toISOString);
3977 duration_prototype__proto.lang = lang;
3979 // Side effect imports
3983 addFormatToken('X', 0, 0, 'unix');
3984 addFormatToken('x', 0, 0, 'valueOf');
3988 addRegexToken('x', matchSigned);
3989 addRegexToken('X', matchTimestamp);
3990 addParseToken('X', function (input, array, config) {
3991 config._d = new Date(parseFloat(input, 10) * 1000);
3993 addParseToken('x', function (input, array, config) {
3994 config._d = new Date(toInt(input));
3997 // Side effect imports
4002 //! version : 2.13.0
4003 //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
4007 utils_hooks__hooks.version = '2.13.0';
4009 setHookCallback(local__createLocal);
4011 utils_hooks__hooks.fn = momentPrototype;
4012 utils_hooks__hooks.min = min;
4013 utils_hooks__hooks.max = max;
4014 utils_hooks__hooks.now = now;
4015 utils_hooks__hooks.utc = create_utc__createUTC;
4016 utils_hooks__hooks.unix = moment_moment__createUnix;
4017 utils_hooks__hooks.months = lists__listMonths;
4018 utils_hooks__hooks.isDate = isDate;
4019 utils_hooks__hooks.locale = locale_locales__getSetGlobalLocale;
4020 utils_hooks__hooks.invalid = valid__createInvalid;
4021 utils_hooks__hooks.duration = create__createDuration;
4022 utils_hooks__hooks.isMoment = isMoment;
4023 utils_hooks__hooks.weekdays = lists__listWeekdays;
4024 utils_hooks__hooks.parseZone = moment_moment__createInZone;
4025 utils_hooks__hooks.localeData = locale_locales__getLocale;
4026 utils_hooks__hooks.isDuration = isDuration;
4027 utils_hooks__hooks.monthsShort = lists__listMonthsShort;
4028 utils_hooks__hooks.weekdaysMin = lists__listWeekdaysMin;
4029 utils_hooks__hooks.defineLocale = defineLocale;
4030 utils_hooks__hooks.updateLocale = updateLocale;
4031 utils_hooks__hooks.locales = locale_locales__listLocales;
4032 utils_hooks__hooks.weekdaysShort = lists__listWeekdaysShort;
4033 utils_hooks__hooks.normalizeUnits = normalizeUnits;
4034 utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold;
4035 utils_hooks__hooks.prototype = momentPrototype;
4037 var moment__default = utils_hooks__hooks;
4039 //! moment.js locale configuration
4040 //! locale : afrikaans (af)
4041 //! author : Werner Mollentze : https://github.com/wernerm
4043 var af = moment__default.defineLocale('af', {
4044 months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
4045 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
4046 weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
4047 weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
4048 weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
4049 meridiemParse: /vm|nm/i,
4050 isPM : function (input) {
4051 return /^nm$/i.test(input);
4053 meridiem : function (hours, minutes, isLower) {
4055 return isLower ? 'vm' : 'VM';
4057 return isLower ? 'nm' : 'NM';
4065 LLL : 'D MMMM YYYY HH:mm',
4066 LLLL : 'dddd, D MMMM YYYY HH:mm'
4069 sameDay : '[Vandag om] LT',
4070 nextDay : '[Môre om] LT',
4071 nextWeek : 'dddd [om] LT',
4072 lastDay : '[Gister om] LT',
4073 lastWeek : '[Laas] dddd [om] LT',
4079 s : '\'n paar sekondes',
4091 ordinalParse: /\d{1,2}(ste|de)/,
4092 ordinal : function (number) {
4093 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
4096 dow : 1, // Maandag is die eerste dag van die week.
4097 doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
4101 //! moment.js locale configuration
4102 //! locale : Moroccan Arabic (ar-ma)
4103 //! author : ElFadili Yassine : https://github.com/ElFadiliY
4104 //! author : Abdel Said : https://github.com/abdelsaid
4106 var ar_ma = moment__default.defineLocale('ar-ma', {
4107 months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
4108 monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
4109 weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
4110 weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
4111 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
4112 weekdaysParseExact : true,
4118 LLL : 'D MMMM YYYY HH:mm',
4119 LLLL : 'dddd D MMMM YYYY HH:mm'
4122 sameDay: '[اليوم على الساعة] LT',
4123 nextDay: '[غدا على الساعة] LT',
4124 nextWeek: 'dddd [على الساعة] LT',
4125 lastDay: '[أمس على الساعة] LT',
4126 lastWeek: 'dddd [على الساعة] LT',
4145 dow : 6, // Saturday is the first day of the week.
4146 doy : 12 // The week that contains Jan 1st is the first week of the year.
4150 //! moment.js locale configuration
4151 //! locale : Arabic Saudi Arabia (ar-sa)
4152 //! author : Suhail Alkowaileet : https://github.com/xsoh
4154 var ar_sa__symbolMap = {
4165 }, ar_sa__numberMap = {
4178 var ar_sa = moment__default.defineLocale('ar-sa', {
4179 months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
4180 monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
4181 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
4182 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
4183 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
4184 weekdaysParseExact : true,
4190 LLL : 'D MMMM YYYY HH:mm',
4191 LLLL : 'dddd D MMMM YYYY HH:mm'
4193 meridiemParse: /ص|م/,
4194 isPM : function (input) {
4195 return 'م' === input;
4197 meridiem : function (hour, minute, isLower) {
4205 sameDay: '[اليوم على الساعة] LT',
4206 nextDay: '[غدا على الساعة] LT',
4207 nextWeek: 'dddd [على الساعة] LT',
4208 lastDay: '[أمس على الساعة] LT',
4209 lastWeek: 'dddd [على الساعة] LT',
4227 preparse: function (string) {
4228 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
4229 return ar_sa__numberMap[match];
4230 }).replace(/،/g, ',');
4232 postformat: function (string) {
4233 return string.replace(/\d/g, function (match) {
4234 return ar_sa__symbolMap[match];
4235 }).replace(/,/g, '،');
4238 dow : 6, // Saturday is the first day of the week.
4239 doy : 12 // The week that contains Jan 1st is the first week of the year.
4243 //! moment.js locale configuration
4244 //! locale : Tunisian Arabic (ar-tn)
4246 var ar_tn = moment__default.defineLocale('ar-tn', {
4247 months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
4248 monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
4249 weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
4250 weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
4251 weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
4252 weekdaysParseExact : true,
4258 LLL: 'D MMMM YYYY HH:mm',
4259 LLLL: 'dddd D MMMM YYYY HH:mm'
4262 sameDay: '[اليوم على الساعة] LT',
4263 nextDay: '[غدا على الساعة] LT',
4264 nextWeek: 'dddd [على الساعة] LT',
4265 lastDay: '[أمس على الساعة] LT',
4266 lastWeek: 'dddd [على الساعة] LT',
4285 dow: 1, // Monday is the first day of the week.
4286 doy: 4 // The week that contains Jan 4th is the first week of the year.
4290 //! moment.js locale configuration
4291 //! Locale: Arabic (ar)
4292 //! Author: Abdel Said: https://github.com/abdelsaid
4293 //! Changes in months, weekdays: Ahmed Elkhatib
4294 //! Native plural forms: forabi https://github.com/forabi
4296 var ar__symbolMap = {
4307 }, ar__numberMap = {
4318 }, pluralForm = function (n) {
4319 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
4321 s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
4322 m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
4323 h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
4324 d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
4325 M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
4326 y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
4327 }, pluralize = function (u) {
4328 return function (number, withoutSuffix, string, isFuture) {
4329 var f = pluralForm(number),
4330 str = plurals[u][pluralForm(number)];
4332 str = str[withoutSuffix ? 0 : 1];
4334 return str.replace(/%d/i, number);
4337 'كانون الثاني يناير',
4346 'تشرين الأول أكتوبر',
4347 'تشرين الثاني نوفمبر',
4348 'كانون الأول ديسمبر'
4351 var ar = moment__default.defineLocale('ar', {
4352 months : ar__months,
4353 monthsShort : ar__months,
4354 weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
4355 weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
4356 weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
4357 weekdaysParseExact : true,
4361 L : 'D/\u200FM/\u200FYYYY',
4363 LLL : 'D MMMM YYYY HH:mm',
4364 LLLL : 'dddd D MMMM YYYY HH:mm'
4366 meridiemParse: /ص|م/,
4367 isPM : function (input) {
4368 return 'م' === input;
4370 meridiem : function (hour, minute, isLower) {
4378 sameDay: '[اليوم عند الساعة] LT',
4379 nextDay: '[غدًا عند الساعة] LT',
4380 nextWeek: 'dddd [عند الساعة] LT',
4381 lastDay: '[أمس عند الساعة] LT',
4382 lastWeek: 'dddd [عند الساعة] LT',
4390 mm : pluralize('m'),
4392 hh : pluralize('h'),
4394 dd : pluralize('d'),
4396 MM : pluralize('M'),
4400 preparse: function (string) {
4401 return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
4402 return ar__numberMap[match];
4403 }).replace(/،/g, ',');
4405 postformat: function (string) {
4406 return string.replace(/\d/g, function (match) {
4407 return ar__symbolMap[match];
4408 }).replace(/,/g, '،');
4411 dow : 6, // Saturday is the first day of the week.
4412 doy : 12 // The week that contains Jan 1st is the first week of the year.
4416 //! moment.js locale configuration
4417 //! locale : azerbaijani (az)
4418 //! author : topchiyev : https://github.com/topchiyev
4420 var az__suffixes = {
4441 var az = moment__default.defineLocale('az', {
4442 months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
4443 monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
4444 weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
4445 weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
4446 weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
4447 weekdaysParseExact : true,
4453 LLL : 'D MMMM YYYY HH:mm',
4454 LLLL : 'dddd, D MMMM YYYY HH:mm'
4457 sameDay : '[bugün saat] LT',
4458 nextDay : '[sabah saat] LT',
4459 nextWeek : '[gələn həftə] dddd [saat] LT',
4460 lastDay : '[dünən] LT',
4461 lastWeek : '[keçən həftə] dddd [saat] LT',
4465 future : '%s sonra',
4467 s : 'birneçə saniyyə',
4479 meridiemParse: /gecə|səhər|gündüz|axşam/,
4480 isPM : function (input) {
4481 return /^(gündüz|axşam)$/.test(input);
4483 meridiem : function (hour, minute, isLower) {
4486 } else if (hour < 12) {
4488 } else if (hour < 17) {
4494 ordinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
4495 ordinal : function (number) {
4496 if (number === 0) { // special case for zero
4497 return number + '-ıncı';
4499 var a = number % 10,
4500 b = number % 100 - a,
4501 c = number >= 100 ? 100 : null;
4502 return number + (az__suffixes[a] || az__suffixes[b] || az__suffixes[c]);
4505 dow : 1, // Monday is the first day of the week.
4506 doy : 7 // The week that contains Jan 1st is the first week of the year.
4510 //! moment.js locale configuration
4511 //! locale : belarusian (be)
4512 //! author : Dmitry Demidov : https://github.com/demidov91
4513 //! author: Praleska: http://praleska.pro/
4514 //! Author : Menelion Elensúle : https://github.com/Oire
4516 function be__plural(word, num) {
4517 var forms = word.split('_');
4518 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
4520 function be__relativeTimeWithPlural(number, withoutSuffix, key) {
4522 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
4523 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
4524 'dd': 'дзень_дні_дзён',
4525 'MM': 'месяц_месяцы_месяцаў',
4526 'yy': 'год_гады_гадоў'
4529 return withoutSuffix ? 'хвіліна' : 'хвіліну';
4531 else if (key === 'h') {
4532 return withoutSuffix ? 'гадзіна' : 'гадзіну';
4535 return number + ' ' + be__plural(format[key], +number);
4539 var be = moment__default.defineLocale('be', {
4541 format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
4542 standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
4544 monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
4546 format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
4547 standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
4548 isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/
4550 weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
4551 weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
4556 LL : 'D MMMM YYYY г.',
4557 LLL : 'D MMMM YYYY г., HH:mm',
4558 LLLL : 'dddd, D MMMM YYYY г., HH:mm'
4561 sameDay: '[Сёння ў] LT',
4562 nextDay: '[Заўтра ў] LT',
4563 lastDay: '[Учора ў] LT',
4564 nextWeek: function () {
4565 return '[У] dddd [ў] LT';
4567 lastWeek: function () {
4568 switch (this.day()) {
4573 return '[У мінулую] dddd [ў] LT';
4577 return '[У мінулы] dddd [ў] LT';
4585 s : 'некалькі секунд',
4586 m : be__relativeTimeWithPlural,
4587 mm : be__relativeTimeWithPlural,
4588 h : be__relativeTimeWithPlural,
4589 hh : be__relativeTimeWithPlural,
4591 dd : be__relativeTimeWithPlural,
4593 MM : be__relativeTimeWithPlural,
4595 yy : be__relativeTimeWithPlural
4597 meridiemParse: /ночы|раніцы|дня|вечара/,
4598 isPM : function (input) {
4599 return /^(дня|вечара)$/.test(input);
4601 meridiem : function (hour, minute, isLower) {
4604 } else if (hour < 12) {
4606 } else if (hour < 17) {
4612 ordinalParse: /\d{1,2}-(і|ы|га)/,
4613 ordinal: function (number, period) {
4620 return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
4622 return number + '-га';
4628 dow : 1, // Monday is the first day of the week.
4629 doy : 7 // The week that contains Jan 1st is the first week of the year.
4633 //! moment.js locale configuration
4634 //! locale : bulgarian (bg)
4635 //! author : Krasen Borisov : https://github.com/kraz
4637 var bg = moment__default.defineLocale('bg', {
4638 months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
4639 monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
4640 weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
4641 weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
4642 weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
4648 LLL : 'D MMMM YYYY H:mm',
4649 LLLL : 'dddd, D MMMM YYYY H:mm'
4652 sameDay : '[Днес в] LT',
4653 nextDay : '[Утре в] LT',
4654 nextWeek : 'dddd [в] LT',
4655 lastDay : '[Вчера в] LT',
4656 lastWeek : function () {
4657 switch (this.day()) {
4661 return '[В изминалата] dddd [в] LT';
4666 return '[В изминалия] dddd [в] LT';
4674 s : 'няколко секунди',
4686 ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
4687 ordinal : function (number) {
4688 var lastDigit = number % 10,
4689 last2Digits = number % 100;
4691 return number + '-ев';
4692 } else if (last2Digits === 0) {
4693 return number + '-ен';
4694 } else if (last2Digits > 10 && last2Digits < 20) {
4695 return number + '-ти';
4696 } else if (lastDigit === 1) {
4697 return number + '-ви';
4698 } else if (lastDigit === 2) {
4699 return number + '-ри';
4700 } else if (lastDigit === 7 || lastDigit === 8) {
4701 return number + '-ми';
4703 return number + '-ти';
4707 dow : 1, // Monday is the first day of the week.
4708 doy : 7 // The week that contains Jan 1st is the first week of the year.
4712 //! moment.js locale configuration
4713 //! locale : Bengali (bn)
4714 //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
4716 var bn__symbolMap = {
4741 var bn = moment__default.defineLocale('bn', {
4742 months : 'জানুয়ারী_ফেবুয়ারী_মার্চ_এপ্রিল_মে_জুন_জুলাই_অগাস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
4743 monthsShort : 'জানু_ফেব_মার্চ_এপর_মে_জুন_জুল_অগ_সেপ্ট_অক্টো_নভ_ডিসেম্'.split('_'),
4744 weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পত্তিবার_শুক্রবার_শনিবার'.split('_'),
4745 weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পত্তি_শুক্র_শনি'.split('_'),
4746 weekdaysMin : 'রব_সম_মঙ্গ_বু_ব্রিহ_শু_শনি'.split('_'),
4749 LTS : 'A h:mm:ss সময়',
4752 LLL : 'D MMMM YYYY, A h:mm সময়',
4753 LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
4756 sameDay : '[আজ] LT',
4757 nextDay : '[আগামীকাল] LT',
4758 nextWeek : 'dddd, LT',
4759 lastDay : '[গতকাল] LT',
4760 lastWeek : '[গত] dddd, LT',
4778 preparse: function (string) {
4779 return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
4780 return bn__numberMap[match];
4783 postformat: function (string) {
4784 return string.replace(/\d/g, function (match) {
4785 return bn__symbolMap[match];
4788 meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
4789 meridiemHour : function (hour, meridiem) {
4793 if ((meridiem === 'রাত' && hour >= 4) ||
4794 (meridiem === 'দুপুর' && hour < 5) ||
4795 meridiem === 'বিকাল') {
4801 meridiem : function (hour, minute, isLower) {
4804 } else if (hour < 10) {
4806 } else if (hour < 17) {
4808 } else if (hour < 20) {
4815 dow : 0, // Sunday is the first day of the week.
4816 doy : 6 // The week that contains Jan 1st is the first week of the year.
4820 //! moment.js locale configuration
4821 //! locale : tibetan (bo)
4822 //! author : Thupten N. Chakrishar : https://github.com/vajradog
4824 var bo__symbolMap = {
4849 var bo = moment__default.defineLocale('bo', {
4850 months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
4851 monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
4852 weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
4853 weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
4854 weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
4860 LLL : 'D MMMM YYYY, A h:mm',
4861 LLLL : 'dddd, D MMMM YYYY, A h:mm'
4864 sameDay : '[དི་རིང] LT',
4865 nextDay : '[སང་ཉིན] LT',
4866 nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
4867 lastDay : '[ཁ་སང] LT',
4868 lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
4886 preparse: function (string) {
4887 return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
4888 return bo__numberMap[match];
4891 postformat: function (string) {
4892 return string.replace(/\d/g, function (match) {
4893 return bo__symbolMap[match];
4896 meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
4897 meridiemHour : function (hour, meridiem) {
4901 if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
4902 (meridiem === 'ཉིན་གུང' && hour < 5) ||
4903 meridiem === 'དགོང་དག') {
4909 meridiem : function (hour, minute, isLower) {
4912 } else if (hour < 10) {
4914 } else if (hour < 17) {
4916 } else if (hour < 20) {
4923 dow : 0, // Sunday is the first day of the week.
4924 doy : 6 // The week that contains Jan 1st is the first week of the year.
4928 //! moment.js locale configuration
4929 //! locale : breton (br)
4930 //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
4932 function relativeTimeWithMutation(number, withoutSuffix, key) {
4938 return number + ' ' + mutation(format[key], number);
4940 function specialMutationForYears(number) {
4941 switch (lastNumber(number)) {
4947 return number + ' bloaz';
4949 return number + ' vloaz';
4952 function lastNumber(number) {
4954 return lastNumber(number % 10);
4958 function mutation(text, number) {
4960 return softMutation(text);
4964 function softMutation(text) {
4965 var mutationTable = {
4970 if (mutationTable[text.charAt(0)] === undefined) {
4973 return mutationTable[text.charAt(0)] + text.substring(1);
4976 var br = moment__default.defineLocale('br', {
4977 months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
4978 monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
4979 weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
4980 weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
4981 weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
4982 weekdaysParseExact : true,
4985 LTS : 'h[e]mm:ss A',
4987 LL : 'D [a viz] MMMM YYYY',
4988 LLL : 'D [a viz] MMMM YYYY h[e]mm A',
4989 LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
4992 sameDay : '[Hiziv da] LT',
4993 nextDay : '[Warc\'hoazh da] LT',
4994 nextWeek : 'dddd [da] LT',
4995 lastDay : '[Dec\'h da] LT',
4996 lastWeek : 'dddd [paset da] LT',
5000 future : 'a-benn %s',
5002 s : 'un nebeud segondennoù',
5004 mm : relativeTimeWithMutation,
5008 dd : relativeTimeWithMutation,
5010 MM : relativeTimeWithMutation,
5012 yy : specialMutationForYears
5014 ordinalParse: /\d{1,2}(añ|vet)/,
5015 ordinal : function (number) {
5016 var output = (number === 1) ? 'añ' : 'vet';
5017 return number + output;
5020 dow : 1, // Monday is the first day of the week.
5021 doy : 4 // The week that contains Jan 4th is the first week of the year.
5025 //! moment.js locale configuration
5026 //! locale : bosnian (bs)
5027 //! author : Nedim Cholich : https://github.com/frontyard
5028 //! based on (hr) translation by Bojan Marković
5030 function bs__translate(number, withoutSuffix, key) {
5031 var result = number + ' ';
5034 return withoutSuffix ? 'jedna minuta' : 'jedne minute';
5038 } else if (number === 2 || number === 3 || number === 4) {
5045 return withoutSuffix ? 'jedan sat' : 'jednog sata';
5049 } else if (number === 2 || number === 3 || number === 4) {
5065 } else if (number === 2 || number === 3 || number === 4) {
5066 result += 'mjeseca';
5068 result += 'mjeseci';
5074 } else if (number === 2 || number === 3 || number === 4) {
5083 var bs = moment__default.defineLocale('bs', {
5084 months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
5085 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
5086 monthsParseExact: true,
5087 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
5088 weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
5089 weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
5090 weekdaysParseExact : true,
5095 LL : 'D. MMMM YYYY',
5096 LLL : 'D. MMMM YYYY H:mm',
5097 LLLL : 'dddd, D. MMMM YYYY H:mm'
5100 sameDay : '[danas u] LT',
5101 nextDay : '[sutra u] LT',
5102 nextWeek : function () {
5103 switch (this.day()) {
5105 return '[u] [nedjelju] [u] LT';
5107 return '[u] [srijedu] [u] LT';
5109 return '[u] [subotu] [u] LT';
5114 return '[u] dddd [u] LT';
5117 lastDay : '[jučer u] LT',
5118 lastWeek : function () {
5119 switch (this.day()) {
5122 return '[prošlu] dddd [u] LT';
5124 return '[prošle] [subote] [u] LT';
5129 return '[prošli] dddd [u] LT';
5149 ordinalParse: /\d{1,2}\./,
5152 dow : 1, // Monday is the first day of the week.
5153 doy : 7 // The week that contains Jan 1st is the first week of the year.
5157 //! moment.js locale configuration
5158 //! locale : catalan (ca)
5159 //! author : Juan G. Hurtado : https://github.com/juanghurtado
5161 var ca = moment__default.defineLocale('ca', {
5162 months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
5163 monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.'.split('_'),
5164 monthsParseExact : true,
5165 weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
5166 weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
5167 weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),
5168 weekdaysParseExact : true,
5174 LLL : 'D MMMM YYYY H:mm',
5175 LLLL : 'dddd D MMMM YYYY H:mm'
5178 sameDay : function () {
5179 return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
5181 nextDay : function () {
5182 return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
5184 nextWeek : function () {
5185 return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
5187 lastDay : function () {
5188 return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
5190 lastWeek : function () {
5191 return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
5210 ordinalParse: /\d{1,2}(r|n|t|è|a)/,
5211 ordinal : function (number, period) {
5212 var output = (number === 1) ? 'r' :
5213 (number === 2) ? 'n' :
5214 (number === 3) ? 'r' :
5215 (number === 4) ? 't' : 'è';
5216 if (period === 'w' || period === 'W') {
5219 return number + output;
5222 dow : 1, // Monday is the first day of the week.
5223 doy : 4 // The week that contains Jan 4th is the first week of the year.
5227 //! moment.js locale configuration
5228 //! locale : czech (cs)
5229 //! author : petrbela : https://github.com/petrbela
5231 var cs__months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
5232 cs__monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
5233 function cs__plural(n) {
5234 return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
5236 function cs__translate(number, withoutSuffix, key, isFuture) {
5237 var result = number + ' ';
5239 case 's': // a few seconds / in a few seconds / a few seconds ago
5240 return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
5241 case 'm': // a minute / in a minute / a minute ago
5242 return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
5243 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
5244 if (withoutSuffix || isFuture) {
5245 return result + (cs__plural(number) ? 'minuty' : 'minut');
5247 return result + 'minutami';
5250 case 'h': // an hour / in an hour / an hour ago
5251 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
5252 case 'hh': // 9 hours / in 9 hours / 9 hours ago
5253 if (withoutSuffix || isFuture) {
5254 return result + (cs__plural(number) ? 'hodiny' : 'hodin');
5256 return result + 'hodinami';
5259 case 'd': // a day / in a day / a day ago
5260 return (withoutSuffix || isFuture) ? 'den' : 'dnem';
5261 case 'dd': // 9 days / in 9 days / 9 days ago
5262 if (withoutSuffix || isFuture) {
5263 return result + (cs__plural(number) ? 'dny' : 'dní');
5265 return result + 'dny';
5268 case 'M': // a month / in a month / a month ago
5269 return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
5270 case 'MM': // 9 months / in 9 months / 9 months ago
5271 if (withoutSuffix || isFuture) {
5272 return result + (cs__plural(number) ? 'měsíce' : 'měsíců');
5274 return result + 'měsíci';
5277 case 'y': // a year / in a year / a year ago
5278 return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
5279 case 'yy': // 9 years / in 9 years / 9 years ago
5280 if (withoutSuffix || isFuture) {
5281 return result + (cs__plural(number) ? 'roky' : 'let');
5283 return result + 'lety';
5289 var cs = moment__default.defineLocale('cs', {
5290 months : cs__months,
5291 monthsShort : cs__monthsShort,
5292 monthsParse : (function (months, monthsShort) {
5293 var i, _monthsParse = [];
5294 for (i = 0; i < 12; i++) {
5295 // use custom parser to solve problem with July (červenec)
5296 _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
5298 return _monthsParse;
5299 }(cs__months, cs__monthsShort)),
5300 shortMonthsParse : (function (monthsShort) {
5301 var i, _shortMonthsParse = [];
5302 for (i = 0; i < 12; i++) {
5303 _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');
5305 return _shortMonthsParse;
5306 }(cs__monthsShort)),
5307 longMonthsParse : (function (months) {
5308 var i, _longMonthsParse = [];
5309 for (i = 0; i < 12; i++) {
5310 _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');
5312 return _longMonthsParse;
5314 weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
5315 weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
5316 weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
5321 LL : 'D. MMMM YYYY',
5322 LLL : 'D. MMMM YYYY H:mm',
5323 LLLL : 'dddd D. MMMM YYYY H:mm'
5326 sameDay: '[dnes v] LT',
5327 nextDay: '[zítra v] LT',
5328 nextWeek: function () {
5329 switch (this.day()) {
5331 return '[v neděli v] LT';
5334 return '[v] dddd [v] LT';
5336 return '[ve středu v] LT';
5338 return '[ve čtvrtek v] LT';
5340 return '[v pátek v] LT';
5342 return '[v sobotu v] LT';
5345 lastDay: '[včera v] LT',
5346 lastWeek: function () {
5347 switch (this.day()) {
5349 return '[minulou neděli v] LT';
5352 return '[minulé] dddd [v] LT';
5354 return '[minulou středu v] LT';
5357 return '[minulý] dddd [v] LT';
5359 return '[minulou sobotu v] LT';
5379 ordinalParse : /\d{1,2}\./,
5382 dow : 1, // Monday is the first day of the week.
5383 doy : 4 // The week that contains Jan 4th is the first week of the year.
5387 //! moment.js locale configuration
5388 //! locale : chuvash (cv)
5389 //! author : Anatoly Mironov : https://github.com/mirontoli
5391 var cv = moment__default.defineLocale('cv', {
5392 months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
5393 monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
5394 weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
5395 weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
5396 weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
5401 LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
5402 LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
5403 LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
5406 sameDay: '[Паян] LT [сехетре]',
5407 nextDay: '[Ыран] LT [сехетре]',
5408 lastDay: '[Ӗнер] LT [сехетре]',
5409 nextWeek: '[Ҫитес] dddd LT [сехетре]',
5410 lastWeek: '[Иртнӗ] dddd LT [сехетре]',
5414 future : function (output) {
5415 var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
5416 return output + affix;
5419 s : 'пӗр-ик ҫеккунт',
5431 ordinalParse: /\d{1,2}-мӗш/,
5434 dow : 1, // Monday is the first day of the week.
5435 doy : 7 // The week that contains Jan 1st is the first week of the year.
5439 //! moment.js locale configuration
5440 //! locale : Welsh (cy)
5441 //! author : Robert Allen
5443 var cy = moment__default.defineLocale('cy', {
5444 months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
5445 monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
5446 weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
5447 weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
5448 weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
5449 weekdaysParseExact : true,
5450 // time formats are the same as en-gb
5456 LLL: 'D MMMM YYYY HH:mm',
5457 LLLL: 'dddd, D MMMM YYYY HH:mm'
5460 sameDay: '[Heddiw am] LT',
5461 nextDay: '[Yfory am] LT',
5462 nextWeek: 'dddd [am] LT',
5463 lastDay: '[Ddoe am] LT',
5464 lastWeek: 'dddd [diwethaf am] LT',
5470 s: 'ychydig eiliadau',
5482 ordinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
5483 // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
5484 ordinal: function (number) {
5488 '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
5489 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
5492 if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
5493 output = 'fed'; // not 30ain, 70ain or 90ain
5500 return number + output;
5503 dow : 1, // Monday is the first day of the week.
5504 doy : 4 // The week that contains Jan 4th is the first week of the year.
5508 //! moment.js locale configuration
5509 //! locale : danish (da)
5510 //! author : Ulrik Nielsen : https://github.com/mrbase
5512 var da = moment__default.defineLocale('da', {
5513 months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
5514 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
5515 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
5516 weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
5517 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
5522 LL : 'D. MMMM YYYY',
5523 LLL : 'D. MMMM YYYY HH:mm',
5524 LLLL : 'dddd [d.] D. MMMM YYYY HH:mm'
5527 sameDay : '[I dag kl.] LT',
5528 nextDay : '[I morgen kl.] LT',
5529 nextWeek : 'dddd [kl.] LT',
5530 lastDay : '[I går kl.] LT',
5531 lastWeek : '[sidste] dddd [kl] LT',
5549 ordinalParse: /\d{1,2}\./,
5552 dow : 1, // Monday is the first day of the week.
5553 doy : 4 // The week that contains Jan 4th is the first week of the year.
5557 //! moment.js locale configuration
5558 //! locale : austrian german (de-at)
5559 //! author : lluchs : https://github.com/lluchs
5560 //! author: Menelion Elensúle: https://github.com/Oire
5561 //! author : Martin Groller : https://github.com/MadMG
5562 //! author : Mikolaj Dadela : https://github.com/mik01aj
5564 function de_at__processRelativeTime(number, withoutSuffix, key, isFuture) {
5566 'm': ['eine Minute', 'einer Minute'],
5567 'h': ['eine Stunde', 'einer Stunde'],
5568 'd': ['ein Tag', 'einem Tag'],
5569 'dd': [number + ' Tage', number + ' Tagen'],
5570 'M': ['ein Monat', 'einem Monat'],
5571 'MM': [number + ' Monate', number + ' Monaten'],
5572 'y': ['ein Jahr', 'einem Jahr'],
5573 'yy': [number + ' Jahre', number + ' Jahren']
5575 return withoutSuffix ? format[key][0] : format[key][1];
5578 var de_at = moment__default.defineLocale('de-at', {
5579 months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
5580 monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
5581 monthsParseExact : true,
5582 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
5583 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
5584 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
5585 weekdaysParseExact : true,
5590 LL : 'D. MMMM YYYY',
5591 LLL : 'D. MMMM YYYY HH:mm',
5592 LLLL : 'dddd, D. MMMM YYYY HH:mm'
5595 sameDay: '[heute um] LT [Uhr]',
5597 nextDay: '[morgen um] LT [Uhr]',
5598 nextWeek: 'dddd [um] LT [Uhr]',
5599 lastDay: '[gestern um] LT [Uhr]',
5600 lastWeek: '[letzten] dddd [um] LT [Uhr]'
5605 s : 'ein paar Sekunden',
5606 m : de_at__processRelativeTime,
5608 h : de_at__processRelativeTime,
5610 d : de_at__processRelativeTime,
5611 dd : de_at__processRelativeTime,
5612 M : de_at__processRelativeTime,
5613 MM : de_at__processRelativeTime,
5614 y : de_at__processRelativeTime,
5615 yy : de_at__processRelativeTime
5617 ordinalParse: /\d{1,2}\./,
5620 dow : 1, // Monday is the first day of the week.
5621 doy : 4 // The week that contains Jan 4th is the first week of the year.
5625 //! moment.js locale configuration
5626 //! locale : german (de)
5627 //! author : lluchs : https://github.com/lluchs
5628 //! author: Menelion Elensúle: https://github.com/Oire
5629 //! author : Mikolaj Dadela : https://github.com/mik01aj
5631 function de__processRelativeTime(number, withoutSuffix, key, isFuture) {
5633 'm': ['eine Minute', 'einer Minute'],
5634 'h': ['eine Stunde', 'einer Stunde'],
5635 'd': ['ein Tag', 'einem Tag'],
5636 'dd': [number + ' Tage', number + ' Tagen'],
5637 'M': ['ein Monat', 'einem Monat'],
5638 'MM': [number + ' Monate', number + ' Monaten'],
5639 'y': ['ein Jahr', 'einem Jahr'],
5640 'yy': [number + ' Jahre', number + ' Jahren']
5642 return withoutSuffix ? format[key][0] : format[key][1];
5645 var de = moment__default.defineLocale('de', {
5646 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
5647 monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
5648 monthsParseExact : true,
5649 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
5650 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
5651 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
5652 weekdaysParseExact : true,
5657 LL : 'D. MMMM YYYY',
5658 LLL : 'D. MMMM YYYY HH:mm',
5659 LLLL : 'dddd, D. MMMM YYYY HH:mm'
5662 sameDay: '[heute um] LT [Uhr]',
5664 nextDay: '[morgen um] LT [Uhr]',
5665 nextWeek: 'dddd [um] LT [Uhr]',
5666 lastDay: '[gestern um] LT [Uhr]',
5667 lastWeek: '[letzten] dddd [um] LT [Uhr]'
5672 s : 'ein paar Sekunden',
5673 m : de__processRelativeTime,
5675 h : de__processRelativeTime,
5677 d : de__processRelativeTime,
5678 dd : de__processRelativeTime,
5679 M : de__processRelativeTime,
5680 MM : de__processRelativeTime,
5681 y : de__processRelativeTime,
5682 yy : de__processRelativeTime
5684 ordinalParse: /\d{1,2}\./,
5687 dow : 1, // Monday is the first day of the week.
5688 doy : 4 // The week that contains Jan 4th is the first week of the year.
5692 //! moment.js locale configuration
5693 //! locale : dhivehi (dv)
5694 //! author : Jawish Hameed : https://github.com/jawish
5719 var dv = moment__default.defineLocale('dv', {
5720 months : dv__months,
5721 monthsShort : dv__months,
5722 weekdays : dv__weekdays,
5723 weekdaysShort : dv__weekdays,
5724 weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
5731 LLL : 'D MMMM YYYY HH:mm',
5732 LLLL : 'dddd D MMMM YYYY HH:mm'
5734 meridiemParse: /މކ|މފ/,
5735 isPM : function (input) {
5736 return 'މފ' === input;
5738 meridiem : function (hour, minute, isLower) {
5746 sameDay : '[މިއަދު] LT',
5747 nextDay : '[މާދަމާ] LT',
5748 nextWeek : 'dddd LT',
5749 lastDay : '[އިއްޔެ] LT',
5750 lastWeek : '[ފާއިތުވި] dddd LT',
5754 future : 'ތެރޭގައި %s',
5756 s : 'ސިކުންތުކޮޅެއް',
5768 preparse: function (string) {
5769 return string.replace(/،/g, ',');
5771 postformat: function (string) {
5772 return string.replace(/,/g, '،');
5775 dow : 7, // Sunday is the first day of the week.
5776 doy : 12 // The week that contains Jan 1st is the first week of the year.
5780 //! moment.js locale configuration
5781 //! locale : modern greek (el)
5782 //! author : Aggelos Karalias : https://github.com/mehiel
5784 var el = moment__default.defineLocale('el', {
5785 monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
5786 monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
5787 months : function (momentToFormat, format) {
5788 if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
5789 return this._monthsGenitiveEl[momentToFormat.month()];
5791 return this._monthsNominativeEl[momentToFormat.month()];
5794 monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
5795 weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
5796 weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
5797 weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
5798 meridiem : function (hours, minutes, isLower) {
5800 return isLower ? 'μμ' : 'ΜΜ';
5802 return isLower ? 'πμ' : 'ΠΜ';
5805 isPM : function (input) {
5806 return ((input + '').toLowerCase()[0] === 'μ');
5808 meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
5814 LLL : 'D MMMM YYYY h:mm A',
5815 LLLL : 'dddd, D MMMM YYYY h:mm A'
5818 sameDay : '[Σήμερα {}] LT',
5819 nextDay : '[Αύριο {}] LT',
5820 nextWeek : 'dddd [{}] LT',
5821 lastDay : '[Χθες {}] LT',
5822 lastWeek : function () {
5823 switch (this.day()) {
5825 return '[το προηγούμενο] dddd [{}] LT';
5827 return '[την προηγούμενη] dddd [{}] LT';
5832 calendar : function (key, mom) {
5833 var output = this._calendarEl[key],
5834 hours = mom && mom.hours();
5835 if (isFunction(output)) {
5836 output = output.apply(mom);
5838 return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
5843 s : 'λίγα δευτερόλεπτα',
5855 ordinalParse: /\d{1,2}η/,
5858 dow : 1, // Monday is the first day of the week.
5859 doy : 4 // The week that contains Jan 4st is the first week of the year.
5863 //! moment.js locale configuration
5864 //! locale : australian english (en-au)
5866 var en_au = moment__default.defineLocale('en-au', {
5867 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5868 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5869 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5870 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5871 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5877 LLL : 'D MMMM YYYY h:mm A',
5878 LLLL : 'dddd, D MMMM YYYY h:mm A'
5881 sameDay : '[Today at] LT',
5882 nextDay : '[Tomorrow at] LT',
5883 nextWeek : 'dddd [at] LT',
5884 lastDay : '[Yesterday at] LT',
5885 lastWeek : '[Last] dddd [at] LT',
5891 s : 'a few seconds',
5903 ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5904 ordinal : function (number) {
5905 var b = number % 10,
5906 output = (~~(number % 100 / 10) === 1) ? 'th' :
5909 (b === 3) ? 'rd' : 'th';
5910 return number + output;
5913 dow : 1, // Monday is the first day of the week.
5914 doy : 4 // The week that contains Jan 4th is the first week of the year.
5918 //! moment.js locale configuration
5919 //! locale : canadian english (en-ca)
5920 //! author : Jonathan Abourbih : https://github.com/jonbca
5922 var en_ca = moment__default.defineLocale('en-ca', {
5923 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5924 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5925 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5926 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5927 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5932 LL : 'MMMM D, YYYY',
5933 LLL : 'MMMM D, YYYY h:mm A',
5934 LLLL : 'dddd, MMMM D, YYYY h:mm A'
5937 sameDay : '[Today at] LT',
5938 nextDay : '[Tomorrow at] LT',
5939 nextWeek : 'dddd [at] LT',
5940 lastDay : '[Yesterday at] LT',
5941 lastWeek : '[Last] dddd [at] LT',
5947 s : 'a few seconds',
5959 ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5960 ordinal : function (number) {
5961 var b = number % 10,
5962 output = (~~(number % 100 / 10) === 1) ? 'th' :
5965 (b === 3) ? 'rd' : 'th';
5966 return number + output;
5970 //! moment.js locale configuration
5971 //! locale : great britain english (en-gb)
5972 //! author : Chris Gedrim : https://github.com/chrisgedrim
5974 var en_gb = moment__default.defineLocale('en-gb', {
5975 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5976 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5977 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5978 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5979 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5985 LLL : 'D MMMM YYYY HH:mm',
5986 LLLL : 'dddd, D MMMM YYYY HH:mm'
5989 sameDay : '[Today at] LT',
5990 nextDay : '[Tomorrow at] LT',
5991 nextWeek : 'dddd [at] LT',
5992 lastDay : '[Yesterday at] LT',
5993 lastWeek : '[Last] dddd [at] LT',
5999 s : 'a few seconds',
6011 ordinalParse: /\d{1,2}(st|nd|rd|th)/,
6012 ordinal : function (number) {
6013 var b = number % 10,
6014 output = (~~(number % 100 / 10) === 1) ? 'th' :
6017 (b === 3) ? 'rd' : 'th';
6018 return number + output;
6021 dow : 1, // Monday is the first day of the week.
6022 doy : 4 // The week that contains Jan 4th is the first week of the year.
6026 //! moment.js locale configuration
6027 //! locale : Irish english (en-ie)
6028 //! author : Chris Cartlidge : https://github.com/chriscartlidge
6030 var en_ie = moment__default.defineLocale('en-ie', {
6031 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
6032 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
6033 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
6034 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
6035 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
6041 LLL : 'D MMMM YYYY HH:mm',
6042 LLLL : 'dddd D MMMM YYYY HH:mm'
6045 sameDay : '[Today at] LT',
6046 nextDay : '[Tomorrow at] LT',
6047 nextWeek : 'dddd [at] LT',
6048 lastDay : '[Yesterday at] LT',
6049 lastWeek : '[Last] dddd [at] LT',
6055 s : 'a few seconds',
6067 ordinalParse: /\d{1,2}(st|nd|rd|th)/,
6068 ordinal : function (number) {
6069 var b = number % 10,
6070 output = (~~(number % 100 / 10) === 1) ? 'th' :
6073 (b === 3) ? 'rd' : 'th';
6074 return number + output;
6077 dow : 1, // Monday is the first day of the week.
6078 doy : 4 // The week that contains Jan 4th is the first week of the year.
6082 //! moment.js locale configuration
6083 //! locale : New Zealand english (en-nz)
6085 var en_nz = moment__default.defineLocale('en-nz', {
6086 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
6087 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
6088 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
6089 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
6090 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
6096 LLL : 'D MMMM YYYY h:mm A',
6097 LLLL : 'dddd, D MMMM YYYY h:mm A'
6100 sameDay : '[Today at] LT',
6101 nextDay : '[Tomorrow at] LT',
6102 nextWeek : 'dddd [at] LT',
6103 lastDay : '[Yesterday at] LT',
6104 lastWeek : '[Last] dddd [at] LT',
6110 s : 'a few seconds',
6122 ordinalParse: /\d{1,2}(st|nd|rd|th)/,
6123 ordinal : function (number) {
6124 var b = number % 10,
6125 output = (~~(number % 100 / 10) === 1) ? 'th' :
6128 (b === 3) ? 'rd' : 'th';
6129 return number + output;
6132 dow : 1, // Monday is the first day of the week.
6133 doy : 4 // The week that contains Jan 4th is the first week of the year.
6137 //! moment.js locale configuration
6138 //! locale : esperanto (eo)
6139 //! author : Colin Dean : https://github.com/colindean
6140 //! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.
6141 //! Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!
6143 var eo = moment__default.defineLocale('eo', {
6144 months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),
6145 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),
6146 weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato'.split('_'),
6147 weekdaysShort : 'Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab'.split('_'),
6148 weekdaysMin : 'Di_Lu_Ma_Me_Ĵa_Ve_Sa'.split('_'),
6153 LL : 'D[-an de] MMMM, YYYY',
6154 LLL : 'D[-an de] MMMM, YYYY HH:mm',
6155 LLLL : 'dddd, [la] D[-an de] MMMM, YYYY HH:mm'
6157 meridiemParse: /[ap]\.t\.m/i,
6158 isPM: function (input) {
6159 return input.charAt(0).toLowerCase() === 'p';
6161 meridiem : function (hours, minutes, isLower) {
6163 return isLower ? 'p.t.m.' : 'P.T.M.';
6165 return isLower ? 'a.t.m.' : 'A.T.M.';
6169 sameDay : '[Hodiaŭ je] LT',
6170 nextDay : '[Morgaŭ je] LT',
6171 nextWeek : 'dddd [je] LT',
6172 lastDay : '[Hieraŭ je] LT',
6173 lastWeek : '[pasinta] dddd [je] LT',
6184 d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
6191 ordinalParse: /\d{1,2}a/,
6194 dow : 1, // Monday is the first day of the week.
6195 doy : 7 // The week that contains Jan 1st is the first week of the year.
6199 //! moment.js locale configuration
6200 //! locale : spanish (es)
6201 //! author : Julio Napurí : https://github.com/julionc
6203 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
6204 es__monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
6206 var es = moment__default.defineLocale('es', {
6207 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
6208 monthsShort : function (m, format) {
6209 if (/-MMM-/.test(format)) {
6210 return es__monthsShort[m.month()];
6212 return monthsShortDot[m.month()];
6215 monthsParseExact : true,
6216 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
6217 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
6218 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
6219 weekdaysParseExact : true,
6224 LL : 'D [de] MMMM [de] YYYY',
6225 LLL : 'D [de] MMMM [de] YYYY H:mm',
6226 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
6229 sameDay : function () {
6230 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
6232 nextDay : function () {
6233 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
6235 nextWeek : function () {
6236 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
6238 lastDay : function () {
6239 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
6241 lastWeek : function () {
6242 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
6249 s : 'unos segundos',
6261 ordinalParse : /\d{1,2}º/,
6264 dow : 1, // Monday is the first day of the week.
6265 doy : 4 // The week that contains Jan 4th is the first week of the year.
6269 //! moment.js locale configuration
6270 //! locale : estonian (et)
6271 //! author : Henry Kehlmann : https://github.com/madhenry
6272 //! improvements : Illimar Tambek : https://github.com/ragulka
6274 function et__processRelativeTime(number, withoutSuffix, key, isFuture) {
6276 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
6277 'm' : ['ühe minuti', 'üks minut'],
6278 'mm': [number + ' minuti', number + ' minutit'],
6279 'h' : ['ühe tunni', 'tund aega', 'üks tund'],
6280 'hh': [number + ' tunni', number + ' tundi'],
6281 'd' : ['ühe päeva', 'üks päev'],
6282 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
6283 'MM': [number + ' kuu', number + ' kuud'],
6284 'y' : ['ühe aasta', 'aasta', 'üks aasta'],
6285 'yy': [number + ' aasta', number + ' aastat']
6287 if (withoutSuffix) {
6288 return format[key][2] ? format[key][2] : format[key][1];
6290 return isFuture ? format[key][0] : format[key][1];
6293 var et = moment__default.defineLocale('et', {
6294 months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
6295 monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
6296 weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
6297 weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
6298 weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),
6303 LL : 'D. MMMM YYYY',
6304 LLL : 'D. MMMM YYYY H:mm',
6305 LLLL : 'dddd, D. MMMM YYYY H:mm'
6308 sameDay : '[Täna,] LT',
6309 nextDay : '[Homme,] LT',
6310 nextWeek : '[Järgmine] dddd LT',
6311 lastDay : '[Eile,] LT',
6312 lastWeek : '[Eelmine] dddd LT',
6316 future : '%s pärast',
6318 s : et__processRelativeTime,
6319 m : et__processRelativeTime,
6320 mm : et__processRelativeTime,
6321 h : et__processRelativeTime,
6322 hh : et__processRelativeTime,
6323 d : et__processRelativeTime,
6325 M : et__processRelativeTime,
6326 MM : et__processRelativeTime,
6327 y : et__processRelativeTime,
6328 yy : et__processRelativeTime
6330 ordinalParse: /\d{1,2}\./,
6333 dow : 1, // Monday is the first day of the week.
6334 doy : 4 // The week that contains Jan 4th is the first week of the year.
6338 //! moment.js locale configuration
6339 //! locale : euskara (eu)
6340 //! author : Eneko Illarramendi : https://github.com/eillarra
6342 var eu = moment__default.defineLocale('eu', {
6343 months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
6344 monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
6345 monthsParseExact : true,
6346 weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
6347 weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
6348 weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
6349 weekdaysParseExact : true,
6354 LL : 'YYYY[ko] MMMM[ren] D[a]',
6355 LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
6356 LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
6358 ll : 'YYYY[ko] MMM D[a]',
6359 lll : 'YYYY[ko] MMM D[a] HH:mm',
6360 llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
6363 sameDay : '[gaur] LT[etan]',
6364 nextDay : '[bihar] LT[etan]',
6365 nextWeek : 'dddd LT[etan]',
6366 lastDay : '[atzo] LT[etan]',
6367 lastWeek : '[aurreko] dddd LT[etan]',
6371 future : '%s barru',
6373 s : 'segundo batzuk',
6385 ordinalParse: /\d{1,2}\./,
6388 dow : 1, // Monday is the first day of the week.
6389 doy : 7 // The week that contains Jan 1st is the first week of the year.
6393 //! moment.js locale configuration
6394 //! locale : Persian (fa)
6395 //! author : Ebrahim Byagowi : https://github.com/ebraminio
6397 var fa__symbolMap = {
6408 }, fa__numberMap = {
6421 var fa = moment__default.defineLocale('fa', {
6422 months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
6423 monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
6424 weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
6425 weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
6426 weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
6427 weekdaysParseExact : true,
6433 LLL : 'D MMMM YYYY HH:mm',
6434 LLLL : 'dddd, D MMMM YYYY HH:mm'
6436 meridiemParse: /قبل از ظهر|بعد از ظهر/,
6437 isPM: function (input) {
6438 return /بعد از ظهر/.test(input);
6440 meridiem : function (hour, minute, isLower) {
6442 return 'قبل از ظهر';
6444 return 'بعد از ظهر';
6448 sameDay : '[امروز ساعت] LT',
6449 nextDay : '[فردا ساعت] LT',
6450 nextWeek : 'dddd [ساعت] LT',
6451 lastDay : '[دیروز ساعت] LT',
6452 lastWeek : 'dddd [پیش] [ساعت] LT',
6470 preparse: function (string) {
6471 return string.replace(/[۰-۹]/g, function (match) {
6472 return fa__numberMap[match];
6473 }).replace(/،/g, ',');
6475 postformat: function (string) {
6476 return string.replace(/\d/g, function (match) {
6477 return fa__symbolMap[match];
6478 }).replace(/,/g, '،');
6480 ordinalParse: /\d{1,2}م/,
6483 dow : 6, // Saturday is the first day of the week.
6484 doy : 12 // The week that contains Jan 1st is the first week of the year.
6488 //! moment.js locale configuration
6489 //! locale : finnish (fi)
6490 //! author : Tarmo Aidantausta : https://github.com/bleadof
6492 var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
6494 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
6495 numbersPast[7], numbersPast[8], numbersPast[9]
6497 function fi__translate(number, withoutSuffix, key, isFuture) {
6501 return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
6503 return isFuture ? 'minuutin' : 'minuutti';
6505 result = isFuture ? 'minuutin' : 'minuuttia';
6508 return isFuture ? 'tunnin' : 'tunti';
6510 result = isFuture ? 'tunnin' : 'tuntia';
6513 return isFuture ? 'päivän' : 'päivä';
6515 result = isFuture ? 'päivän' : 'päivää';
6518 return isFuture ? 'kuukauden' : 'kuukausi';
6520 result = isFuture ? 'kuukauden' : 'kuukautta';
6523 return isFuture ? 'vuoden' : 'vuosi';
6525 result = isFuture ? 'vuoden' : 'vuotta';
6528 result = verbalNumber(number, isFuture) + ' ' + result;
6531 function verbalNumber(number, isFuture) {
6532 return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
6535 var fi = moment__default.defineLocale('fi', {
6536 months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
6537 monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
6538 weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
6539 weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
6540 weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
6545 LL : 'Do MMMM[ta] YYYY',
6546 LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
6547 LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
6550 lll : 'Do MMM YYYY, [klo] HH.mm',
6551 llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
6554 sameDay : '[tänään] [klo] LT',
6555 nextDay : '[huomenna] [klo] LT',
6556 nextWeek : 'dddd [klo] LT',
6557 lastDay : '[eilen] [klo] LT',
6558 lastWeek : '[viime] dddd[na] [klo] LT',
6562 future : '%s päästä',
6576 ordinalParse: /\d{1,2}\./,
6579 dow : 1, // Monday is the first day of the week.
6580 doy : 4 // The week that contains Jan 4th is the first week of the year.
6584 //! moment.js locale configuration
6585 //! locale : faroese (fo)
6586 //! author : Ragnar Johannesen : https://github.com/ragnar123
6588 var fo = moment__default.defineLocale('fo', {
6589 months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
6590 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
6591 weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
6592 weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
6593 weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
6599 LLL : 'D MMMM YYYY HH:mm',
6600 LLLL : 'dddd D. MMMM, YYYY HH:mm'
6603 sameDay : '[Í dag kl.] LT',
6604 nextDay : '[Í morgin kl.] LT',
6605 nextWeek : 'dddd [kl.] LT',
6606 lastDay : '[Í gjár kl.] LT',
6607 lastWeek : '[síðstu] dddd [kl] LT',
6625 ordinalParse: /\d{1,2}\./,
6628 dow : 1, // Monday is the first day of the week.
6629 doy : 4 // The week that contains Jan 4th is the first week of the year.
6633 //! moment.js locale configuration
6634 //! locale : canadian french (fr-ca)
6635 //! author : Jonathan Abourbih : https://github.com/jonbca
6637 var fr_ca = moment__default.defineLocale('fr-ca', {
6638 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
6639 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
6640 monthsParseExact : true,
6641 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
6642 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
6643 weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
6644 weekdaysParseExact : true,
6650 LLL : 'D MMMM YYYY HH:mm',
6651 LLLL : 'dddd D MMMM YYYY HH:mm'
6654 sameDay: '[Aujourd\'hui à] LT',
6655 nextDay: '[Demain à] LT',
6656 nextWeek: 'dddd [à] LT',
6657 lastDay: '[Hier à] LT',
6658 lastWeek: 'dddd [dernier à] LT',
6664 s : 'quelques secondes',
6676 ordinalParse: /\d{1,2}(er|e)/,
6677 ordinal : function (number) {
6678 return number + (number === 1 ? 'er' : 'e');
6682 //! moment.js locale configuration
6683 //! locale : swiss french (fr)
6684 //! author : Gaspard Bucher : https://github.com/gaspard
6686 var fr_ch = moment__default.defineLocale('fr-ch', {
6687 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
6688 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
6689 monthsParseExact : true,
6690 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
6691 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
6692 weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
6693 weekdaysParseExact : true,
6699 LLL : 'D MMMM YYYY HH:mm',
6700 LLLL : 'dddd D MMMM YYYY HH:mm'
6703 sameDay: '[Aujourd\'hui à] LT',
6704 nextDay: '[Demain à] LT',
6705 nextWeek: 'dddd [à] LT',
6706 lastDay: '[Hier à] LT',
6707 lastWeek: 'dddd [dernier à] LT',
6713 s : 'quelques secondes',
6725 ordinalParse: /\d{1,2}(er|e)/,
6726 ordinal : function (number) {
6727 return number + (number === 1 ? 'er' : 'e');
6730 dow : 1, // Monday is the first day of the week.
6731 doy : 4 // The week that contains Jan 4th is the first week of the year.
6735 //! moment.js locale configuration
6736 //! locale : french (fr)
6737 //! author : John Fischer : https://github.com/jfroffice
6739 var fr = moment__default.defineLocale('fr', {
6740 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
6741 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
6742 monthsParseExact : true,
6743 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
6744 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
6745 weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
6746 weekdaysParseExact : true,
6752 LLL : 'D MMMM YYYY HH:mm',
6753 LLLL : 'dddd D MMMM YYYY HH:mm'
6756 sameDay: '[Aujourd\'hui à] LT',
6757 nextDay: '[Demain à] LT',
6758 nextWeek: 'dddd [à] LT',
6759 lastDay: '[Hier à] LT',
6760 lastWeek: 'dddd [dernier à] LT',
6766 s : 'quelques secondes',
6778 ordinalParse: /\d{1,2}(er|)/,
6779 ordinal : function (number) {
6780 return number + (number === 1 ? 'er' : '');
6783 dow : 1, // Monday is the first day of the week.
6784 doy : 4 // The week that contains Jan 4th is the first week of the year.
6788 //! moment.js locale configuration
6789 //! locale : frisian (fy)
6790 //! author : Robin van der Vliet : https://github.com/robin0van0der0v
6792 var fy__monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
6793 fy__monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
6795 var fy = moment__default.defineLocale('fy', {
6796 months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
6797 monthsShort : function (m, format) {
6798 if (/-MMM-/.test(format)) {
6799 return fy__monthsShortWithoutDots[m.month()];
6801 return fy__monthsShortWithDots[m.month()];
6804 monthsParseExact : true,
6805 weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
6806 weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
6807 weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
6808 weekdaysParseExact : true,
6814 LLL : 'D MMMM YYYY HH:mm',
6815 LLLL : 'dddd D MMMM YYYY HH:mm'
6818 sameDay: '[hjoed om] LT',
6819 nextDay: '[moarn om] LT',
6820 nextWeek: 'dddd [om] LT',
6821 lastDay: '[juster om] LT',
6822 lastWeek: '[ôfrûne] dddd [om] LT',
6828 s : 'in pear sekonden',
6840 ordinalParse: /\d{1,2}(ste|de)/,
6841 ordinal : function (number) {
6842 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
6845 dow : 1, // Monday is the first day of the week.
6846 doy : 4 // The week that contains Jan 4th is the first week of the year.
6850 //! moment.js locale configuration
6851 //! locale : great britain scottish gealic (gd)
6852 //! author : Jon Ashdown : https://github.com/jonashdown
6855 'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
6858 var gd__monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
6860 var gd__weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
6862 var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
6864 var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
6866 var gd = moment__default.defineLocale('gd', {
6867 months : gd__months,
6868 monthsShort : gd__monthsShort,
6869 monthsParseExact : true,
6870 weekdays : gd__weekdays,
6871 weekdaysShort : weekdaysShort,
6872 weekdaysMin : weekdaysMin,
6878 LLL : 'D MMMM YYYY HH:mm',
6879 LLLL : 'dddd, D MMMM YYYY HH:mm'
6882 sameDay : '[An-diugh aig] LT',
6883 nextDay : '[A-màireach aig] LT',
6884 nextWeek : 'dddd [aig] LT',
6885 lastDay : '[An-dè aig] LT',
6886 lastWeek : 'dddd [seo chaidh] [aig] LT',
6890 future : 'ann an %s',
6891 past : 'bho chionn %s',
6892 s : 'beagan diogan',
6894 mm : '%d mionaidean',
6904 ordinalParse : /\d{1,2}(d|na|mh)/,
6905 ordinal : function (number) {
6906 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
6907 return number + output;
6910 dow : 1, // Monday is the first day of the week.
6911 doy : 4 // The week that contains Jan 4th is the first week of the year.
6915 //! moment.js locale configuration
6916 //! locale : galician (gl)
6917 //! author : Juan G. Hurtado : https://github.com/juanghurtado
6919 var gl = moment__default.defineLocale('gl', {
6920 months : 'Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro'.split('_'),
6921 monthsShort : 'Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.'.split('_'),
6922 monthsParseExact: true,
6923 weekdays : 'Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado'.split('_'),
6924 weekdaysShort : 'Dom._Lun._Mar._Mér._Xov._Ven._Sáb.'.split('_'),
6925 weekdaysMin : 'Do_Lu_Ma_Mé_Xo_Ve_Sá'.split('_'),
6926 weekdaysParseExact : true,
6932 LLL : 'D MMMM YYYY H:mm',
6933 LLLL : 'dddd D MMMM YYYY H:mm'
6936 sameDay : function () {
6937 return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
6939 nextDay : function () {
6940 return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
6942 nextWeek : function () {
6943 return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
6945 lastDay : function () {
6946 return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
6948 lastWeek : function () {
6949 return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
6954 future : function (str) {
6955 if (str === 'uns segundos') {
6956 return 'nuns segundos';
6973 ordinalParse : /\d{1,2}º/,
6976 dow : 1, // Monday is the first day of the week.
6977 doy : 7 // The week that contains Jan 1st is the first week of the year.
6981 //! moment.js locale configuration
6982 //! locale : Hebrew (he)
6983 //! author : Tomer Cohen : https://github.com/tomer
6984 //! author : Moshe Simantov : https://github.com/DevelopmentIL
6985 //! author : Tal Ater : https://github.com/TalAter
6987 var he = moment__default.defineLocale('he', {
6988 months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
6989 monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
6990 weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
6991 weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
6992 weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
6997 LL : 'D [ב]MMMM YYYY',
6998 LLL : 'D [ב]MMMM YYYY HH:mm',
6999 LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
7002 lll : 'D MMM YYYY HH:mm',
7003 llll : 'ddd, D MMM YYYY HH:mm'
7006 sameDay : '[היום ב־]LT',
7007 nextDay : '[מחר ב־]LT',
7008 nextWeek : 'dddd [בשעה] LT',
7009 lastDay : '[אתמול ב־]LT',
7010 lastWeek : '[ביום] dddd [האחרון בשעה] LT',
7020 hh : function (number) {
7024 return number + ' שעות';
7027 dd : function (number) {
7031 return number + ' ימים';
7034 MM : function (number) {
7038 return number + ' חודשים';
7041 yy : function (number) {
7044 } else if (number % 10 === 0 && number !== 10) {
7045 return number + ' שנה';
7047 return number + ' שנים';
7050 meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
7051 isPM : function (input) {
7052 return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
7054 meridiem : function (hour, minute, isLower) {
7056 return 'לפנות בוקר';
7057 } else if (hour < 10) {
7059 } else if (hour < 12) {
7060 return isLower ? 'לפנה"צ' : 'לפני הצהריים';
7061 } else if (hour < 18) {
7062 return isLower ? 'אחה"צ' : 'אחרי הצהריים';
7069 //! moment.js locale configuration
7070 //! locale : hindi (hi)
7071 //! author : Mayank Singhal : https://github.com/mayanksinghal
7073 var hi__symbolMap = {
7098 var hi = moment__default.defineLocale('hi', {
7099 months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
7100 monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
7101 monthsParseExact: true,
7102 weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
7103 weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
7104 weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
7107 LTS : 'A h:mm:ss बजे',
7110 LLL : 'D MMMM YYYY, A h:mm बजे',
7111 LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
7114 sameDay : '[आज] LT',
7115 nextDay : '[कल] LT',
7116 nextWeek : 'dddd, LT',
7117 lastDay : '[कल] LT',
7118 lastWeek : '[पिछले] dddd, LT',
7136 preparse: function (string) {
7137 return string.replace(/[१२३४५६७८९०]/g, function (match) {
7138 return hi__numberMap[match];
7141 postformat: function (string) {
7142 return string.replace(/\d/g, function (match) {
7143 return hi__symbolMap[match];
7146 // Hindi notation for meridiems are quite fuzzy in practice. While there exists
7147 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
7148 meridiemParse: /रात|सुबह|दोपहर|शाम/,
7149 meridiemHour : function (hour, meridiem) {
7153 if (meridiem === 'रात') {
7154 return hour < 4 ? hour : hour + 12;
7155 } else if (meridiem === 'सुबह') {
7157 } else if (meridiem === 'दोपहर') {
7158 return hour >= 10 ? hour : hour + 12;
7159 } else if (meridiem === 'शाम') {
7163 meridiem : function (hour, minute, isLower) {
7166 } else if (hour < 10) {
7168 } else if (hour < 17) {
7170 } else if (hour < 20) {
7177 dow : 0, // Sunday is the first day of the week.
7178 doy : 6 // The week that contains Jan 1st is the first week of the year.
7182 //! moment.js locale configuration
7183 //! locale : hrvatski (hr)
7184 //! author : Bojan Marković : https://github.com/bmarkovic
7186 function hr__translate(number, withoutSuffix, key) {
7187 var result = number + ' ';
7190 return withoutSuffix ? 'jedna minuta' : 'jedne minute';
7194 } else if (number === 2 || number === 3 || number === 4) {
7201 return withoutSuffix ? 'jedan sat' : 'jednog sata';
7205 } else if (number === 2 || number === 3 || number === 4) {
7221 } else if (number === 2 || number === 3 || number === 4) {
7222 result += 'mjeseca';
7224 result += 'mjeseci';
7230 } else if (number === 2 || number === 3 || number === 4) {
7239 var hr = moment__default.defineLocale('hr', {
7241 format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
7242 standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
7244 monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
7245 monthsParseExact: true,
7246 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
7247 weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
7248 weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
7249 weekdaysParseExact : true,
7254 LL : 'D. MMMM YYYY',
7255 LLL : 'D. MMMM YYYY H:mm',
7256 LLLL : 'dddd, D. MMMM YYYY H:mm'
7259 sameDay : '[danas u] LT',
7260 nextDay : '[sutra u] LT',
7261 nextWeek : function () {
7262 switch (this.day()) {
7264 return '[u] [nedjelju] [u] LT';
7266 return '[u] [srijedu] [u] LT';
7268 return '[u] [subotu] [u] LT';
7273 return '[u] dddd [u] LT';
7276 lastDay : '[jučer u] LT',
7277 lastWeek : function () {
7278 switch (this.day()) {
7281 return '[prošlu] dddd [u] LT';
7283 return '[prošle] [subote] [u] LT';
7288 return '[prošli] dddd [u] LT';
7308 ordinalParse: /\d{1,2}\./,
7311 dow : 1, // Monday is the first day of the week.
7312 doy : 7 // The week that contains Jan 1st is the first week of the year.
7316 //! moment.js locale configuration
7317 //! locale : hungarian (hu)
7318 //! author : Adam Brunner : https://github.com/adambrunner
7320 var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
7321 function hu__translate(number, withoutSuffix, key, isFuture) {
7326 return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
7328 return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
7330 return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
7332 return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
7334 return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
7336 return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
7338 return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
7340 return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
7342 return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
7344 return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
7346 return num + (isFuture || withoutSuffix ? ' év' : ' éve');
7350 function week(isFuture) {
7351 return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
7354 var hu = moment__default.defineLocale('hu', {
7355 months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
7356 monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
7357 weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
7358 weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
7359 weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
7364 LL : 'YYYY. MMMM D.',
7365 LLL : 'YYYY. MMMM D. H:mm',
7366 LLLL : 'YYYY. MMMM D., dddd H:mm'
7368 meridiemParse: /de|du/i,
7369 isPM: function (input) {
7370 return input.charAt(1).toLowerCase() === 'u';
7372 meridiem : function (hours, minutes, isLower) {
7374 return isLower === true ? 'de' : 'DE';
7376 return isLower === true ? 'du' : 'DU';
7380 sameDay : '[ma] LT[-kor]',
7381 nextDay : '[holnap] LT[-kor]',
7382 nextWeek : function () {
7383 return week.call(this, true);
7385 lastDay : '[tegnap] LT[-kor]',
7386 lastWeek : function () {
7387 return week.call(this, false);
7392 future : '%s múlva',
7406 ordinalParse: /\d{1,2}\./,
7409 dow : 1, // Monday is the first day of the week.
7410 doy : 7 // The week that contains Jan 1st is the first week of the year.
7414 //! moment.js locale configuration
7415 //! locale : Armenian (hy-am)
7416 //! author : Armendarabyan : https://github.com/armendarabyan
7418 var hy_am = moment__default.defineLocale('hy-am', {
7420 format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
7421 standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
7423 monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
7424 weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
7425 weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
7426 weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
7431 LL : 'D MMMM YYYY թ.',
7432 LLL : 'D MMMM YYYY թ., HH:mm',
7433 LLLL : 'dddd, D MMMM YYYY թ., HH:mm'
7436 sameDay: '[այսօր] LT',
7437 nextDay: '[վաղը] LT',
7438 lastDay: '[երեկ] LT',
7439 nextWeek: function () {
7440 return 'dddd [օրը ժամը] LT';
7442 lastWeek: function () {
7443 return '[անցած] dddd [օրը ժամը] LT';
7450 s : 'մի քանի վայրկյան',
7462 meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
7463 isPM: function (input) {
7464 return /^(ցերեկվա|երեկոյան)$/.test(input);
7466 meridiem : function (hour) {
7469 } else if (hour < 12) {
7471 } else if (hour < 17) {
7477 ordinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
7478 ordinal: function (number, period) {
7485 return number + '-ին';
7487 return number + '-րդ';
7493 dow : 1, // Monday is the first day of the week.
7494 doy : 7 // The week that contains Jan 1st is the first week of the year.
7498 //! moment.js locale configuration
7499 //! locale : Bahasa Indonesia (id)
7500 //! author : Mohammad Satrio Utomo : https://github.com/tyok
7501 //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
7503 var id = moment__default.defineLocale('id', {
7504 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
7505 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),
7506 weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
7507 weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
7508 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
7514 LLL : 'D MMMM YYYY [pukul] HH.mm',
7515 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
7517 meridiemParse: /pagi|siang|sore|malam/,
7518 meridiemHour : function (hour, meridiem) {
7522 if (meridiem === 'pagi') {
7524 } else if (meridiem === 'siang') {
7525 return hour >= 11 ? hour : hour + 12;
7526 } else if (meridiem === 'sore' || meridiem === 'malam') {
7530 meridiem : function (hours, minutes, isLower) {
7533 } else if (hours < 15) {
7535 } else if (hours < 19) {
7542 sameDay : '[Hari ini pukul] LT',
7543 nextDay : '[Besok pukul] LT',
7544 nextWeek : 'dddd [pukul] LT',
7545 lastDay : '[Kemarin pukul] LT',
7546 lastWeek : 'dddd [lalu pukul] LT',
7550 future : 'dalam %s',
7551 past : '%s yang lalu',
7552 s : 'beberapa detik',
7565 dow : 1, // Monday is the first day of the week.
7566 doy : 7 // The week that contains Jan 1st is the first week of the year.
7570 //! moment.js locale configuration
7571 //! locale : icelandic (is)
7572 //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
7574 function is__plural(n) {
7575 if (n % 100 === 11) {
7577 } else if (n % 10 === 1) {
7582 function is__translate(number, withoutSuffix, key, isFuture) {
7583 var result = number + ' ';
7586 return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
7588 return withoutSuffix ? 'mínúta' : 'mínútu';
7590 if (is__plural(number)) {
7591 return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
7592 } else if (withoutSuffix) {
7593 return result + 'mínúta';
7595 return result + 'mínútu';
7597 if (is__plural(number)) {
7598 return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
7600 return result + 'klukkustund';
7602 if (withoutSuffix) {
7605 return isFuture ? 'dag' : 'degi';
7607 if (is__plural(number)) {
7608 if (withoutSuffix) {
7609 return result + 'dagar';
7611 return result + (isFuture ? 'daga' : 'dögum');
7612 } else if (withoutSuffix) {
7613 return result + 'dagur';
7615 return result + (isFuture ? 'dag' : 'degi');
7617 if (withoutSuffix) {
7620 return isFuture ? 'mánuð' : 'mánuði';
7622 if (is__plural(number)) {
7623 if (withoutSuffix) {
7624 return result + 'mánuðir';
7626 return result + (isFuture ? 'mánuði' : 'mánuðum');
7627 } else if (withoutSuffix) {
7628 return result + 'mánuður';
7630 return result + (isFuture ? 'mánuð' : 'mánuði');
7632 return withoutSuffix || isFuture ? 'ár' : 'ári';
7634 if (is__plural(number)) {
7635 return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
7637 return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
7641 var is = moment__default.defineLocale('is', {
7642 months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
7643 monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
7644 weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
7645 weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
7646 weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
7651 LL : 'D. MMMM YYYY',
7652 LLL : 'D. MMMM YYYY [kl.] H:mm',
7653 LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
7656 sameDay : '[í dag kl.] LT',
7657 nextDay : '[á morgun kl.] LT',
7658 nextWeek : 'dddd [kl.] LT',
7659 lastDay : '[í gær kl.] LT',
7660 lastWeek : '[síðasta] dddd [kl.] LT',
7664 future : 'eftir %s',
7665 past : 'fyrir %s síðan',
7678 ordinalParse: /\d{1,2}\./,
7681 dow : 1, // Monday is the first day of the week.
7682 doy : 4 // The week that contains Jan 4th is the first week of the year.
7686 //! moment.js locale configuration
7687 //! locale : italian (it)
7688 //! author : Lorenzo : https://github.com/aliem
7689 //! author: Mattia Larentis: https://github.com/nostalgiaz
7691 var it = moment__default.defineLocale('it', {
7692 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
7693 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
7694 weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato'.split('_'),
7695 weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab'.split('_'),
7696 weekdaysMin : 'Do_Lu_Ma_Me_Gi_Ve_Sa'.split('_'),
7702 LLL : 'D MMMM YYYY HH:mm',
7703 LLLL : 'dddd, D MMMM YYYY HH:mm'
7706 sameDay: '[Oggi alle] LT',
7707 nextDay: '[Domani alle] LT',
7708 nextWeek: 'dddd [alle] LT',
7709 lastDay: '[Ieri alle] LT',
7710 lastWeek: function () {
7711 switch (this.day()) {
7713 return '[la scorsa] dddd [alle] LT';
7715 return '[lo scorso] dddd [alle] LT';
7721 future : function (s) {
7722 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
7725 s : 'alcuni secondi',
7737 ordinalParse : /\d{1,2}º/,
7740 dow : 1, // Monday is the first day of the week.
7741 doy : 4 // The week that contains Jan 4th is the first week of the year.
7745 //! moment.js locale configuration
7746 //! locale : japanese (ja)
7747 //! author : LI Long : https://github.com/baryon
7749 var ja = moment__default.defineLocale('ja', {
7750 months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
7751 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
7752 weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
7753 weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
7754 weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
7760 LLL : 'YYYY年M月D日Ah時m分',
7761 LLLL : 'YYYY年M月D日Ah時m分 dddd'
7763 meridiemParse: /午前|午後/i,
7764 isPM : function (input) {
7765 return input === '午後';
7767 meridiem : function (hour, minute, isLower) {
7775 sameDay : '[今日] LT',
7776 nextDay : '[明日] LT',
7777 nextWeek : '[来週]dddd LT',
7778 lastDay : '[昨日] LT',
7779 lastWeek : '[前週]dddd LT',
7782 ordinalParse : /\d{1,2}日/,
7783 ordinal : function (number, period) {
7788 return number + '日';
7810 //! moment.js locale configuration
7811 //! locale : Boso Jowo (jv)
7812 //! author : Rony Lantip : https://github.com/lantip
7813 //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
7815 var jv = moment__default.defineLocale('jv', {
7816 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
7817 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
7818 weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
7819 weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
7820 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
7826 LLL : 'D MMMM YYYY [pukul] HH.mm',
7827 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
7829 meridiemParse: /enjing|siyang|sonten|ndalu/,
7830 meridiemHour : function (hour, meridiem) {
7834 if (meridiem === 'enjing') {
7836 } else if (meridiem === 'siyang') {
7837 return hour >= 11 ? hour : hour + 12;
7838 } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
7842 meridiem : function (hours, minutes, isLower) {
7845 } else if (hours < 15) {
7847 } else if (hours < 19) {
7854 sameDay : '[Dinten puniko pukul] LT',
7855 nextDay : '[Mbenjang pukul] LT',
7856 nextWeek : 'dddd [pukul] LT',
7857 lastDay : '[Kala wingi pukul] LT',
7858 lastWeek : 'dddd [kepengker pukul] LT',
7862 future : 'wonten ing %s',
7863 past : '%s ingkang kepengker',
7864 s : 'sawetawis detik',
7865 m : 'setunggal menit',
7867 h : 'setunggal jam',
7877 dow : 1, // Monday is the first day of the week.
7878 doy : 7 // The week that contains Jan 1st is the first week of the year.
7882 //! moment.js locale configuration
7883 //! locale : Georgian (ka)
7884 //! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
7886 var ka = moment__default.defineLocale('ka', {
7888 standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
7889 format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
7891 monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
7893 standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
7894 format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
7895 isFormat: /(წინა|შემდეგ)/
7897 weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
7898 weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
7904 LLL : 'D MMMM YYYY h:mm A',
7905 LLLL : 'dddd, D MMMM YYYY h:mm A'
7908 sameDay : '[დღეს] LT[-ზე]',
7909 nextDay : '[ხვალ] LT[-ზე]',
7910 lastDay : '[გუშინ] LT[-ზე]',
7911 nextWeek : '[შემდეგ] dddd LT[-ზე]',
7912 lastWeek : '[წინა] dddd LT-ზე',
7916 future : function (s) {
7917 return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
7918 s.replace(/ი$/, 'ში') :
7921 past : function (s) {
7922 if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
7923 return s.replace(/(ი|ე)$/, 'ის წინ');
7925 if ((/წელი/).test(s)) {
7926 return s.replace(/წელი$/, 'წლის წინ');
7929 s : 'რამდენიმე წამი',
7941 ordinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
7942 ordinal : function (number) {
7947 return number + '-ლი';
7949 if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
7950 return 'მე-' + number;
7952 return number + '-ე';
7960 //! moment.js locale configuration
7961 //! locale : kazakh (kk)
7962 //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
7964 var kk__suffixes = {
7987 var kk = moment__default.defineLocale('kk', {
7988 months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
7989 monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
7990 weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
7991 weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
7992 weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
7998 LLL : 'D MMMM YYYY HH:mm',
7999 LLLL : 'dddd, D MMMM YYYY HH:mm'
8002 sameDay : '[Бүгін сағат] LT',
8003 nextDay : '[Ертең сағат] LT',
8004 nextWeek : 'dddd [сағат] LT',
8005 lastDay : '[Кеше сағат] LT',
8006 lastWeek : '[Өткен аптаның] dddd [сағат] LT',
8010 future : '%s ішінде',
8012 s : 'бірнеше секунд',
8024 ordinalParse: /\d{1,2}-(ші|шы)/,
8025 ordinal : function (number) {
8026 var a = number % 10,
8027 b = number >= 100 ? 100 : null;
8028 return number + (kk__suffixes[number] || kk__suffixes[a] || kk__suffixes[b]);
8031 dow : 1, // Monday is the first day of the week.
8032 doy : 7 // The week that contains Jan 1st is the first week of the year.
8036 //! moment.js locale configuration
8037 //! locale : khmer (km)
8038 //! author : Kruy Vanna : https://github.com/kruyvanna
8040 var km = moment__default.defineLocale('km', {
8041 months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
8042 monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
8043 weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
8044 weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
8045 weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
8051 LLL: 'D MMMM YYYY HH:mm',
8052 LLLL: 'dddd, D MMMM YYYY HH:mm'
8055 sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
8056 nextDay: '[ស្អែក ម៉ោង] LT',
8057 nextWeek: 'dddd [ម៉ោង] LT',
8058 lastDay: '[ម្សិលមិញ ម៉ោង] LT',
8059 lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
8065 s: 'ប៉ុន្មានវិនាទី',
8078 dow: 1, // Monday is the first day of the week.
8079 doy: 4 // The week that contains Jan 4th is the first week of the year.
8083 //! moment.js locale configuration
8084 //! locale : korean (ko)
8088 //! - Kyungwook, Park : https://github.com/kyungw00k
8089 //! - Jeeeyul Lee <jeeeyul@gmail.com>
8091 var ko = moment__default.defineLocale('ko', {
8092 months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
8093 monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
8094 weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
8095 weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
8096 weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
8101 LL : 'YYYY년 MMMM D일',
8102 LLL : 'YYYY년 MMMM D일 A h시 m분',
8103 LLLL : 'YYYY년 MMMM D일 dddd A h시 m분'
8108 nextWeek : 'dddd LT',
8110 lastWeek : '지난주 dddd LT',
8129 ordinalParse : /\d{1,2}일/,
8131 meridiemParse : /오전|오후/,
8132 isPM : function (token) {
8133 return token === '오후';
8135 meridiem : function (hour, minute, isUpper) {
8136 return hour < 12 ? '오전' : '오후';
8140 //! moment.js locale configuration
8141 //! locale : kyrgyz (ky)
8142 //! author : Chyngyz Arystan uulu : https://github.com/chyngyz
8145 var ky__suffixes = {
8168 var ky = moment__default.defineLocale('ky', {
8169 months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
8170 monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
8171 weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
8172 weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
8173 weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
8179 LLL : 'D MMMM YYYY HH:mm',
8180 LLLL : 'dddd, D MMMM YYYY HH:mm'
8183 sameDay : '[Бүгүн саат] LT',
8184 nextDay : '[Эртең саат] LT',
8185 nextWeek : 'dddd [саат] LT',
8186 lastDay : '[Кече саат] LT',
8187 lastWeek : '[Өткен аптанын] dddd [күнү] [саат] LT',
8191 future : '%s ичинде',
8193 s : 'бирнече секунд',
8205 ordinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
8206 ordinal : function (number) {
8207 var a = number % 10,
8208 b = number >= 100 ? 100 : null;
8209 return number + (ky__suffixes[number] || ky__suffixes[a] || ky__suffixes[b]);
8212 dow : 1, // Monday is the first day of the week.
8213 doy : 7 // The week that contains Jan 1st is the first week of the year.
8217 //! moment.js locale configuration
8218 //! locale : Luxembourgish (lb)
8219 //! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz
8221 function lb__processRelativeTime(number, withoutSuffix, key, isFuture) {
8223 'm': ['eng Minutt', 'enger Minutt'],
8224 'h': ['eng Stonn', 'enger Stonn'],
8225 'd': ['een Dag', 'engem Dag'],
8226 'M': ['ee Mount', 'engem Mount'],
8227 'y': ['ee Joer', 'engem Joer']
8229 return withoutSuffix ? format[key][0] : format[key][1];
8231 function processFutureTime(string) {
8232 var number = string.substr(0, string.indexOf(' '));
8233 if (eifelerRegelAppliesToNumber(number)) {
8234 return 'a ' + string;
8236 return 'an ' + string;
8238 function processPastTime(string) {
8239 var number = string.substr(0, string.indexOf(' '));
8240 if (eifelerRegelAppliesToNumber(number)) {
8241 return 'viru ' + string;
8243 return 'virun ' + string;
8246 * Returns true if the word before the given number loses the '-n' ending.
8247 * e.g. 'an 10 Deeg' but 'a 5 Deeg'
8249 * @param number {integer}
8250 * @returns {boolean}
8252 function eifelerRegelAppliesToNumber(number) {
8253 number = parseInt(number, 10);
8254 if (isNaN(number)) {
8258 // Negative Number --> always true
8260 } else if (number < 10) {
8262 if (4 <= number && number <= 7) {
8266 } else if (number < 100) {
8268 var lastDigit = number % 10, firstDigit = number / 10;
8269 if (lastDigit === 0) {
8270 return eifelerRegelAppliesToNumber(firstDigit);
8272 return eifelerRegelAppliesToNumber(lastDigit);
8273 } else if (number < 10000) {
8274 // 3 or 4 digits --> recursively check first digit
8275 while (number >= 10) {
8276 number = number / 10;
8278 return eifelerRegelAppliesToNumber(number);
8280 // Anything larger than 4 digits: recursively check first n-3 digits
8281 number = number / 1000;
8282 return eifelerRegelAppliesToNumber(number);
8286 var lb = moment__default.defineLocale('lb', {
8287 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
8288 monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
8289 monthsParseExact : true,
8290 weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
8291 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
8292 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
8293 weekdaysParseExact : true,
8296 LTS: 'H:mm:ss [Auer]',
8299 LLL: 'D. MMMM YYYY H:mm [Auer]',
8300 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
8303 sameDay: '[Haut um] LT',
8305 nextDay: '[Muer um] LT',
8306 nextWeek: 'dddd [um] LT',
8307 lastDay: '[Gëschter um] LT',
8308 lastWeek: function () {
8309 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
8310 switch (this.day()) {
8313 return '[Leschten] dddd [um] LT';
8315 return '[Leschte] dddd [um] LT';
8320 future : processFutureTime,
8321 past : processPastTime,
8322 s : 'e puer Sekonnen',
8323 m : lb__processRelativeTime,
8325 h : lb__processRelativeTime,
8327 d : lb__processRelativeTime,
8329 M : lb__processRelativeTime,
8331 y : lb__processRelativeTime,
8334 ordinalParse: /\d{1,2}\./,
8337 dow: 1, // Monday is the first day of the week.
8338 doy: 4 // The week that contains Jan 4th is the first week of the year.
8342 //! moment.js locale configuration
8343 //! locale : lao (lo)
8344 //! author : Ryan Hart : https://github.com/ryanhart2
8346 var lo = moment__default.defineLocale('lo', {
8347 months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
8348 monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
8349 weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
8350 weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
8351 weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
8352 weekdaysParseExact : true,
8358 LLL : 'D MMMM YYYY HH:mm',
8359 LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
8361 meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
8362 isPM: function (input) {
8363 return input === 'ຕອນແລງ';
8365 meridiem : function (hour, minute, isLower) {
8373 sameDay : '[ມື້ນີ້ເວລາ] LT',
8374 nextDay : '[ມື້ອື່ນເວລາ] LT',
8375 nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
8376 lastDay : '[ມື້ວານນີ້ເວລາ] LT',
8377 lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
8383 s : 'ບໍ່ເທົ່າໃດວິນາທີ',
8395 ordinalParse: /(ທີ່)\d{1,2}/,
8396 ordinal : function (number) {
8397 return 'ທີ່' + number;
8401 //! moment.js locale configuration
8402 //! locale : Lithuanian (lt)
8403 //! author : Mindaugas Mozūras : https://github.com/mmozuras
8406 'm' : 'minutė_minutės_minutę',
8407 'mm': 'minutės_minučių_minutes',
8408 'h' : 'valanda_valandos_valandą',
8409 'hh': 'valandos_valandų_valandas',
8410 'd' : 'diena_dienos_dieną',
8411 'dd': 'dienos_dienų_dienas',
8412 'M' : 'mėnuo_mėnesio_mėnesį',
8413 'MM': 'mėnesiai_mėnesių_mėnesius',
8414 'y' : 'metai_metų_metus',
8415 'yy': 'metai_metų_metus'
8417 function translateSeconds(number, withoutSuffix, key, isFuture) {
8418 if (withoutSuffix) {
8419 return 'kelios sekundės';
8421 return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
8424 function translateSingular(number, withoutSuffix, key, isFuture) {
8425 return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
8427 function special(number) {
8428 return number % 10 === 0 || (number > 10 && number < 20);
8430 function forms(key) {
8431 return lt__units[key].split('_');
8433 function lt__translate(number, withoutSuffix, key, isFuture) {
8434 var result = number + ' ';
8436 return result + translateSingular(number, withoutSuffix, key[0], isFuture);
8437 } else if (withoutSuffix) {
8438 return result + (special(number) ? forms(key)[1] : forms(key)[0]);
8441 return result + forms(key)[1];
8443 return result + (special(number) ? forms(key)[1] : forms(key)[2]);
8447 var lt = moment__default.defineLocale('lt', {
8449 format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
8450 standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_')
8452 monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
8454 format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
8455 standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
8456 isFormat: /dddd HH:mm/
8458 weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
8459 weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),
8460 weekdaysParseExact : true,
8465 LL : 'YYYY [m.] MMMM D [d.]',
8466 LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
8467 LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
8469 ll : 'YYYY [m.] MMMM D [d.]',
8470 lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
8471 llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
8474 sameDay : '[Šiandien] LT',
8475 nextDay : '[Rytoj] LT',
8476 nextWeek : 'dddd LT',
8477 lastDay : '[Vakar] LT',
8478 lastWeek : '[Praėjusį] dddd LT',
8484 s : translateSeconds,
8485 m : translateSingular,
8487 h : translateSingular,
8489 d : translateSingular,
8491 M : translateSingular,
8493 y : translateSingular,
8496 ordinalParse: /\d{1,2}-oji/,
8497 ordinal : function (number) {
8498 return number + '-oji';
8501 dow : 1, // Monday is the first day of the week.
8502 doy : 4 // The week that contains Jan 4th is the first week of the year.
8506 //! moment.js locale configuration
8507 //! locale : latvian (lv)
8508 //! author : Kristaps Karlsons : https://github.com/skakri
8509 //! author : Jānis Elmeris : https://github.com/JanisE
8512 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
8513 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
8514 'h': 'stundas_stundām_stunda_stundas'.split('_'),
8515 'hh': 'stundas_stundām_stunda_stundas'.split('_'),
8516 'd': 'dienas_dienām_diena_dienas'.split('_'),
8517 'dd': 'dienas_dienām_diena_dienas'.split('_'),
8518 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
8519 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
8520 'y': 'gada_gadiem_gads_gadi'.split('_'),
8521 'yy': 'gada_gadiem_gads_gadi'.split('_')
8524 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
8526 function lv__format(forms, number, withoutSuffix) {
8527 if (withoutSuffix) {
8528 // E.g. "21 minūte", "3 minūtes".
8529 return number % 10 === 1 && number !== 11 ? forms[2] : forms[3];
8531 // E.g. "21 minūtes" as in "pēc 21 minūtes".
8532 // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
8533 return number % 10 === 1 && number !== 11 ? forms[0] : forms[1];
8536 function lv__relativeTimeWithPlural(number, withoutSuffix, key) {
8537 return number + ' ' + lv__format(lv__units[key], number, withoutSuffix);
8539 function relativeTimeWithSingular(number, withoutSuffix, key) {
8540 return lv__format(lv__units[key], number, withoutSuffix);
8542 function relativeSeconds(number, withoutSuffix) {
8543 return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
8546 var lv = moment__default.defineLocale('lv', {
8547 months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
8548 monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
8549 weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
8550 weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
8551 weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
8552 weekdaysParseExact : true,
8557 LL : 'YYYY. [gada] D. MMMM',
8558 LLL : 'YYYY. [gada] D. MMMM, HH:mm',
8559 LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
8562 sameDay : '[Šodien pulksten] LT',
8563 nextDay : '[Rīt pulksten] LT',
8564 nextWeek : 'dddd [pulksten] LT',
8565 lastDay : '[Vakar pulksten] LT',
8566 lastWeek : '[Pagājušā] dddd [pulksten] LT',
8572 s : relativeSeconds,
8573 m : relativeTimeWithSingular,
8574 mm : lv__relativeTimeWithPlural,
8575 h : relativeTimeWithSingular,
8576 hh : lv__relativeTimeWithPlural,
8577 d : relativeTimeWithSingular,
8578 dd : lv__relativeTimeWithPlural,
8579 M : relativeTimeWithSingular,
8580 MM : lv__relativeTimeWithPlural,
8581 y : relativeTimeWithSingular,
8582 yy : lv__relativeTimeWithPlural
8584 ordinalParse: /\d{1,2}\./,
8587 dow : 1, // Monday is the first day of the week.
8588 doy : 4 // The week that contains Jan 4th is the first week of the year.
8592 //! moment.js locale configuration
8593 //! locale : Montenegrin (me)
8594 //! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
8596 var me__translator = {
8597 words: { //Different grammatical cases
8598 m: ['jedan minut', 'jednog minuta'],
8599 mm: ['minut', 'minuta', 'minuta'],
8600 h: ['jedan sat', 'jednog sata'],
8601 hh: ['sat', 'sata', 'sati'],
8602 dd: ['dan', 'dana', 'dana'],
8603 MM: ['mjesec', 'mjeseca', 'mjeseci'],
8604 yy: ['godina', 'godine', 'godina']
8606 correctGrammaticalCase: function (number, wordKey) {
8607 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
8609 translate: function (number, withoutSuffix, key) {
8610 var wordKey = me__translator.words[key];
8611 if (key.length === 1) {
8612 return withoutSuffix ? wordKey[0] : wordKey[1];
8614 return number + ' ' + me__translator.correctGrammaticalCase(number, wordKey);
8619 var me = moment__default.defineLocale('me', {
8620 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
8621 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
8622 monthsParseExact : true,
8623 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
8624 weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
8625 weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
8626 weekdaysParseExact : true,
8632 LLL: 'D. MMMM YYYY H:mm',
8633 LLLL: 'dddd, D. MMMM YYYY H:mm'
8636 sameDay: '[danas u] LT',
8637 nextDay: '[sjutra u] LT',
8639 nextWeek: function () {
8640 switch (this.day()) {
8642 return '[u] [nedjelju] [u] LT';
8644 return '[u] [srijedu] [u] LT';
8646 return '[u] [subotu] [u] LT';
8651 return '[u] dddd [u] LT';
8654 lastDay : '[juče u] LT',
8655 lastWeek : function () {
8656 var lastWeekDays = [
8657 '[prošle] [nedjelje] [u] LT',
8658 '[prošlog] [ponedjeljka] [u] LT',
8659 '[prošlog] [utorka] [u] LT',
8660 '[prošle] [srijede] [u] LT',
8661 '[prošlog] [četvrtka] [u] LT',
8662 '[prošlog] [petka] [u] LT',
8663 '[prošle] [subote] [u] LT'
8665 return lastWeekDays[this.day()];
8672 s : 'nekoliko sekundi',
8673 m : me__translator.translate,
8674 mm : me__translator.translate,
8675 h : me__translator.translate,
8676 hh : me__translator.translate,
8678 dd : me__translator.translate,
8680 MM : me__translator.translate,
8682 yy : me__translator.translate
8684 ordinalParse: /\d{1,2}\./,
8687 dow : 1, // Monday is the first day of the week.
8688 doy : 7 // The week that contains Jan 1st is the first week of the year.
8692 //! moment.js locale configuration
8693 //! locale : macedonian (mk)
8694 //! author : Borislav Mickov : https://github.com/B0k0
8696 var mk = moment__default.defineLocale('mk', {
8697 months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
8698 monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
8699 weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
8700 weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
8701 weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
8707 LLL : 'D MMMM YYYY H:mm',
8708 LLLL : 'dddd, D MMMM YYYY H:mm'
8711 sameDay : '[Денес во] LT',
8712 nextDay : '[Утре во] LT',
8713 nextWeek : '[Во] dddd [во] LT',
8714 lastDay : '[Вчера во] LT',
8715 lastWeek : function () {
8716 switch (this.day()) {
8720 return '[Изминатата] dddd [во] LT';
8725 return '[Изминатиот] dddd [во] LT';
8731 future : 'после %s',
8733 s : 'неколку секунди',
8745 ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
8746 ordinal : function (number) {
8747 var lastDigit = number % 10,
8748 last2Digits = number % 100;
8750 return number + '-ев';
8751 } else if (last2Digits === 0) {
8752 return number + '-ен';
8753 } else if (last2Digits > 10 && last2Digits < 20) {
8754 return number + '-ти';
8755 } else if (lastDigit === 1) {
8756 return number + '-ви';
8757 } else if (lastDigit === 2) {
8758 return number + '-ри';
8759 } else if (lastDigit === 7 || lastDigit === 8) {
8760 return number + '-ми';
8762 return number + '-ти';
8766 dow : 1, // Monday is the first day of the week.
8767 doy : 7 // The week that contains Jan 1st is the first week of the year.
8771 //! moment.js locale configuration
8772 //! locale : malayalam (ml)
8773 //! author : Floyd Pink : https://github.com/floydpink
8775 var ml = moment__default.defineLocale('ml', {
8776 months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
8777 monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
8778 monthsParseExact : true,
8779 weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
8780 weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
8781 weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
8784 LTS : 'A h:mm:ss -നു',
8787 LLL : 'D MMMM YYYY, A h:mm -നു',
8788 LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
8791 sameDay : '[ഇന്ന്] LT',
8792 nextDay : '[നാളെ] LT',
8793 nextWeek : 'dddd, LT',
8794 lastDay : '[ഇന്നലെ] LT',
8795 lastWeek : '[കഴിഞ്ഞ] dddd, LT',
8799 future : '%s കഴിഞ്ഞ്',
8801 s : 'അൽപ നിമിഷങ്ങൾ',
8813 meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
8814 meridiemHour : function (hour, meridiem) {
8818 if ((meridiem === 'രാത്രി' && hour >= 4) ||
8819 meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
8820 meridiem === 'വൈകുന്നേരം') {
8826 meridiem : function (hour, minute, isLower) {
8829 } else if (hour < 12) {
8831 } else if (hour < 17) {
8832 return 'ഉച്ച കഴിഞ്ഞ്';
8833 } else if (hour < 20) {
8834 return 'വൈകുന്നേരം';
8841 //! moment.js locale configuration
8842 //! locale : Marathi (mr)
8843 //! author : Harshad Kale : https://github.com/kalehv
8844 //! author : Vivek Athalye : https://github.com/vnathalye
8846 var mr__symbolMap = {
8871 function relativeTimeMr(number, withoutSuffix, string, isFuture)
8874 if (withoutSuffix) {
8876 case 's': output = 'काही सेकंद'; break;
8877 case 'm': output = 'एक मिनिट'; break;
8878 case 'mm': output = '%d मिनिटे'; break;
8879 case 'h': output = 'एक तास'; break;
8880 case 'hh': output = '%d तास'; break;
8881 case 'd': output = 'एक दिवस'; break;
8882 case 'dd': output = '%d दिवस'; break;
8883 case 'M': output = 'एक महिना'; break;
8884 case 'MM': output = '%d महिने'; break;
8885 case 'y': output = 'एक वर्ष'; break;
8886 case 'yy': output = '%d वर्षे'; break;
8891 case 's': output = 'काही सेकंदां'; break;
8892 case 'm': output = 'एका मिनिटा'; break;
8893 case 'mm': output = '%d मिनिटां'; break;
8894 case 'h': output = 'एका तासा'; break;
8895 case 'hh': output = '%d तासां'; break;
8896 case 'd': output = 'एका दिवसा'; break;
8897 case 'dd': output = '%d दिवसां'; break;
8898 case 'M': output = 'एका महिन्या'; break;
8899 case 'MM': output = '%d महिन्यां'; break;
8900 case 'y': output = 'एका वर्षा'; break;
8901 case 'yy': output = '%d वर्षां'; break;
8904 return output.replace(/%d/i, number);
8907 var mr = moment__default.defineLocale('mr', {
8908 months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
8909 monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
8910 monthsParseExact : true,
8911 weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
8912 weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
8913 weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
8915 LT : 'A h:mm वाजता',
8916 LTS : 'A h:mm:ss वाजता',
8919 LLL : 'D MMMM YYYY, A h:mm वाजता',
8920 LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
8923 sameDay : '[आज] LT',
8924 nextDay : '[उद्या] LT',
8925 nextWeek : 'dddd, LT',
8926 lastDay : '[काल] LT',
8927 lastWeek: '[मागील] dddd, LT',
8945 preparse: function (string) {
8946 return string.replace(/[१२३४५६७८९०]/g, function (match) {
8947 return mr__numberMap[match];
8950 postformat: function (string) {
8951 return string.replace(/\d/g, function (match) {
8952 return mr__symbolMap[match];
8955 meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
8956 meridiemHour : function (hour, meridiem) {
8960 if (meridiem === 'रात्री') {
8961 return hour < 4 ? hour : hour + 12;
8962 } else if (meridiem === 'सकाळी') {
8964 } else if (meridiem === 'दुपारी') {
8965 return hour >= 10 ? hour : hour + 12;
8966 } else if (meridiem === 'सायंकाळी') {
8970 meridiem: function (hour, minute, isLower) {
8973 } else if (hour < 10) {
8975 } else if (hour < 17) {
8977 } else if (hour < 20) {
8984 dow : 0, // Sunday is the first day of the week.
8985 doy : 6 // The week that contains Jan 1st is the first week of the year.
8989 //! moment.js locale configuration
8990 //! locale : Bahasa Malaysia (ms-MY)
8991 //! author : Weldan Jamili : https://github.com/weldan
8993 var ms_my = moment__default.defineLocale('ms-my', {
8994 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
8995 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
8996 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
8997 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
8998 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
9004 LLL : 'D MMMM YYYY [pukul] HH.mm',
9005 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
9007 meridiemParse: /pagi|tengahari|petang|malam/,
9008 meridiemHour: function (hour, meridiem) {
9012 if (meridiem === 'pagi') {
9014 } else if (meridiem === 'tengahari') {
9015 return hour >= 11 ? hour : hour + 12;
9016 } else if (meridiem === 'petang' || meridiem === 'malam') {
9020 meridiem : function (hours, minutes, isLower) {
9023 } else if (hours < 15) {
9025 } else if (hours < 19) {
9032 sameDay : '[Hari ini pukul] LT',
9033 nextDay : '[Esok pukul] LT',
9034 nextWeek : 'dddd [pukul] LT',
9035 lastDay : '[Kelmarin pukul] LT',
9036 lastWeek : 'dddd [lepas pukul] LT',
9040 future : 'dalam %s',
9041 past : '%s yang lepas',
9042 s : 'beberapa saat',
9055 dow : 1, // Monday is the first day of the week.
9056 doy : 7 // The week that contains Jan 1st is the first week of the year.
9060 //! moment.js locale configuration
9061 //! locale : Bahasa Malaysia (ms-MY)
9062 //! author : Weldan Jamili : https://github.com/weldan
9064 var locale_ms = moment__default.defineLocale('ms', {
9065 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
9066 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
9067 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
9068 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
9069 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
9075 LLL : 'D MMMM YYYY [pukul] HH.mm',
9076 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
9078 meridiemParse: /pagi|tengahari|petang|malam/,
9079 meridiemHour: function (hour, meridiem) {
9083 if (meridiem === 'pagi') {
9085 } else if (meridiem === 'tengahari') {
9086 return hour >= 11 ? hour : hour + 12;
9087 } else if (meridiem === 'petang' || meridiem === 'malam') {
9091 meridiem : function (hours, minutes, isLower) {
9094 } else if (hours < 15) {
9096 } else if (hours < 19) {
9103 sameDay : '[Hari ini pukul] LT',
9104 nextDay : '[Esok pukul] LT',
9105 nextWeek : 'dddd [pukul] LT',
9106 lastDay : '[Kelmarin pukul] LT',
9107 lastWeek : 'dddd [lepas pukul] LT',
9111 future : 'dalam %s',
9112 past : '%s yang lepas',
9113 s : 'beberapa saat',
9126 dow : 1, // Monday is the first day of the week.
9127 doy : 7 // The week that contains Jan 1st is the first week of the year.
9131 //! moment.js locale configuration
9132 //! locale : Burmese (my)
9133 //! author : Squar team, mysquar.com
9135 var my__symbolMap = {
9146 }, my__numberMap = {
9159 var my = moment__default.defineLocale('my', {
9160 months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
9161 monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
9162 weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
9163 weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
9164 weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
9171 LLL: 'D MMMM YYYY HH:mm',
9172 LLLL: 'dddd D MMMM YYYY HH:mm'
9175 sameDay: '[ယနေ.] LT [မှာ]',
9176 nextDay: '[မနက်ဖြန်] LT [မှာ]',
9177 nextWeek: 'dddd LT [မှာ]',
9178 lastDay: '[မနေ.က] LT [မှာ]',
9179 lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
9183 future: 'လာမည့် %s မှာ',
9184 past: 'လွန်ခဲ့သော %s က',
9185 s: 'စက္ကန်.အနည်းငယ်',
9197 preparse: function (string) {
9198 return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
9199 return my__numberMap[match];
9202 postformat: function (string) {
9203 return string.replace(/\d/g, function (match) {
9204 return my__symbolMap[match];
9208 dow: 1, // Monday is the first day of the week.
9209 doy: 4 // The week that contains Jan 1st is the first week of the year.
9213 //! moment.js locale configuration
9214 //! locale : norwegian bokmål (nb)
9215 //! authors : Espen Hovlandsdal : https://github.com/rexxars
9216 //! Sigurd Gartmann : https://github.com/sigurdga
9218 var nb = moment__default.defineLocale('nb', {
9219 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
9220 monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
9221 monthsParseExact : true,
9222 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
9223 weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
9224 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
9225 weekdaysParseExact : true,
9230 LL : 'D. MMMM YYYY',
9231 LLL : 'D. MMMM YYYY [kl.] HH:mm',
9232 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
9235 sameDay: '[i dag kl.] LT',
9236 nextDay: '[i morgen kl.] LT',
9237 nextWeek: 'dddd [kl.] LT',
9238 lastDay: '[i går kl.] LT',
9239 lastWeek: '[forrige] dddd [kl.] LT',
9245 s : 'noen sekunder',
9257 ordinalParse: /\d{1,2}\./,
9260 dow : 1, // Monday is the first day of the week.
9261 doy : 4 // The week that contains Jan 4th is the first week of the year.
9265 //! moment.js locale configuration
9266 //! locale : nepali/nepalese
9267 //! author : suvash : https://github.com/suvash
9269 var ne__symbolMap = {
9294 var ne = moment__default.defineLocale('ne', {
9295 months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
9296 monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
9297 monthsParseExact : true,
9298 weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
9299 weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
9300 weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
9301 weekdaysParseExact : true,
9303 LT : 'Aको h:mm बजे',
9304 LTS : 'Aको h:mm:ss बजे',
9307 LLL : 'D MMMM YYYY, Aको h:mm बजे',
9308 LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
9310 preparse: function (string) {
9311 return string.replace(/[१२३४५६७८९०]/g, function (match) {
9312 return ne__numberMap[match];
9315 postformat: function (string) {
9316 return string.replace(/\d/g, function (match) {
9317 return ne__symbolMap[match];
9320 meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
9321 meridiemHour : function (hour, meridiem) {
9325 if (meridiem === 'राति') {
9326 return hour < 4 ? hour : hour + 12;
9327 } else if (meridiem === 'बिहान') {
9329 } else if (meridiem === 'दिउँसो') {
9330 return hour >= 10 ? hour : hour + 12;
9331 } else if (meridiem === 'साँझ') {
9335 meridiem : function (hour, minute, isLower) {
9338 } else if (hour < 12) {
9340 } else if (hour < 16) {
9342 } else if (hour < 20) {
9349 sameDay : '[आज] LT',
9350 nextDay : '[भोलि] LT',
9351 nextWeek : '[आउँदो] dddd[,] LT',
9352 lastDay : '[हिजो] LT',
9353 lastWeek : '[गएको] dddd[,] LT',
9372 dow : 0, // Sunday is the first day of the week.
9373 doy : 6 // The week that contains Jan 1st is the first week of the year.
9377 //! moment.js locale configuration
9378 //! locale : dutch (nl)
9379 //! author : Joris Röling : https://github.com/jjupiter
9381 var nl__monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
9382 nl__monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
9384 var nl = moment__default.defineLocale('nl', {
9385 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
9386 monthsShort : function (m, format) {
9387 if (/-MMM-/.test(format)) {
9388 return nl__monthsShortWithoutDots[m.month()];
9390 return nl__monthsShortWithDots[m.month()];
9393 monthsParseExact : true,
9394 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
9395 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
9396 weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),
9397 weekdaysParseExact : true,
9403 LLL : 'D MMMM YYYY HH:mm',
9404 LLLL : 'dddd D MMMM YYYY HH:mm'
9407 sameDay: '[vandaag om] LT',
9408 nextDay: '[morgen om] LT',
9409 nextWeek: 'dddd [om] LT',
9410 lastDay: '[gisteren om] LT',
9411 lastWeek: '[afgelopen] dddd [om] LT',
9416 past : '%s geleden',
9417 s : 'een paar seconden',
9429 ordinalParse: /\d{1,2}(ste|de)/,
9430 ordinal : function (number) {
9431 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
9434 dow : 1, // Monday is the first day of the week.
9435 doy : 4 // The week that contains Jan 4th is the first week of the year.
9439 //! moment.js locale configuration
9440 //! locale : norwegian nynorsk (nn)
9441 //! author : https://github.com/mechuwind
9443 var nn = moment__default.defineLocale('nn', {
9444 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
9445 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
9446 weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
9447 weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
9448 weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
9453 LL : 'D. MMMM YYYY',
9454 LLL : 'D. MMMM YYYY [kl.] H:mm',
9455 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
9458 sameDay: '[I dag klokka] LT',
9459 nextDay: '[I morgon klokka] LT',
9460 nextWeek: 'dddd [klokka] LT',
9461 lastDay: '[I går klokka] LT',
9462 lastWeek: '[Føregåande] dddd [klokka] LT',
9480 ordinalParse: /\d{1,2}\./,
9483 dow : 1, // Monday is the first day of the week.
9484 doy : 4 // The week that contains Jan 4th is the first week of the year.
9488 //! moment.js locale configuration
9489 //! locale : punjabi india (pa-in)
9490 //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
9492 var pa_in__symbolMap = {
9504 pa_in__numberMap = {
9517 var pa_in = moment__default.defineLocale('pa-in', {
9518 // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
9519 months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
9520 monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
9521 weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
9522 weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
9523 weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
9526 LTS : 'A h:mm:ss ਵਜੇ',
9529 LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
9530 LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
9533 sameDay : '[ਅਜ] LT',
9534 nextDay : '[ਕਲ] LT',
9535 nextWeek : 'dddd, LT',
9536 lastDay : '[ਕਲ] LT',
9537 lastWeek : '[ਪਿਛਲੇ] dddd, LT',
9555 preparse: function (string) {
9556 return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
9557 return pa_in__numberMap[match];
9560 postformat: function (string) {
9561 return string.replace(/\d/g, function (match) {
9562 return pa_in__symbolMap[match];
9565 // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
9566 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
9567 meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
9568 meridiemHour : function (hour, meridiem) {
9572 if (meridiem === 'ਰਾਤ') {
9573 return hour < 4 ? hour : hour + 12;
9574 } else if (meridiem === 'ਸਵੇਰ') {
9576 } else if (meridiem === 'ਦੁਪਹਿਰ') {
9577 return hour >= 10 ? hour : hour + 12;
9578 } else if (meridiem === 'ਸ਼ਾਮ') {
9582 meridiem : function (hour, minute, isLower) {
9585 } else if (hour < 10) {
9587 } else if (hour < 17) {
9589 } else if (hour < 20) {
9596 dow : 0, // Sunday is the first day of the week.
9597 doy : 6 // The week that contains Jan 1st is the first week of the year.
9601 //! moment.js locale configuration
9602 //! locale : polish (pl)
9603 //! author : Rafal Hirsz : https://github.com/evoL
9605 var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
9606 monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
9607 function pl__plural(n) {
9608 return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
9610 function pl__translate(number, withoutSuffix, key) {
9611 var result = number + ' ';
9614 return withoutSuffix ? 'minuta' : 'minutę';
9616 return result + (pl__plural(number) ? 'minuty' : 'minut');
9618 return withoutSuffix ? 'godzina' : 'godzinę';
9620 return result + (pl__plural(number) ? 'godziny' : 'godzin');
9622 return result + (pl__plural(number) ? 'miesiące' : 'miesięcy');
9624 return result + (pl__plural(number) ? 'lata' : 'lat');
9628 var pl = moment__default.defineLocale('pl', {
9629 months : function (momentToFormat, format) {
9630 if (format === '') {
9631 // Hack: if format empty we know this is used to generate
9632 // RegExp by moment. Give then back both valid forms of months
9633 // in RegExp ready format.
9634 return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
9635 } else if (/D MMMM/.test(format)) {
9636 return monthsSubjective[momentToFormat.month()];
9638 return monthsNominative[momentToFormat.month()];
9641 monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
9642 weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
9643 weekdaysShort : 'nie_pon_wt_śr_czw_pt_sb'.split('_'),
9644 weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
9650 LLL : 'D MMMM YYYY HH:mm',
9651 LLLL : 'dddd, D MMMM YYYY HH:mm'
9654 sameDay: '[Dziś o] LT',
9655 nextDay: '[Jutro o] LT',
9656 nextWeek: '[W] dddd [o] LT',
9657 lastDay: '[Wczoraj o] LT',
9658 lastWeek: function () {
9659 switch (this.day()) {
9661 return '[W zeszłą niedzielę o] LT';
9663 return '[W zeszłą środę o] LT';
9665 return '[W zeszłą sobotę o] LT';
9667 return '[W zeszły] dddd [o] LT';
9687 ordinalParse: /\d{1,2}\./,
9690 dow : 1, // Monday is the first day of the week.
9691 doy : 4 // The week that contains Jan 4th is the first week of the year.
9695 //! moment.js locale configuration
9696 //! locale : brazilian portuguese (pt-br)
9697 //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
9699 var pt_br = moment__default.defineLocale('pt-br', {
9700 months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
9701 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
9702 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
9703 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
9704 weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),
9705 weekdaysParseExact : true,
9710 LL : 'D [de] MMMM [de] YYYY',
9711 LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
9712 LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
9715 sameDay: '[Hoje às] LT',
9716 nextDay: '[Amanhã às] LT',
9717 nextWeek: 'dddd [às] LT',
9718 lastDay: '[Ontem às] LT',
9719 lastWeek: function () {
9720 return (this.day() === 0 || this.day() === 6) ?
9721 '[Último] dddd [às] LT' : // Saturday + Sunday
9722 '[Última] dddd [às] LT'; // Monday - Friday
9729 s : 'poucos segundos',
9741 ordinalParse: /\d{1,2}º/,
9745 //! moment.js locale configuration
9746 //! locale : portuguese (pt)
9747 //! author : Jefferson : https://github.com/jalex79
9749 var pt = moment__default.defineLocale('pt', {
9750 months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
9751 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
9752 weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'),
9753 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
9754 weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),
9755 weekdaysParseExact : true,
9760 LL : 'D [de] MMMM [de] YYYY',
9761 LLL : 'D [de] MMMM [de] YYYY HH:mm',
9762 LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
9765 sameDay: '[Hoje às] LT',
9766 nextDay: '[Amanhã às] LT',
9767 nextWeek: 'dddd [às] LT',
9768 lastDay: '[Ontem às] LT',
9769 lastWeek: function () {
9770 return (this.day() === 0 || this.day() === 6) ?
9771 '[Último] dddd [às] LT' : // Saturday + Sunday
9772 '[Última] dddd [às] LT'; // Monday - Friday
9791 ordinalParse: /\d{1,2}º/,
9794 dow : 1, // Monday is the first day of the week.
9795 doy : 4 // The week that contains Jan 4th is the first week of the year.
9799 //! moment.js locale configuration
9800 //! locale : romanian (ro)
9801 //! author : Vlad Gurdiga : https://github.com/gurdiga
9802 //! author : Valentin Agachi : https://github.com/avaly
9804 function ro__relativeTimeWithPlural(number, withoutSuffix, key) {
9813 if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
9816 return number + separator + format[key];
9819 var ro = moment__default.defineLocale('ro', {
9820 months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
9821 monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
9822 monthsParseExact: true,
9823 weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
9824 weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
9825 weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
9831 LLL : 'D MMMM YYYY H:mm',
9832 LLLL : 'dddd, D MMMM YYYY H:mm'
9835 sameDay: '[azi la] LT',
9836 nextDay: '[mâine la] LT',
9837 nextWeek: 'dddd [la] LT',
9838 lastDay: '[ieri la] LT',
9839 lastWeek: '[fosta] dddd [la] LT',
9843 future : 'peste %s',
9844 past : '%s în urmă',
9845 s : 'câteva secunde',
9847 mm : ro__relativeTimeWithPlural,
9849 hh : ro__relativeTimeWithPlural,
9851 dd : ro__relativeTimeWithPlural,
9853 MM : ro__relativeTimeWithPlural,
9855 yy : ro__relativeTimeWithPlural
9858 dow : 1, // Monday is the first day of the week.
9859 doy : 7 // The week that contains Jan 1st is the first week of the year.
9863 //! moment.js locale configuration
9864 //! locale : russian (ru)
9865 //! author : Viktorminator : https://github.com/Viktorminator
9866 //! Author : Menelion Elensúle : https://github.com/Oire
9867 //! author : Коренберг Марк : https://github.com/socketpair
9869 function ru__plural(word, num) {
9870 var forms = word.split('_');
9871 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
9873 function ru__relativeTimeWithPlural(number, withoutSuffix, key) {
9875 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
9876 'hh': 'час_часа_часов',
9877 'dd': 'день_дня_дней',
9878 'MM': 'месяц_месяца_месяцев',
9879 'yy': 'год_года_лет'
9882 return withoutSuffix ? 'минута' : 'минуту';
9885 return number + ' ' + ru__plural(format[key], +number);
9888 var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
9890 // http://new.gramota.ru/spravka/rules/139-prop : § 103
9891 // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
9892 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
9893 var ru = moment__default.defineLocale('ru', {
9895 format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
9896 standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
9899 // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
9900 format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
9901 standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
9904 standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
9905 format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
9906 isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
9908 weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
9909 weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
9910 monthsParse : monthsParse,
9911 longMonthsParse : monthsParse,
9912 shortMonthsParse : monthsParse,
9913 monthsRegex: /^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|сент\.|февр\.|нояб\.|июнь|янв.|июль|дек.|авг.|апр.|марта|мар[.т]|окт.|июн[яь]|июл[яь]|ма[яй])/i,
9914 monthsShortRegex: /^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|сент\.|февр\.|нояб\.|июнь|янв.|июль|дек.|авг.|апр.|марта|мар[.т]|окт.|июн[яь]|июл[яь]|ма[яй])/i,
9915 monthsStrictRegex: /^(сентябр[яь]|октябр[яь]|декабр[яь]|феврал[яь]|январ[яь]|апрел[яь]|августа?|ноябр[яь]|марта?|июн[яь]|июл[яь]|ма[яй])/i,
9916 monthsShortStrictRegex: /^(нояб\.|февр\.|сент\.|июль|янв\.|июн[яь]|мар[.т]|авг\.|апр\.|окт\.|дек\.|ма[яй])/i,
9921 LL : 'D MMMM YYYY г.',
9922 LLL : 'D MMMM YYYY г., HH:mm',
9923 LLLL : 'dddd, D MMMM YYYY г., HH:mm'
9926 sameDay: '[Сегодня в] LT',
9927 nextDay: '[Завтра в] LT',
9928 lastDay: '[Вчера в] LT',
9929 nextWeek: function (now) {
9930 if (now.week() !== this.week()) {
9931 switch (this.day()) {
9933 return '[В следующее] dddd [в] LT';
9937 return '[В следующий] dddd [в] LT';
9941 return '[В следующую] dddd [в] LT';
9944 if (this.day() === 2) {
9945 return '[Во] dddd [в] LT';
9947 return '[В] dddd [в] LT';
9951 lastWeek: function (now) {
9952 if (now.week() !== this.week()) {
9953 switch (this.day()) {
9955 return '[В прошлое] dddd [в] LT';
9959 return '[В прошлый] dddd [в] LT';
9963 return '[В прошлую] dddd [в] LT';
9966 if (this.day() === 2) {
9967 return '[Во] dddd [в] LT';
9969 return '[В] dddd [в] LT';
9976 future : 'через %s',
9978 s : 'несколько секунд',
9979 m : ru__relativeTimeWithPlural,
9980 mm : ru__relativeTimeWithPlural,
9982 hh : ru__relativeTimeWithPlural,
9984 dd : ru__relativeTimeWithPlural,
9986 MM : ru__relativeTimeWithPlural,
9988 yy : ru__relativeTimeWithPlural
9990 meridiemParse: /ночи|утра|дня|вечера/i,
9991 isPM : function (input) {
9992 return /^(дня|вечера)$/.test(input);
9994 meridiem : function (hour, minute, isLower) {
9997 } else if (hour < 12) {
9999 } else if (hour < 17) {
10005 ordinalParse: /\d{1,2}-(й|го|я)/,
10006 ordinal: function (number, period) {
10011 return number + '-й';
10013 return number + '-го';
10016 return number + '-я';
10022 dow : 1, // Monday is the first day of the week.
10023 doy : 7 // The week that contains Jan 1st is the first week of the year.
10027 //! moment.js locale configuration
10028 //! locale : Northern Sami (se)
10029 //! authors : Bård Rolstad Henriksen : https://github.com/karamell
10032 var se = moment__default.defineLocale('se', {
10033 months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),
10034 monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
10035 weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
10036 weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
10037 weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
10042 LL : 'MMMM D. [b.] YYYY',
10043 LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
10044 LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
10047 sameDay: '[otne ti] LT',
10048 nextDay: '[ihttin ti] LT',
10049 nextWeek: 'dddd [ti] LT',
10050 lastDay: '[ikte ti] LT',
10051 lastWeek: '[ovddit] dddd [ti] LT',
10055 future : '%s geažes',
10057 s : 'moadde sekunddat',
10058 m : 'okta minuhta',
10059 mm : '%d minuhtat',
10063 dd : '%d beaivvit',
10069 ordinalParse: /\d{1,2}\./,
10072 dow : 1, // Monday is the first day of the week.
10073 doy : 4 // The week that contains Jan 4th is the first week of the year.
10077 //! moment.js locale configuration
10078 //! locale : Sinhalese (si)
10079 //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
10082 var si = moment__default.defineLocale('si', {
10083 months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
10084 monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
10085 weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
10086 weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්රහ_සිකු_සෙන'.split('_'),
10087 weekdaysMin : 'ඉ_ස_අ_බ_බ්ර_සි_සෙ'.split('_'),
10088 weekdaysParseExact : true,
10093 LL : 'YYYY MMMM D',
10094 LLL : 'YYYY MMMM D, a h:mm',
10095 LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
10098 sameDay : '[අද] LT[ට]',
10099 nextDay : '[හෙට] LT[ට]',
10100 nextWeek : 'dddd LT[ට]',
10101 lastDay : '[ඊයේ] LT[ට]',
10102 lastWeek : '[පසුගිය] dddd LT[ට]',
10108 s : 'තත්පර කිහිපය',
10110 mm : 'මිනිත්තු %d',
10120 ordinalParse: /\d{1,2} වැනි/,
10121 ordinal : function (number) {
10122 return number + ' වැනි';
10124 meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
10125 isPM : function (input) {
10126 return input === 'ප.ව.' || input === 'පස් වරු';
10128 meridiem : function (hours, minutes, isLower) {
10130 return isLower ? 'ප.ව.' : 'පස් වරු';
10132 return isLower ? 'පෙ.ව.' : 'පෙර වරු';
10137 //! moment.js locale configuration
10138 //! locale : slovak (sk)
10139 //! author : Martin Minka : https://github.com/k2s
10140 //! based on work of petrbela : https://github.com/petrbela
10142 var sk__months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
10143 sk__monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
10144 function sk__plural(n) {
10145 return (n > 1) && (n < 5);
10147 function sk__translate(number, withoutSuffix, key, isFuture) {
10148 var result = number + ' ';
10150 case 's': // a few seconds / in a few seconds / a few seconds ago
10151 return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
10152 case 'm': // a minute / in a minute / a minute ago
10153 return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
10154 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
10155 if (withoutSuffix || isFuture) {
10156 return result + (sk__plural(number) ? 'minúty' : 'minút');
10158 return result + 'minútami';
10161 case 'h': // an hour / in an hour / an hour ago
10162 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
10163 case 'hh': // 9 hours / in 9 hours / 9 hours ago
10164 if (withoutSuffix || isFuture) {
10165 return result + (sk__plural(number) ? 'hodiny' : 'hodín');
10167 return result + 'hodinami';
10170 case 'd': // a day / in a day / a day ago
10171 return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
10172 case 'dd': // 9 days / in 9 days / 9 days ago
10173 if (withoutSuffix || isFuture) {
10174 return result + (sk__plural(number) ? 'dni' : 'dní');
10176 return result + 'dňami';
10179 case 'M': // a month / in a month / a month ago
10180 return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
10181 case 'MM': // 9 months / in 9 months / 9 months ago
10182 if (withoutSuffix || isFuture) {
10183 return result + (sk__plural(number) ? 'mesiace' : 'mesiacov');
10185 return result + 'mesiacmi';
10188 case 'y': // a year / in a year / a year ago
10189 return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
10190 case 'yy': // 9 years / in 9 years / 9 years ago
10191 if (withoutSuffix || isFuture) {
10192 return result + (sk__plural(number) ? 'roky' : 'rokov');
10194 return result + 'rokmi';
10200 var sk = moment__default.defineLocale('sk', {
10201 months : sk__months,
10202 monthsShort : sk__monthsShort,
10203 weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
10204 weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
10205 weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
10210 LL : 'D. MMMM YYYY',
10211 LLL : 'D. MMMM YYYY H:mm',
10212 LLLL : 'dddd D. MMMM YYYY H:mm'
10215 sameDay: '[dnes o] LT',
10216 nextDay: '[zajtra o] LT',
10217 nextWeek: function () {
10218 switch (this.day()) {
10220 return '[v nedeľu o] LT';
10223 return '[v] dddd [o] LT';
10225 return '[v stredu o] LT';
10227 return '[vo štvrtok o] LT';
10229 return '[v piatok o] LT';
10231 return '[v sobotu o] LT';
10234 lastDay: '[včera o] LT',
10235 lastWeek: function () {
10236 switch (this.day()) {
10238 return '[minulú nedeľu o] LT';
10241 return '[minulý] dddd [o] LT';
10243 return '[minulú stredu o] LT';
10246 return '[minulý] dddd [o] LT';
10248 return '[minulú sobotu o] LT';
10258 mm : sk__translate,
10260 hh : sk__translate,
10262 dd : sk__translate,
10264 MM : sk__translate,
10268 ordinalParse: /\d{1,2}\./,
10271 dow : 1, // Monday is the first day of the week.
10272 doy : 4 // The week that contains Jan 4th is the first week of the year.
10276 //! moment.js locale configuration
10277 //! locale : slovenian (sl)
10278 //! author : Robert Sedovšek : https://github.com/sedovsek
10280 function sl__processRelativeTime(number, withoutSuffix, key, isFuture) {
10281 var result = number + ' ';
10284 return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
10286 return withoutSuffix ? 'ena minuta' : 'eno minuto';
10288 if (number === 1) {
10289 result += withoutSuffix ? 'minuta' : 'minuto';
10290 } else if (number === 2) {
10291 result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
10292 } else if (number < 5) {
10293 result += withoutSuffix || isFuture ? 'minute' : 'minutami';
10295 result += withoutSuffix || isFuture ? 'minut' : 'minutami';
10299 return withoutSuffix ? 'ena ura' : 'eno uro';
10301 if (number === 1) {
10302 result += withoutSuffix ? 'ura' : 'uro';
10303 } else if (number === 2) {
10304 result += withoutSuffix || isFuture ? 'uri' : 'urama';
10305 } else if (number < 5) {
10306 result += withoutSuffix || isFuture ? 'ure' : 'urami';
10308 result += withoutSuffix || isFuture ? 'ur' : 'urami';
10312 return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
10314 if (number === 1) {
10315 result += withoutSuffix || isFuture ? 'dan' : 'dnem';
10316 } else if (number === 2) {
10317 result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
10319 result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
10323 return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
10325 if (number === 1) {
10326 result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
10327 } else if (number === 2) {
10328 result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
10329 } else if (number < 5) {
10330 result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
10332 result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
10336 return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
10338 if (number === 1) {
10339 result += withoutSuffix || isFuture ? 'leto' : 'letom';
10340 } else if (number === 2) {
10341 result += withoutSuffix || isFuture ? 'leti' : 'letoma';
10342 } else if (number < 5) {
10343 result += withoutSuffix || isFuture ? 'leta' : 'leti';
10345 result += withoutSuffix || isFuture ? 'let' : 'leti';
10351 var sl = moment__default.defineLocale('sl', {
10352 months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
10353 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
10354 monthsParseExact: true,
10355 weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
10356 weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
10357 weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
10358 weekdaysParseExact : true,
10362 L : 'DD. MM. YYYY',
10363 LL : 'D. MMMM YYYY',
10364 LLL : 'D. MMMM YYYY H:mm',
10365 LLLL : 'dddd, D. MMMM YYYY H:mm'
10368 sameDay : '[danes ob] LT',
10369 nextDay : '[jutri ob] LT',
10371 nextWeek : function () {
10372 switch (this.day()) {
10374 return '[v] [nedeljo] [ob] LT';
10376 return '[v] [sredo] [ob] LT';
10378 return '[v] [soboto] [ob] LT';
10383 return '[v] dddd [ob] LT';
10386 lastDay : '[včeraj ob] LT',
10387 lastWeek : function () {
10388 switch (this.day()) {
10390 return '[prejšnjo] [nedeljo] [ob] LT';
10392 return '[prejšnjo] [sredo] [ob] LT';
10394 return '[prejšnjo] [soboto] [ob] LT';
10399 return '[prejšnji] dddd [ob] LT';
10407 s : sl__processRelativeTime,
10408 m : sl__processRelativeTime,
10409 mm : sl__processRelativeTime,
10410 h : sl__processRelativeTime,
10411 hh : sl__processRelativeTime,
10412 d : sl__processRelativeTime,
10413 dd : sl__processRelativeTime,
10414 M : sl__processRelativeTime,
10415 MM : sl__processRelativeTime,
10416 y : sl__processRelativeTime,
10417 yy : sl__processRelativeTime
10419 ordinalParse: /\d{1,2}\./,
10422 dow : 1, // Monday is the first day of the week.
10423 doy : 7 // The week that contains Jan 1st is the first week of the year.
10427 //! moment.js locale configuration
10428 //! locale : Albanian (sq)
10429 //! author : Flakërim Ismani : https://github.com/flakerimi
10430 //! author: Menelion Elensúle: https://github.com/Oire (tests)
10431 //! author : Oerd Cukalla : https://github.com/oerd (fixes)
10433 var sq = moment__default.defineLocale('sq', {
10434 months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
10435 monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
10436 weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
10437 weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
10438 weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
10439 weekdaysParseExact : true,
10440 meridiemParse: /PD|MD/,
10441 isPM: function (input) {
10442 return input.charAt(0) === 'M';
10444 meridiem : function (hours, minutes, isLower) {
10445 return hours < 12 ? 'PD' : 'MD';
10451 LL : 'D MMMM YYYY',
10452 LLL : 'D MMMM YYYY HH:mm',
10453 LLLL : 'dddd, D MMMM YYYY HH:mm'
10456 sameDay : '[Sot në] LT',
10457 nextDay : '[Nesër në] LT',
10458 nextWeek : 'dddd [në] LT',
10459 lastDay : '[Dje në] LT',
10460 lastWeek : 'dddd [e kaluar në] LT',
10465 past : '%s më parë',
10466 s : 'disa sekonda',
10478 ordinalParse: /\d{1,2}\./,
10481 dow : 1, // Monday is the first day of the week.
10482 doy : 4 // The week that contains Jan 4th is the first week of the year.
10486 //! moment.js locale configuration
10487 //! locale : Serbian-cyrillic (sr-cyrl)
10488 //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
10490 var sr_cyrl__translator = {
10491 words: { //Different grammatical cases
10492 m: ['један минут', 'једне минуте'],
10493 mm: ['минут', 'минуте', 'минута'],
10494 h: ['један сат', 'једног сата'],
10495 hh: ['сат', 'сата', 'сати'],
10496 dd: ['дан', 'дана', 'дана'],
10497 MM: ['месец', 'месеца', 'месеци'],
10498 yy: ['година', 'године', 'година']
10500 correctGrammaticalCase: function (number, wordKey) {
10501 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
10503 translate: function (number, withoutSuffix, key) {
10504 var wordKey = sr_cyrl__translator.words[key];
10505 if (key.length === 1) {
10506 return withoutSuffix ? wordKey[0] : wordKey[1];
10508 return number + ' ' + sr_cyrl__translator.correctGrammaticalCase(number, wordKey);
10513 var sr_cyrl = moment__default.defineLocale('sr-cyrl', {
10514 months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
10515 monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
10516 monthsParseExact: true,
10517 weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
10518 weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
10519 weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
10520 weekdaysParseExact : true,
10525 LL: 'D. MMMM YYYY',
10526 LLL: 'D. MMMM YYYY H:mm',
10527 LLLL: 'dddd, D. MMMM YYYY H:mm'
10530 sameDay: '[данас у] LT',
10531 nextDay: '[сутра у] LT',
10532 nextWeek: function () {
10533 switch (this.day()) {
10535 return '[у] [недељу] [у] LT';
10537 return '[у] [среду] [у] LT';
10539 return '[у] [суботу] [у] LT';
10544 return '[у] dddd [у] LT';
10547 lastDay : '[јуче у] LT',
10548 lastWeek : function () {
10549 var lastWeekDays = [
10550 '[прошле] [недеље] [у] LT',
10551 '[прошлог] [понедељка] [у] LT',
10552 '[прошлог] [уторка] [у] LT',
10553 '[прошле] [среде] [у] LT',
10554 '[прошлог] [четвртка] [у] LT',
10555 '[прошлог] [петка] [у] LT',
10556 '[прошле] [суботе] [у] LT'
10558 return lastWeekDays[this.day()];
10565 s : 'неколико секунди',
10566 m : sr_cyrl__translator.translate,
10567 mm : sr_cyrl__translator.translate,
10568 h : sr_cyrl__translator.translate,
10569 hh : sr_cyrl__translator.translate,
10571 dd : sr_cyrl__translator.translate,
10573 MM : sr_cyrl__translator.translate,
10575 yy : sr_cyrl__translator.translate
10577 ordinalParse: /\d{1,2}\./,
10580 dow : 1, // Monday is the first day of the week.
10581 doy : 7 // The week that contains Jan 1st is the first week of the year.
10585 //! moment.js locale configuration
10586 //! locale : Serbian-latin (sr)
10587 //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
10589 var sr__translator = {
10590 words: { //Different grammatical cases
10591 m: ['jedan minut', 'jedne minute'],
10592 mm: ['minut', 'minute', 'minuta'],
10593 h: ['jedan sat', 'jednog sata'],
10594 hh: ['sat', 'sata', 'sati'],
10595 dd: ['dan', 'dana', 'dana'],
10596 MM: ['mesec', 'meseca', 'meseci'],
10597 yy: ['godina', 'godine', 'godina']
10599 correctGrammaticalCase: function (number, wordKey) {
10600 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
10602 translate: function (number, withoutSuffix, key) {
10603 var wordKey = sr__translator.words[key];
10604 if (key.length === 1) {
10605 return withoutSuffix ? wordKey[0] : wordKey[1];
10607 return number + ' ' + sr__translator.correctGrammaticalCase(number, wordKey);
10612 var sr = moment__default.defineLocale('sr', {
10613 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
10614 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
10615 monthsParseExact: true,
10616 weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
10617 weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
10618 weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
10619 weekdaysParseExact : true,
10624 LL: 'D. MMMM YYYY',
10625 LLL: 'D. MMMM YYYY H:mm',
10626 LLLL: 'dddd, D. MMMM YYYY H:mm'
10629 sameDay: '[danas u] LT',
10630 nextDay: '[sutra u] LT',
10631 nextWeek: function () {
10632 switch (this.day()) {
10634 return '[u] [nedelju] [u] LT';
10636 return '[u] [sredu] [u] LT';
10638 return '[u] [subotu] [u] LT';
10643 return '[u] dddd [u] LT';
10646 lastDay : '[juče u] LT',
10647 lastWeek : function () {
10648 var lastWeekDays = [
10649 '[prošle] [nedelje] [u] LT',
10650 '[prošlog] [ponedeljka] [u] LT',
10651 '[prošlog] [utorka] [u] LT',
10652 '[prošle] [srede] [u] LT',
10653 '[prošlog] [četvrtka] [u] LT',
10654 '[prošlog] [petka] [u] LT',
10655 '[prošle] [subote] [u] LT'
10657 return lastWeekDays[this.day()];
10664 s : 'nekoliko sekundi',
10665 m : sr__translator.translate,
10666 mm : sr__translator.translate,
10667 h : sr__translator.translate,
10668 hh : sr__translator.translate,
10670 dd : sr__translator.translate,
10672 MM : sr__translator.translate,
10674 yy : sr__translator.translate
10676 ordinalParse: /\d{1,2}\./,
10679 dow : 1, // Monday is the first day of the week.
10680 doy : 7 // The week that contains Jan 1st is the first week of the year.
10684 //! moment.js locale configuration
10685 //! locale : siSwati (ss)
10686 //! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
10689 var ss = moment__default.defineLocale('ss', {
10690 months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
10691 monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
10692 weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
10693 weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
10694 weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
10695 weekdaysParseExact : true,
10700 LL : 'D MMMM YYYY',
10701 LLL : 'D MMMM YYYY h:mm A',
10702 LLLL : 'dddd, D MMMM YYYY h:mm A'
10705 sameDay : '[Namuhla nga] LT',
10706 nextDay : '[Kusasa nga] LT',
10707 nextWeek : 'dddd [nga] LT',
10708 lastDay : '[Itolo nga] LT',
10709 lastWeek : 'dddd [leliphelile] [nga] LT',
10714 past : 'wenteka nga %s',
10715 s : 'emizuzwana lomcane',
10721 dd : '%d emalanga',
10723 MM : '%d tinyanga',
10727 meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
10728 meridiem : function (hours, minutes, isLower) {
10731 } else if (hours < 15) {
10733 } else if (hours < 19) {
10734 return 'entsambama';
10739 meridiemHour : function (hour, meridiem) {
10743 if (meridiem === 'ekuseni') {
10745 } else if (meridiem === 'emini') {
10746 return hour >= 11 ? hour : hour + 12;
10747 } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
10754 ordinalParse: /\d{1,2}/,
10757 dow : 1, // Monday is the first day of the week.
10758 doy : 4 // The week that contains Jan 4th is the first week of the year.
10762 //! moment.js locale configuration
10763 //! locale : swedish (sv)
10764 //! author : Jens Alm : https://github.com/ulmus
10766 var sv = moment__default.defineLocale('sv', {
10767 months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
10768 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
10769 weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
10770 weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
10771 weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
10776 LL : 'D MMMM YYYY',
10777 LLL : 'D MMMM YYYY [kl.] HH:mm',
10778 LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
10779 lll : 'D MMM YYYY HH:mm',
10780 llll : 'ddd D MMM YYYY HH:mm'
10783 sameDay: '[Idag] LT',
10784 nextDay: '[Imorgon] LT',
10785 lastDay: '[Igår] LT',
10786 nextWeek: '[På] dddd LT',
10787 lastWeek: '[I] dddd[s] LT',
10792 past : 'för %s sedan',
10793 s : 'några sekunder',
10805 ordinalParse: /\d{1,2}(e|a)/,
10806 ordinal : function (number) {
10807 var b = number % 10,
10808 output = (~~(number % 100 / 10) === 1) ? 'e' :
10811 (b === 3) ? 'e' : 'e';
10812 return number + output;
10815 dow : 1, // Monday is the first day of the week.
10816 doy : 4 // The week that contains Jan 4th is the first week of the year.
10820 //! moment.js locale configuration
10821 //! locale : swahili (sw)
10822 //! author : Fahad Kassim : https://github.com/fadsel
10824 var sw = moment__default.defineLocale('sw', {
10825 months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
10826 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
10827 weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
10828 weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
10829 weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
10830 weekdaysParseExact : true,
10835 LL : 'D MMMM YYYY',
10836 LLL : 'D MMMM YYYY HH:mm',
10837 LLLL : 'dddd, D MMMM YYYY HH:mm'
10840 sameDay : '[leo saa] LT',
10841 nextDay : '[kesho saa] LT',
10842 nextWeek : '[wiki ijayo] dddd [saat] LT',
10843 lastDay : '[jana] LT',
10844 lastWeek : '[wiki iliyopita] dddd [saat] LT',
10848 future : '%s baadaye',
10863 dow : 1, // Monday is the first day of the week.
10864 doy : 7 // The week that contains Jan 1st is the first week of the year.
10868 //! moment.js locale configuration
10869 //! locale : tamil (ta)
10870 //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
10872 var ta__symbolMap = {
10883 }, ta__numberMap = {
10896 var ta = moment__default.defineLocale('ta', {
10897 months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
10898 monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
10899 weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
10900 weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
10901 weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
10906 LL : 'D MMMM YYYY',
10907 LLL : 'D MMMM YYYY, HH:mm',
10908 LLLL : 'dddd, D MMMM YYYY, HH:mm'
10911 sameDay : '[இன்று] LT',
10912 nextDay : '[நாளை] LT',
10913 nextWeek : 'dddd, LT',
10914 lastDay : '[நேற்று] LT',
10915 lastWeek : '[கடந்த வாரம்] dddd, LT',
10921 s : 'ஒரு சில விநாடிகள்',
10923 mm : '%d நிமிடங்கள்',
10924 h : 'ஒரு மணி நேரம்',
10925 hh : '%d மணி நேரம்',
10929 MM : '%d மாதங்கள்',
10933 ordinalParse: /\d{1,2}வது/,
10934 ordinal : function (number) {
10935 return number + 'வது';
10937 preparse: function (string) {
10938 return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
10939 return ta__numberMap[match];
10942 postformat: function (string) {
10943 return string.replace(/\d/g, function (match) {
10944 return ta__symbolMap[match];
10947 // refer http://ta.wikipedia.org/s/1er1
10948 meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
10949 meridiem : function (hour, minute, isLower) {
10952 } else if (hour < 6) {
10953 return ' வைகறை'; // வைகறை
10954 } else if (hour < 10) {
10955 return ' காலை'; // காலை
10956 } else if (hour < 14) {
10957 return ' நண்பகல்'; // நண்பகல்
10958 } else if (hour < 18) {
10959 return ' எற்பாடு'; // எற்பாடு
10960 } else if (hour < 22) {
10961 return ' மாலை'; // மாலை
10966 meridiemHour : function (hour, meridiem) {
10970 if (meridiem === 'யாமம்') {
10971 return hour < 2 ? hour : hour + 12;
10972 } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
10974 } else if (meridiem === 'நண்பகல்') {
10975 return hour >= 10 ? hour : hour + 12;
10981 dow : 0, // Sunday is the first day of the week.
10982 doy : 6 // The week that contains Jan 1st is the first week of the year.
10986 //! moment.js locale configuration
10987 //! locale : telugu (te)
10988 //! author : Krishna Chaitanya Thota : https://github.com/kcthota
10990 var te = moment__default.defineLocale('te', {
10991 months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
10992 monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
10993 monthsParseExact : true,
10994 weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
10995 weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
10996 weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
11001 LL : 'D MMMM YYYY',
11002 LLL : 'D MMMM YYYY, A h:mm',
11003 LLLL : 'dddd, D MMMM YYYY, A h:mm'
11006 sameDay : '[నేడు] LT',
11007 nextDay : '[రేపు] LT',
11008 nextWeek : 'dddd, LT',
11009 lastDay : '[నిన్న] LT',
11010 lastWeek : '[గత] dddd, LT',
11015 past : '%s క్రితం',
11016 s : 'కొన్ని క్షణాలు',
11018 mm : '%d నిమిషాలు',
11026 yy : '%d సంవత్సరాలు'
11028 ordinalParse : /\d{1,2}వ/,
11030 meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
11031 meridiemHour : function (hour, meridiem) {
11035 if (meridiem === 'రాత్రి') {
11036 return hour < 4 ? hour : hour + 12;
11037 } else if (meridiem === 'ఉదయం') {
11039 } else if (meridiem === 'మధ్యాహ్నం') {
11040 return hour >= 10 ? hour : hour + 12;
11041 } else if (meridiem === 'సాయంత్రం') {
11045 meridiem : function (hour, minute, isLower) {
11048 } else if (hour < 10) {
11050 } else if (hour < 17) {
11051 return 'మధ్యాహ్నం';
11052 } else if (hour < 20) {
11059 dow : 0, // Sunday is the first day of the week.
11060 doy : 6 // The week that contains Jan 1st is the first week of the year.
11064 //! moment.js locale configuration
11065 //! locale : thai (th)
11066 //! author : Kridsada Thanabulpong : https://github.com/sirn
11068 var th = moment__default.defineLocale('th', {
11069 months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
11070 monthsShort : 'มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา'.split('_'),
11071 monthsParseExact: true,
11072 weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
11073 weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
11074 weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
11075 weekdaysParseExact : true,
11077 LT : 'H นาฬิกา m นาที',
11078 LTS : 'H นาฬิกา m นาที s วินาที',
11080 LL : 'D MMMM YYYY',
11081 LLL : 'D MMMM YYYY เวลา H นาฬิกา m นาที',
11082 LLLL : 'วันddddที่ D MMMM YYYY เวลา H นาฬิกา m นาที'
11084 meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
11085 isPM: function (input) {
11086 return input === 'หลังเที่ยง';
11088 meridiem : function (hour, minute, isLower) {
11090 return 'ก่อนเที่ยง';
11092 return 'หลังเที่ยง';
11096 sameDay : '[วันนี้ เวลา] LT',
11097 nextDay : '[พรุ่งนี้ เวลา] LT',
11098 nextWeek : 'dddd[หน้า เวลา] LT',
11099 lastDay : '[เมื่อวานนี้ เวลา] LT',
11100 lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
11105 past : '%sที่แล้ว',
11106 s : 'ไม่กี่วินาที',
11120 //! moment.js locale configuration
11121 //! locale : Tagalog/Filipino (tl-ph)
11122 //! author : Dan Hagman
11124 var tl_ph = moment__default.defineLocale('tl-ph', {
11125 months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
11126 monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
11127 weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
11128 weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
11129 weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
11134 LL : 'MMMM D, YYYY',
11135 LLL : 'MMMM D, YYYY HH:mm',
11136 LLLL : 'dddd, MMMM DD, YYYY HH:mm'
11139 sameDay: '[Ngayon sa] LT',
11140 nextDay: '[Bukas sa] LT',
11141 nextWeek: 'dddd [sa] LT',
11142 lastDay: '[Kahapon sa] LT',
11143 lastWeek: 'dddd [huling linggo] LT',
11147 future : 'sa loob ng %s',
11148 past : '%s ang nakalipas',
11149 s : 'ilang segundo',
11150 m : 'isang minuto',
11161 ordinalParse: /\d{1,2}/,
11162 ordinal : function (number) {
11166 dow : 1, // Monday is the first day of the week.
11167 doy : 4 // The week that contains Jan 4th is the first week of the year.
11171 //! moment.js locale configuration
11172 //! locale : Klingon (tlh)
11173 //! author : Dominika Kruk : https://github.com/amaranthrose
11175 var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
11177 function translateFuture(output) {
11179 time = (output.indexOf('jaj') !== -1) ?
11180 time.slice(0, -3) + 'leS' :
11181 (output.indexOf('jar') !== -1) ?
11182 time.slice(0, -3) + 'waQ' :
11183 (output.indexOf('DIS') !== -1) ?
11184 time.slice(0, -3) + 'nem' :
11189 function translatePast(output) {
11191 time = (output.indexOf('jaj') !== -1) ?
11192 time.slice(0, -3) + 'Hu’' :
11193 (output.indexOf('jar') !== -1) ?
11194 time.slice(0, -3) + 'wen' :
11195 (output.indexOf('DIS') !== -1) ?
11196 time.slice(0, -3) + 'ben' :
11201 function tlh__translate(number, withoutSuffix, string, isFuture) {
11202 var numberNoun = numberAsNoun(number);
11205 return numberNoun + ' tup';
11207 return numberNoun + ' rep';
11209 return numberNoun + ' jaj';
11211 return numberNoun + ' jar';
11213 return numberNoun + ' DIS';
11217 function numberAsNoun(number) {
11218 var hundred = Math.floor((number % 1000) / 100),
11219 ten = Math.floor((number % 100) / 10),
11223 word += numbersNouns[hundred] + 'vatlh';
11226 word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
11229 word += ((word !== '') ? ' ' : '') + numbersNouns[one];
11231 return (word === '') ? 'pagh' : word;
11234 var tlh = moment__default.defineLocale('tlh', {
11235 months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),
11236 monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
11237 monthsParseExact : true,
11238 weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
11239 weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
11240 weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
11245 LL : 'D MMMM YYYY',
11246 LLL : 'D MMMM YYYY HH:mm',
11247 LLLL : 'dddd, D MMMM YYYY HH:mm'
11250 sameDay: '[DaHjaj] LT',
11251 nextDay: '[wa’leS] LT',
11253 lastDay: '[wa’Hu’] LT',
11258 future : translateFuture,
11259 past : translatePast,
11262 mm : tlh__translate,
11264 hh : tlh__translate,
11266 dd : tlh__translate,
11268 MM : tlh__translate,
11270 yy : tlh__translate
11272 ordinalParse: /\d{1,2}\./,
11275 dow : 1, // Monday is the first day of the week.
11276 doy : 4 // The week that contains Jan 4th is the first week of the year.
11280 //! moment.js locale configuration
11281 //! locale : turkish (tr)
11282 //! authors : Erhan Gundogan : https://github.com/erhangundogan,
11283 //! Burak Yiğit Kaya: https://github.com/BYK
11285 var tr__suffixes = {
11306 var tr = moment__default.defineLocale('tr', {
11307 months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
11308 monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
11309 weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
11310 weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
11311 weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
11316 LL : 'D MMMM YYYY',
11317 LLL : 'D MMMM YYYY HH:mm',
11318 LLLL : 'dddd, D MMMM YYYY HH:mm'
11321 sameDay : '[bugün saat] LT',
11322 nextDay : '[yarın saat] LT',
11323 nextWeek : '[haftaya] dddd [saat] LT',
11324 lastDay : '[dün] LT',
11325 lastWeek : '[geçen hafta] dddd [saat] LT',
11329 future : '%s sonra',
11331 s : 'birkaç saniye',
11343 ordinalParse: /\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,
11344 ordinal : function (number) {
11345 if (number === 0) { // special case for zero
11346 return number + '\'ıncı';
11348 var a = number % 10,
11349 b = number % 100 - a,
11350 c = number >= 100 ? 100 : null;
11351 return number + (tr__suffixes[a] || tr__suffixes[b] || tr__suffixes[c]);
11354 dow : 1, // Monday is the first day of the week.
11355 doy : 7 // The week that contains Jan 1st is the first week of the year.
11359 //! moment.js locale configuration
11360 //! locale : talossan (tzl)
11361 //! author : Robin van der Vliet : https://github.com/robin0van0der0v with the help of Iustì Canun
11364 // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
11365 // This is currently too difficult (maybe even impossible) to add.
11366 var tzl = moment__default.defineLocale('tzl', {
11367 months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
11368 monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
11369 weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
11370 weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
11371 weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
11376 LL : 'D. MMMM [dallas] YYYY',
11377 LLL : 'D. MMMM [dallas] YYYY HH.mm',
11378 LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
11380 meridiemParse: /d\'o|d\'a/i,
11381 isPM : function (input) {
11382 return 'd\'o' === input.toLowerCase();
11384 meridiem : function (hours, minutes, isLower) {
11386 return isLower ? 'd\'o' : 'D\'O';
11388 return isLower ? 'd\'a' : 'D\'A';
11392 sameDay : '[oxhi à] LT',
11393 nextDay : '[demà à] LT',
11394 nextWeek : 'dddd [à] LT',
11395 lastDay : '[ieiri à] LT',
11396 lastWeek : '[sür el] dddd [lasteu à] LT',
11400 future : 'osprei %s',
11402 s : tzl__processRelativeTime,
11403 m : tzl__processRelativeTime,
11404 mm : tzl__processRelativeTime,
11405 h : tzl__processRelativeTime,
11406 hh : tzl__processRelativeTime,
11407 d : tzl__processRelativeTime,
11408 dd : tzl__processRelativeTime,
11409 M : tzl__processRelativeTime,
11410 MM : tzl__processRelativeTime,
11411 y : tzl__processRelativeTime,
11412 yy : tzl__processRelativeTime
11414 ordinalParse: /\d{1,2}\./,
11417 dow : 1, // Monday is the first day of the week.
11418 doy : 4 // The week that contains Jan 4th is the first week of the year.
11422 function tzl__processRelativeTime(number, withoutSuffix, key, isFuture) {
11424 's': ['viensas secunds', '\'iensas secunds'],
11425 'm': ['\'n míut', '\'iens míut'],
11426 'mm': [number + ' míuts', '' + number + ' míuts'],
11427 'h': ['\'n þora', '\'iensa þora'],
11428 'hh': [number + ' þoras', '' + number + ' þoras'],
11429 'd': ['\'n ziua', '\'iensa ziua'],
11430 'dd': [number + ' ziuas', '' + number + ' ziuas'],
11431 'M': ['\'n mes', '\'iens mes'],
11432 'MM': [number + ' mesen', '' + number + ' mesen'],
11433 'y': ['\'n ar', '\'iens ar'],
11434 'yy': [number + ' ars', '' + number + ' ars']
11436 return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
11439 //! moment.js locale configuration
11440 //! locale : Morocco Central Atlas Tamaziɣt in Latin (tzm-latn)
11441 //! author : Abdel Said : https://github.com/abdelsaid
11443 var tzm_latn = moment__default.defineLocale('tzm-latn', {
11444 months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
11445 monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
11446 weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
11447 weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
11448 weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
11453 LL : 'D MMMM YYYY',
11454 LLL : 'D MMMM YYYY HH:mm',
11455 LLLL : 'dddd D MMMM YYYY HH:mm'
11458 sameDay: '[asdkh g] LT',
11459 nextDay: '[aska g] LT',
11460 nextWeek: 'dddd [g] LT',
11461 lastDay: '[assant g] LT',
11462 lastWeek: 'dddd [g] LT',
11466 future : 'dadkh s yan %s',
11472 hh : '%d tassaɛin',
11481 dow : 6, // Saturday is the first day of the week.
11482 doy : 12 // The week that contains Jan 1st is the first week of the year.
11486 //! moment.js locale configuration
11487 //! locale : Morocco Central Atlas Tamaziɣt (tzm)
11488 //! author : Abdel Said : https://github.com/abdelsaid
11490 var tzm = moment__default.defineLocale('tzm', {
11491 months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
11492 monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
11493 weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
11494 weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
11495 weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
11500 LL : 'D MMMM YYYY',
11501 LLL : 'D MMMM YYYY HH:mm',
11502 LLLL : 'dddd D MMMM YYYY HH:mm'
11505 sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
11506 nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
11507 nextWeek: 'dddd [ⴴ] LT',
11508 lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
11509 lastWeek: 'dddd [ⴴ] LT',
11513 future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
11519 hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
11528 dow : 6, // Saturday is the first day of the week.
11529 doy : 12 // The week that contains Jan 1st is the first week of the year.
11533 //! moment.js locale configuration
11534 //! locale : ukrainian (uk)
11535 //! author : zemlanin : https://github.com/zemlanin
11536 //! Author : Menelion Elensúle : https://github.com/Oire
11538 function uk__plural(word, num) {
11539 var forms = word.split('_');
11540 return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
11542 function uk__relativeTimeWithPlural(number, withoutSuffix, key) {
11544 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
11545 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
11546 'dd': 'день_дні_днів',
11547 'MM': 'місяць_місяці_місяців',
11548 'yy': 'рік_роки_років'
11551 return withoutSuffix ? 'хвилина' : 'хвилину';
11553 else if (key === 'h') {
11554 return withoutSuffix ? 'година' : 'годину';
11557 return number + ' ' + uk__plural(format[key], +number);
11560 function weekdaysCaseReplace(m, format) {
11562 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
11563 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
11564 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
11566 nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
11568 ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
11571 return weekdays[nounCase][m.day()];
11573 function processHoursFunction(str) {
11574 return function () {
11575 return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
11579 var uk = moment__default.defineLocale('uk', {
11581 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
11582 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
11584 monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
11585 weekdays : weekdaysCaseReplace,
11586 weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
11587 weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
11592 LL : 'D MMMM YYYY р.',
11593 LLL : 'D MMMM YYYY р., HH:mm',
11594 LLLL : 'dddd, D MMMM YYYY р., HH:mm'
11597 sameDay: processHoursFunction('[Сьогодні '),
11598 nextDay: processHoursFunction('[Завтра '),
11599 lastDay: processHoursFunction('[Вчора '),
11600 nextWeek: processHoursFunction('[У] dddd ['),
11601 lastWeek: function () {
11602 switch (this.day()) {
11607 return processHoursFunction('[Минулої] dddd [').call(this);
11611 return processHoursFunction('[Минулого] dddd [').call(this);
11619 s : 'декілька секунд',
11620 m : uk__relativeTimeWithPlural,
11621 mm : uk__relativeTimeWithPlural,
11623 hh : uk__relativeTimeWithPlural,
11625 dd : uk__relativeTimeWithPlural,
11627 MM : uk__relativeTimeWithPlural,
11629 yy : uk__relativeTimeWithPlural
11631 // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
11632 meridiemParse: /ночі|ранку|дня|вечора/,
11633 isPM: function (input) {
11634 return /^(дня|вечора)$/.test(input);
11636 meridiem : function (hour, minute, isLower) {
11639 } else if (hour < 12) {
11641 } else if (hour < 17) {
11647 ordinalParse: /\d{1,2}-(й|го)/,
11648 ordinal: function (number, period) {
11655 return number + '-й';
11657 return number + '-го';
11663 dow : 1, // Monday is the first day of the week.
11664 doy : 7 // The week that contains Jan 1st is the first week of the year.
11668 //! moment.js locale configuration
11669 //! locale : uzbek (uz)
11670 //! author : Sardor Muminov : https://github.com/muminoff
11672 var uz = moment__default.defineLocale('uz', {
11673 months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
11674 monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
11675 weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
11676 weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
11677 weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
11682 LL : 'D MMMM YYYY',
11683 LLL : 'D MMMM YYYY HH:mm',
11684 LLLL : 'D MMMM YYYY, dddd HH:mm'
11687 sameDay : '[Бугун соат] LT [да]',
11688 nextDay : '[Эртага] LT [да]',
11689 nextWeek : 'dddd [куни соат] LT [да]',
11690 lastDay : '[Кеча соат] LT [да]',
11691 lastWeek : '[Утган] dddd [куни соат] LT [да]',
11695 future : 'Якин %s ичида',
11696 past : 'Бир неча %s олдин',
11710 dow : 1, // Monday is the first day of the week.
11711 doy : 7 // The week that contains Jan 4th is the first week of the year.
11715 //! moment.js locale configuration
11716 //! locale : vietnamese (vi)
11717 //! author : Bang Nguyen : https://github.com/bangnk
11719 var vi = moment__default.defineLocale('vi', {
11720 months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),
11721 monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
11722 monthsParseExact : true,
11723 weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
11724 weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
11725 weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
11726 weekdaysParseExact : true,
11727 meridiemParse: /sa|ch/i,
11728 isPM : function (input) {
11729 return /^ch$/i.test(input);
11731 meridiem : function (hours, minutes, isLower) {
11733 return isLower ? 'sa' : 'SA';
11735 return isLower ? 'ch' : 'CH';
11742 LL : 'D MMMM [năm] YYYY',
11743 LLL : 'D MMMM [năm] YYYY HH:mm',
11744 LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
11747 lll : 'D MMM YYYY HH:mm',
11748 llll : 'ddd, D MMM YYYY HH:mm'
11751 sameDay: '[Hôm nay lúc] LT',
11752 nextDay: '[Ngày mai lúc] LT',
11753 nextWeek: 'dddd [tuần tới lúc] LT',
11754 lastDay: '[Hôm qua lúc] LT',
11755 lastWeek: 'dddd [tuần rồi lúc] LT',
11773 ordinalParse: /\d{1,2}/,
11774 ordinal : function (number) {
11778 dow : 1, // Monday is the first day of the week.
11779 doy : 4 // The week that contains Jan 4th is the first week of the year.
11783 //! moment.js locale configuration
11784 //! locale : pseudo (x-pseudo)
11785 //! author : Andrew Hood : https://github.com/andrewhood125
11787 var x_pseudo = moment__default.defineLocale('x-pseudo', {
11788 months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),
11789 monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
11790 monthsParseExact : true,
11791 weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
11792 weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
11793 weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
11794 weekdaysParseExact : true,
11798 LL : 'D MMMM YYYY',
11799 LLL : 'D MMMM YYYY HH:mm',
11800 LLLL : 'dddd, D MMMM YYYY HH:mm'
11803 sameDay : '[T~ódá~ý át] LT',
11804 nextDay : '[T~ómó~rró~w át] LT',
11805 nextWeek : 'dddd [át] LT',
11806 lastDay : '[Ý~ést~érdá~ý át] LT',
11807 lastWeek : '[L~ást] dddd [át] LT',
11813 s : 'á ~féw ~sécó~ñds',
11815 mm : '%d m~íñú~tés',
11821 MM : '%d m~óñt~hs',
11825 ordinalParse: /\d{1,2}(th|st|nd|rd)/,
11826 ordinal : function (number) {
11827 var b = number % 10,
11828 output = (~~(number % 100 / 10) === 1) ? 'th' :
11831 (b === 3) ? 'rd' : 'th';
11832 return number + output;
11835 dow : 1, // Monday is the first day of the week.
11836 doy : 4 // The week that contains Jan 4th is the first week of the year.
11840 //! moment.js locale configuration
11841 //! locale : chinese (zh-cn)
11842 //! author : suupic : https://github.com/suupic
11843 //! author : Zeno Zeng : https://github.com/zenozeng
11845 var zh_cn = moment__default.defineLocale('zh-cn', {
11846 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
11847 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
11848 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
11849 weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
11850 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
11856 LLL : 'YYYY年MMMD日Ah点mm分',
11857 LLLL : 'YYYY年MMMD日ddddAh点mm分',
11860 lll : 'YYYY年MMMD日Ah点mm分',
11861 llll : 'YYYY年MMMD日ddddAh点mm分'
11863 meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
11864 meridiemHour: function (hour, meridiem) {
11868 if (meridiem === '凌晨' || meridiem === '早上' ||
11869 meridiem === '上午') {
11871 } else if (meridiem === '下午' || meridiem === '晚上') {
11875 return hour >= 11 ? hour : hour + 12;
11878 meridiem : function (hour, minute, isLower) {
11879 var hm = hour * 100 + minute;
11882 } else if (hm < 900) {
11884 } else if (hm < 1130) {
11886 } else if (hm < 1230) {
11888 } else if (hm < 1800) {
11895 sameDay : function () {
11896 return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';
11898 nextDay : function () {
11899 return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';
11901 lastDay : function () {
11902 return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';
11904 nextWeek : function () {
11905 var startOfWeek, prefix;
11906 startOfWeek = moment__default().startOf('week');
11907 prefix = this.diff(startOfWeek, 'days') >= 7 ? '[下]' : '[本]';
11908 return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
11910 lastWeek : function () {
11911 var startOfWeek, prefix;
11912 startOfWeek = moment__default().startOf('week');
11913 prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
11914 return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
11918 ordinalParse: /\d{1,2}(日|月|周)/,
11919 ordinal : function (number, period) {
11924 return number + '日';
11926 return number + '月';
11929 return number + '周';
11950 // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
11951 dow : 1, // Monday is the first day of the week.
11952 doy : 4 // The week that contains Jan 4th is the first week of the year.
11956 //! moment.js locale configuration
11957 //! locale : traditional chinese (zh-tw)
11958 //! author : Ben : https://github.com/ben-lin
11960 var zh_tw = moment__default.defineLocale('zh-tw', {
11961 months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
11962 monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
11963 weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
11964 weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
11965 weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
11971 LLL : 'YYYY年MMMD日Ah點mm分',
11972 LLLL : 'YYYY年MMMD日ddddAh點mm分',
11975 lll : 'YYYY年MMMD日Ah點mm分',
11976 llll : 'YYYY年MMMD日ddddAh點mm分'
11978 meridiemParse: /早上|上午|中午|下午|晚上/,
11979 meridiemHour : function (hour, meridiem) {
11983 if (meridiem === '早上' || meridiem === '上午') {
11985 } else if (meridiem === '中午') {
11986 return hour >= 11 ? hour : hour + 12;
11987 } else if (meridiem === '下午' || meridiem === '晚上') {
11991 meridiem : function (hour, minute, isLower) {
11992 var hm = hour * 100 + minute;
11995 } else if (hm < 1130) {
11997 } else if (hm < 1230) {
11999 } else if (hm < 1800) {
12006 sameDay : '[今天]LT',
12007 nextDay : '[明天]LT',
12008 nextWeek : '[下]ddddLT',
12009 lastDay : '[昨天]LT',
12010 lastWeek : '[上]ddddLT',
12013 ordinalParse: /\d{1,2}(日|月|週)/,
12014 ordinal : function (number, period) {
12019 return number + '日';
12021 return number + '月';
12024 return number + '週';
12046 var moment_with_locales = moment__default;
12047 moment_with_locales.locale('en');
12049 return moment_with_locales;