diff --git a/dist/calendar-card.js b/dist/calendar-card.js index bca55d5..2425846 100755 --- a/dist/calendar-card.js +++ b/dist/calendar-card.js @@ -919,6 +919,14 @@ var Ne,Ce=function(e,t){var a=e.startNode.parentNode,n=void 0===t?e.endNode:t.st >Disable Links +
+ Max Height +
+

Entities

${this.entityOptions.map(e=>ee` diff --git a/dist/calendar-card.js.map b/dist/calendar-card.js.map index fa830ff..7cebfba 100755 --- a/dist/calendar-card.js.map +++ b/dist/calendar-card.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/modules/_global.js","webpack:///./node_modules/core-js/modules/_wks.js","webpack:///./node_modules/core-js/modules/_is-object.js","webpack:///./node_modules/core-js/modules/_an-object.js","webpack:///./node_modules/core-js/modules/_descriptors.js","webpack:///./node_modules/core-js/modules/_object-dp.js","webpack:///./node_modules/core-js/modules/_fails.js","webpack:///./node_modules/core-js/modules/_redefine.js","webpack:///./node_modules/core-js/modules/_export.js","webpack:///./node_modules/core-js/modules/web.dom.iterable.js","webpack:///./node_modules/core-js/modules/es6.array.iterator.js","webpack:///./node_modules/core-js/modules/es6.object.to-string.js","webpack:///./node_modules/core-js/modules/_has.js","webpack:///./node_modules/core-js/modules/es7.symbol.async-iterator.js","webpack:///./node_modules/core-js/modules/es6.symbol.js","webpack:///./node_modules/core-js/modules/_hide.js","webpack:///./node_modules/core-js/modules/_ctx.js","webpack:///./node_modules/core-js/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/modules/_cof.js","webpack:///./node_modules/core-js/modules/_core.js","webpack:///./node_modules/core-js/modules/_a-function.js","webpack:///./node_modules/core-js/modules/_to-iobject.js","webpack:///./node_modules/core-js/modules/_validate-collection.js","webpack:///./src/moment.js","webpack:///./node_modules/core-js/modules/_library.js","webpack:///./node_modules/core-js/modules/_uid.js","webpack:///./node_modules/core-js/modules/_property-desc.js","webpack:///./node_modules/core-js/modules/_meta.js","webpack:///./node_modules/core-js/modules/_set-to-string-tag.js","webpack:///./node_modules/core-js/modules/_object-keys.js","webpack:///./node_modules/core-js/modules/_defined.js","webpack:///./node_modules/core-js/modules/_to-length.js","webpack:///./node_modules/core-js/modules/_to-object.js","webpack:///./node_modules/core-js/modules/_object-create.js","webpack:///./node_modules/core-js/modules/_iterators.js","webpack:///./node_modules/core-js/modules/es6.function.name.js","webpack:///./node_modules/core-js/modules/es6.weak-map.js","webpack:///./node_modules/core-js/modules/_shared.js","webpack:///./node_modules/core-js/modules/_to-primitive.js","webpack:///./node_modules/core-js/modules/_object-pie.js","webpack:///./node_modules/core-js/modules/_object-gopn.js","webpack:///./node_modules/core-js/modules/_object-gopd.js","webpack:///./node_modules/core-js/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/modules/_classof.js","webpack:///./node_modules/core-js/modules/_redefine-all.js","webpack:///./node_modules/core-js/modules/_an-instance.js","webpack:///./node_modules/core-js/modules/_for-of.js","webpack:///./node_modules/core-js/modules/_flags.js","webpack:///./node_modules/core-js/modules/es6.map.js","webpack:///./node_modules/core-js/modules/_dom-create.js","webpack:///./node_modules/core-js/modules/_iobject.js","webpack:///./node_modules/core-js/modules/_to-integer.js","webpack:///./node_modules/core-js/modules/_shared-key.js","webpack:///./node_modules/core-js/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/modules/_object-gops.js","webpack:///./node_modules/core-js/modules/es6.reflect.get.js","webpack:///./node_modules/core-js/modules/_iter-define.js","webpack:///./node_modules/core-js/modules/_set-species.js","webpack:///./node_modules/core-js/modules/_collection.js","webpack:///./node_modules/core-js/modules/_iter-detect.js","webpack:///./node_modules/core-js/modules/_inherit-if-required.js","webpack:///./node_modules/core-js/modules/es6.array.from.js","webpack:///./node_modules/core-js/modules/_regexp-exec.js","webpack:///./node_modules/core-js/modules/es6.object.assign.js","webpack:///./node_modules/core-js/modules/_wks-define.js","webpack:///./node_modules/core-js/modules/_wks-ext.js","webpack:///./node_modules/core-js/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/modules/_is-array.js","webpack:///./node_modules/core-js/modules/_html.js","webpack:///./node_modules/core-js/modules/_object-gpo.js","webpack:///./node_modules/core-js/modules/_set-proto.js","webpack:///./node_modules/core-js/modules/_iter-step.js","webpack:///./node_modules/core-js/modules/_string-at.js","webpack:///./node_modules/core-js/modules/es6.set.js","webpack:///./node_modules/core-js/modules/_collection-strong.js","webpack:///./node_modules/core-js/modules/_iter-call.js","webpack:///./node_modules/core-js/modules/_is-array-iter.js","webpack:///./node_modules/core-js/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/modules/_array-methods.js","webpack:///./node_modules/core-js/modules/_object-assign.js","webpack:///./node_modules/core-js/modules/es6.regexp.to-string.js","webpack:///./node_modules/core-js/modules/_is-regexp.js","webpack:///./node_modules/core-js/modules/_species-constructor.js","webpack:///./node_modules/core-js/modules/_invoke.js","webpack:///./node_modules/core-js/modules/_task.js","webpack:///./node_modules/core-js/modules/_new-promise-capability.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/core-js/modules/_function-to-string.js","webpack:///./node_modules/core-js/modules/_enum-keys.js","webpack:///./node_modules/core-js/modules/_array-includes.js","webpack:///./node_modules/core-js/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/modules/_object-dps.js","webpack:///./node_modules/core-js/modules/_object-gopn-ext.js","webpack:///./node_modules/core-js/modules/_add-to-unscopables.js","webpack:///./node_modules/core-js/modules/_iter-create.js","webpack:///./node_modules/core-js/modules/_array-species-create.js","webpack:///./node_modules/core-js/modules/_array-species-constructor.js","webpack:///./node_modules/core-js/modules/_collection-weak.js","webpack:///./node_modules/core-js/modules/_create-property.js","webpack:///./node_modules/core-js/modules/es6.regexp.flags.js","webpack:///./node_modules/core-js/modules/es6.regexp.split.js","webpack:///./node_modules/core-js/modules/_advance-string-index.js","webpack:///./node_modules/core-js/modules/_regexp-exec-abstract.js","webpack:///./node_modules/core-js/modules/_fix-re-wks.js","webpack:///./node_modules/core-js/modules/es6.regexp.exec.js","webpack:///./node_modules/core-js/modules/es6.regexp.constructor.js","webpack:///./node_modules/core-js/modules/es6.reflect.construct.js","webpack:///./node_modules/core-js/modules/_bind.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/core-js/modules/es6.promise.js","webpack:///./node_modules/core-js/modules/_microtask.js","webpack:///./node_modules/core-js/modules/_perform.js","webpack:///./node_modules/core-js/modules/_user-agent.js","webpack:///./node_modules/core-js/modules/_promise-resolve.js","webpack:///./node_modules/core-js/modules/es6.number.constructor.js","webpack:///./node_modules/core-js/modules/_string-trim.js","webpack:///./node_modules/core-js/modules/_string-ws.js","webpack:///./src/locales.js","webpack:///../src/lib/directive.ts","webpack:///../src/lib/dom.ts","webpack:///../src/lib/part.ts","webpack:///../src/lib/template.ts","webpack:///../src/lib/template-instance.ts","webpack:///../src/lib/template-result.ts","webpack:///../src/lib/parts.ts","webpack:///../src/lib/default-template-processor.ts","webpack:///../src/lib/template-factory.ts","webpack:///../src/lib/render.ts","webpack:///src/lit-html.ts","webpack:///../src/lib/modify-template.ts","webpack:///../src/lib/shady-render.ts","webpack:///../src/lib/updating-element.ts","webpack:///../src/lib/css-tag.ts","webpack:///src/lit-element.ts","webpack:///../src/directives/repeat.ts","webpack:///./src/calendar-event.js","webpack:///./src/event.tools.js","webpack:///./src/style.js","webpack:///./src/defaults.js","webpack:///./src/style-editor.js","webpack:///./src/index-editor.js","webpack:///./src/index.js","webpack:///./src/html.tools.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","global","window","Math","self","Function","__g","store","uid","USE_SYMBOL","it","isObject","TypeError","a","anObject","IE8_DOM_DEFINE","toPrimitive","dP","f","O","P","Attributes","e","exec","hide","has","SRC","$toString","TPL","split","inspectSource","val","safe","isFunction","join","String","this","core","redefine","ctx","$export","type","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","IS_BIND","B","target","expProto","undefined","U","W","R","$iterators","getKeys","Iterators","wks","ITERATOR","TO_STRING_TAG","ArrayValues","Array","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","length","NAME","explicit","Collection","proto","addToUnscopables","step","toIObject","iterated","kind","_t","_i","_k","index","Arguments","classof","test","DESCRIPTORS","META","KEY","$fails","shared","setToStringTag","wksExt","wksDefine","enumKeys","isArray","toObject","createDesc","_create","gOPNExt","$GOPD","$GOPS","$DP","$keys","gOPD","gOPN","$Symbol","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","isEnum","propertyIsEnumerable","SymbolRegistry","AllSymbols","OPSymbols","ObjectProto","USE_NATIVE","QObject","setter","findChild","setSymbolDesc","D","protoDesc","wrap","tag","sym","isSymbol","iterator","$defineProperty","$defineProperties","keys","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","names","result","push","$getOwnPropertySymbols","IS_OP","arguments","$set","configurable","set","es6Symbols","j","wellKnownSymbols","k","keyFor","useSetter","useSimple","defineProperties","getOwnPropertyDescriptor","getOwnPropertyNames","getOwnPropertySymbols","FAILS_ON_PRIMITIVES","replacer","$replacer","args","apply","valueOf","aFunction","fn","that","b","$at","point","done","toString","slice","version","__e","IObject","defined","TYPE","hookCallback","some","hooks","input","isUndefined","isNumber","isDate","Date","map","arr","res","hasOwnProp","extend","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","len","momentProperties","copyConfig","to","from","prop","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","Error","stack","deprecations","deprecateSimple","mergeConfigs","parentConfig","childConfig","Locale","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","defaultLocaleMonthsShort","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","shiftWeekdays","ws","concat","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","day","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","h","hh","dd","M","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","getSetGlobalLocale","_abbr","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getFullYear","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","ms","setFullYear","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","configFromStringAndFormat","untruncateYear","yearStr","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","monthStr","dayStr","hourStr","minuteStr","secondStr","parsedArray","weekdayStr","parsedInput","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","isoWeek","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","parseIso","base","isBefore","positiveMomentsDifference","momentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","zoneDelta","endOf","startOfDate","isoWeekday","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","toArray","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","field","listMonthsImpl","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","isFormat","_monthsShort","monthName","_monthsParseExact","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","weekdayName","_weekdaysParseExact","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","makeGetter","thresholds","abs$1","toISOString$1","Y","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","weekdaysParseExact","symbolMap","pluralForm","plurals","pluralize","str","months$1","symbolMap$1","numberMap","symbolMap$2","numberMap$1","pluralForm$1","plurals$1","pluralize$1","months$2","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","relativeTimeWithPlural","word","num","forms","plural","standalone","lastDigit","last2Digits","symbolMap$3","numberMap$2","symbolMap$4","numberMap$3","relativeTimeWithMutation","text","mutationTable","substring","softMutation","mutation","translate","lastNumber","monthsParseExact","ll","lll","llll","months$3","monthsRegex$1","plural$1","translate$1","processRelativeTime","processRelativeTime$1","processRelativeTime$2","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","months$4","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","monthsShort$1","monthsParse$1","monthsRegex$2","monthsShortDot$1","monthsShort$2","monthsParse$2","monthsRegex$3","monthsShortDot$2","monthsShort$3","monthsParse$3","monthsRegex$4","processRelativeTime$3","symbolMap$5","numberMap$4","numbersPast","numbersFuture","translate$2","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","processRelativeTime$4","symbolMap$6","numberMap$5","symbolMap$7","numberMap$6","translate$3","weekEndings","translate$4","plural$2","translate$5","suffixes$1","0","40","symbolMap$8","numberMap$7","symbolMap$9","numberMap$8","isUpper","symbolMap$a","numberMap$9","months$7","suffixes$2","processRelativeTime$5","eifelerRegelAppliesToNumber","translateSingular","special","translate$6","units$1","format$1","relativeTimeWithPlural$1","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","translate$7","symbolMap$b","numberMap$a","relativeTimeMr","symbolMap$c","numberMap$b","symbolMap$d","numberMap$c","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$4","monthsRegex$5","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$5","monthsRegex$6","symbolMap$e","numberMap$d","monthsNominative","monthsSubjective","plural$3","translate$8","relativeTimeWithPlural$2","relativeTimeWithPlural$3","plural$4","monthsParse$6","months$8","days$1","months$9","monthsShort$6","plural$5","translate$9","processRelativeTime$6","translator$1","translator$2","symbolMap$f","numberMap$e","suffixes$3","12","13","numbersNouns","translate$a","numberNoun","hundred","ten","one","numberAsNoun","suffixes$4","processRelativeTime$7","relativeTimeWithPlural$4","plural$6","processHoursFunction","months$a","days$2","id","px","random","bitmap","writable","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","meta","NEED","fastKey","getWeak","onFreeze","def","TAG","stat","enumBugKeys","toInteger","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","style","display","appendChild","src","contentWindow","document","open","write","lt","close","Properties","FProto","nameRE","InternalMap","each","assign","weak","validate","NATIVE_WEAK_MAP","IS_IE11","ActiveXObject","uncaughtFrozenStore","ufstore","wrapper","methods","$WeakMap","getConstructor","method","copyright","hiddenKeys","pIE","setPrototypeOf","cof","ARG","T","tryGet","callee","Constructor","forbiddenField","isArrayIter","toLength","getIterFn","BREAK","RETURN","iterable","entries","iterFn","ignoreCase","multiline","unicode","sticky","strong","entry","getEntry","v","is","createElement","getPrototypeOf","propertyKey","desc","receiver","LIBRARY","$iterCreate","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","SPECIES","C","redefineAll","forOf","anInstance","fails","$iterDetect","inheritIfRequired","common","IS_MAP","IS_WEAK","ADDER","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","iter","BUGGY_ZERO","$instance","constructor","clear","setStrong","SAFE_CLOSING","riter","skipClosing","createProperty","arrayLike","aLen","mapfn","mapping","re1","re2","regexpFlags","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","NPCG_INCLUDED","reCopy","re","arrayIndexOf","documentElement","check","buggy","__proto__","TO_STRING","charCodeAt","$iterDefine","setSpecies","SIZE","prev","callbackfn","ArrayProto","getIteratorMethod","asc","$create","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","$this","gOPS","$assign","A","K","getSymbols","$flags","define","MATCH","isRegExp","un","defer","channel","port","invoke","html","cel","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","port2","port1","onmessage","postMessage","addEventListener","importScripts","removeChild","setTimeout","PromiseCapability","resolve","reject","promise","$$resolve","$$reject","originalModule","webpackPolyfill","children","symbols","toAbsoluteIndex","IS_INCLUDES","el","fromIndex","windowNames","getWindowNames","UNSCOPABLES","descriptor","speciesConstructor","original","createArrayMethod","$has","arrayFind","arrayFindIndex","UncaughtFrozenStore","findUncaughtFrozen","splice","advanceStringIndex","callRegExpExec","regexpExec","$min","$push","SUPPORTS_Y","SPLIT","$split","maybeCallNative","internalSplit","lastLength","lastLastIndex","splitLimit","separatorCopy","splitter","regexp","rx","unicodeMatching","lim","q","z","at","builtinExec","REPLACE_SUPPORTS_NAMED_GROUPS","groups","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","SYMBOL","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","fns","nativeMethod","arg2","forceStringMethod","strfn","rxfn","forced","$RegExp","CORRECT_NEW","tiRE","piRE","fiU","proxy","rConstruct","Reflect","construct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","arraySlice","factories","partArgs","bound","runtime","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","generator","context","Context","_invoke","state","GenStateSuspendedStart","GenStateExecuting","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","GenStateSuspendedYield","makeInvokeMethod","err","GeneratorFunction","GeneratorFunctionPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","AsyncIterator","previousPromise","callInvokeWithMethodAndArg","Promise","__await","then","unwrapped","error","info","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","iteratorMethod","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","async","reverse","pop","skipTempReset","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","thrown","delegateYield","regeneratorRuntime","accidentalStrictMode","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","task","microtask","newPromiseCapabilityModule","perform","userAgent","promiseResolve","versions","v8","$Promise","isNode","newPromiseCapability","FakePromise","PromiseRejectionEvent","isThenable","notify","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","domain","_h","onHandleUnhandled","enter","exit","onUnhandled","unhandled","isUnhandled","emit","onunhandledrejection","reason","onrejectionhandled","$reject","$resolve","executor","onFulfilled","onRejected","capability","all","remaining","$index","alreadyCalled","race","macrotask","Observer","MutationObserver","WebKitMutationObserver","head","last","flush","parent","navigator","toggle","node","createTextNode","observe","characterData","promiseCapability","$trim","trim","$Number","BROKEN_COF","TRIM","toNumber","argument","third","radix","maxCode","first","code","digits","spaces","space","ltrim","rtrim","exporter","ALIAS","FORCE","moment","months$6","directives","WeakMap","isDirective","isCEPolyfill","customElements","polyfillWrapFlushCallback","reparentNodes","container","start","end","before","nextSibling","insertBefore","removeNodes","noChange","nothing","marker","nodeMarker","markerRegex","Template","element","nodesToRemove","walker","createTreeWalker","content","lastPartIndex","partIndex","strings","nextNode","nodeType","hasAttributes","attributes","count","endsWith","stringForPart","lastAttributeNameRegex","attributeLookupName","attributeValue","getAttribute","removeAttribute","statics","tagName","currentNode","parentNode","insert","createMarker","previousSibling","isTemplatePartActive","part","createComment","template","processor","options","__parts","setValue","commit","fragment","cloneNode","importNode","nodeIndex","nodeName","handleTextExpression","insertAfterNode","handleAttributeExpressions","adoptNode","upgrade","commentMarker","isCommentBinding","commentOpen","lastIndexOf","attributeMatch","innerHTML","getHTML","isPrimitive","isIterable","AttributeCommitter","dirty","_createPart","setAttribute","_getValue","committer","directive","__pendingValue","startNode","endNode","ref","__insert","__commitText","__commitTemplateResult","Node","__commitNode","__commitIterable","valueAsString","templateFactory","update","_clone","itemPart","itemParts","item","NodePart","appendIntoPart","insertAfterPart","PropertyCommitter","single","PropertyPart","eventOptionsSupported","removeEventListener","_e","eventName","eventContext","__boundHandleEvent","handleEvent","newListener","oldListener","shouldRemoveListener","capture","once","passive","shouldAddListener","__options","getOptions","defaultTemplateProcessor","templateCache","templateCaches","stringsArray","keyString","Map","getTemplateElement","walkerNodeFilter","removeNodesFromTemplate","removeCount","nodesToRemoveInTemplate","currentRemovingNode","countNodes","startIndex","getTemplateCacheKey","scopeName","compatibleShadyCSSVersion","ShadyCSS","prepareTemplateDom","cacheKey","TEMPLATE_TYPES","shadyRenderSet","Set","renderedDOM","templateElement","styles","querySelectorAll","condensedStyle","textContent","templates","refNode","insertCount","walkerIndex","insertNodeIntoTemplate","firstChild","prepareTemplateStyles","querySelector","nativeShadow","removes","JSCompiler_renameProperty","_obj","defaultConverter","toAttribute","Boolean","fromAttribute","Number","parse","notEqual","old","defaultPropertyDeclaration","attribute","converter","reflect","hasChanged","microtaskPromise","UpdatingElement","_updateState","_instanceProperties","_updatePromise","_hasConnectedResolver","_changedProperties","_reflectingProperties","initialize","HTMLElement","_saveInstanceProperties","_requestUpdate","_classProperties","_attributeToProperty","attr","_attributeNameForProperty","attrValue","_propertyValueToAttribute","propName","_attributeToPropertyMap","_propertyValueFromAttribute","oldValue","shouldRequestUpdate","_valueHasChanged","_hasRequestedUpdate","_enqueueUpdate","updateComplete","previousUpdatePromise","rej","_hasConnected","performUpdate","_applyInstanceProperties","shouldUpdate","changedProperties","_markUpdated","firstUpdated","updated","size","_propertyToAttribute","_getUpdateComplete","superProperties","_ensureClassProperties","noAccessor","superCtor","finalize","props","properties","propKeys","supportsAdoptingStyleSheets","Document","CSSStyleSheet","constructionToken","CSSResult","cssText","safeToken","_styleSheet","replaceSync","textFromCSSResult","css","reduce","acc","idx","flattenStyles","flat","Infinity","arrayFlat","_styles","_getUniqueStyles","userStyles","reduceRight","unshift","renderRoot","createRenderRoot","ShadowRoot","adoptStyles","attachShadow","adoptedStyleSheets","styleSheet","_needsShimAdoptedStyleSheets","ScopingShim","prepareAdoptedCssText","localName","hasUpdated","styleElement","templateResult","render","hasRendered","needsScoping","host","firstScopeRender","renderContainer","createDocumentFragment","appendInto","delete","containerPart","beforePart","beforeNode","newPart","updatePart","generateMap","list","partListCache","keyListCache","repeat","items","keyFnOrTemplate","keyFn","newKeyToIndexMap","oldKeyToIndexMap","oldParts","oldKeys","newParts","newValues","newKeys","oldHead","oldTail","newHead","newTail","oldIndex","oldPart","calendarEvent","_calendarEvent","rawEvent","title","originCalendar","hassEntity","entity","friendly_name","_startDateTime","dateTime","_processDate","_endDateTime","addDays","daysLong","_isFirstDay","_isLastDay","isEndDate","isLastDay","startDateTime","recurringEventId","attendees","filter","responseStatus","htmlLink","endDateTime","daysDifference","isMidnightStart","isMidnightEnd","isFirstDay","newEvent","partialEvents","fullDays","copiedEvent","partialEvent","numberOfDays","summary","removeFromEventTitle","regEx","description","location","openLink","link","disableLinks","getEventDateTime","isAllDayEvent","fullDayEventText","startText","endText","processEvents","allEvents","newEvents","findIndex","events","caldavEvent","entities","find","ignoreEventsExpression","hideDeclined","isDeclined","ignoreEventsByLocationExpression","showMultiDay","isMultiDay","splitIntoMultiDay","today","hidePastEvents","dateTopFormat","dateBottomFormat","hideTime","progressBar","showLocation","showLocationIcon","eventsLimit","showEventOrigin","hideHeader","highlightToday","maxHeight","hardLimit","notifyEntity","notifyDateTimeFormat","fireEvent","detail","Event","bubbles","cancelable","composed","dispatchEvent","hass","states","eid","matchingConfigEnitity","originalEntity","checked","_firstRendered","services","inputChanged","checkboxChanged","entityOptions","entityChanged","entityNameChanged","entityNotifyOptions","ev","cantFireEvent","configValue","entityId","entityObjects","super","newNames","oldNames","cardNeedsUpdating","updateCard","language","lastEventsUpdate","failedEvents","calendarEntityPromises","calendarEntity","url","callApi","rawEvents","catch","getAllEvents","__hass","groupedEventsByDay","groupedEvents","matchingDateIndex","group","numberOfEvents","hasMaxedOutEvents","numberOfEventsOver","groupEventsByDay","oldEvents","oldEvent","message","callService","sendNotificationForNewEvents","failedCalendars","errorTemplate","failedEntity","htmlTemplate","eventDay","eventsTemplate","isLastEventInGroup","lastKls","eventDateTime","todayKls","disableLink","momentDay","top","bottom","getDateHtml","getTimeHtml","originName","getEventOrigin","nowSeconds","startSeconds","endSeconds","getProgressBar","locationAddress","getLocationHtml"],"mappings":"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","file":"calendar-card.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/local/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 119);\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar $toString = require('./_function-to-string');\nvar TO_STRING = 'toString';\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\n// 19.1.3.6 Object.prototype.toString()\nvar classof = require('./_classof');\nvar test = {};\ntest[require('./_wks')('toStringTag')] = 'z';\nif (test + '' != '[object z]') {\n require('./_redefine')(Object.prototype, 'toString', function toString() {\n return '[object ' + classof(this) + ']';\n }, true);\n}\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","require('./_wks-define')('asyncIterator');\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toObject = require('./_to-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $GOPS = require('./_object-gops');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function' && !!$GOPS.f;\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n $GOPS.f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FAILS_ON_PRIMITIVES = $fails(function () { $GOPS.f(1); });\n\n$export($export.S + $export.F * FAILS_ON_PRIMITIVES, 'Object', {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return $GOPS.f(toObject(it));\n }\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var core = module.exports = { version: '2.6.9' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","export default (function () {\n 'use strict';\n\n var hookCallback;\n\n function hooks() {\n return hookCallback.apply(null, arguments);\n }\n\n // This is done to register the method called with moment()\n // without creating circular dependencies.\n function setHookCallback(callback) {\n hookCallback = callback;\n }\n\n function isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n }\n\n function isObject(input) {\n // IE8 will treat undefined and null as object if it wasn't for\n // input != null\n return input != null && Object.prototype.toString.call(input) === '[object Object]';\n }\n\n function isObjectEmpty(obj) {\n if (Object.getOwnPropertyNames) {\n return (Object.getOwnPropertyNames(obj).length === 0);\n } else {\n var k;\n for (k in obj) {\n if (obj.hasOwnProperty(k)) {\n return false;\n }\n }\n return true;\n }\n }\n\n function isUndefined(input) {\n return input === void 0;\n }\n\n function isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n }\n\n function isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n }\n\n function map(arr, fn) {\n var res = [], i;\n for (i = 0; i < arr.length; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n }\n\n function extend(a, b) {\n for (var i in b) {\n if (hasOwnProp(b, i)) {\n a[i] = b[i];\n }\n }\n\n if (hasOwnProp(b, 'toString')) {\n a.toString = b.toString;\n }\n\n if (hasOwnProp(b, 'valueOf')) {\n a.valueOf = b.valueOf;\n }\n\n return a;\n }\n\n function createUTC(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n }\n\n function defaultParsingFlags() {\n // We need to deep clone this object.\n return {\n empty: false,\n unusedTokens: [],\n unusedInput: [],\n overflow: -2,\n charsLeftOver: 0,\n nullInput: false,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n meridiem: null,\n rfc2822: false,\n weekdayMismatch: false\n };\n }\n\n function getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n }\n\n var some;\n if (Array.prototype.some) {\n some = Array.prototype.some;\n } else {\n some = function (fun) {\n var t = Object(this);\n var len = t.length >>> 0;\n\n for (var i = 0; i < len; i++) {\n if (i in t && fun.call(this, t[i], i, t)) {\n return true;\n }\n }\n\n return false;\n };\n }\n\n function isValid(m) {\n if (m._isValid == null) {\n var flags = getParsingFlags(m);\n var parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n var isNowValid = !isNaN(m._d.getTime()) &&\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidMonth &&\n !flags.invalidWeekday &&\n !flags.weekdayMismatch &&\n !flags.nullInput &&\n !flags.invalidFormat &&\n !flags.userInvalidated &&\n (!flags.meridiem || (flags.meridiem && parsedParts));\n\n if (m._strict) {\n isNowValid = isNowValid &&\n flags.charsLeftOver === 0 &&\n flags.unusedTokens.length === 0 &&\n flags.bigHour === undefined;\n }\n\n if (Object.isFrozen == null || !Object.isFrozen(m)) {\n m._isValid = isNowValid;\n }\n else {\n return isNowValid;\n }\n }\n return m._isValid;\n }\n\n function createInvalid(flags) {\n var m = createUTC(NaN);\n if (flags != null) {\n extend(getParsingFlags(m), flags);\n }\n else {\n getParsingFlags(m).userInvalidated = true;\n }\n\n return m;\n }\n\n // Plugins that add properties should also add the key here (null value),\n // so we can properly clone ourselves.\n var momentProperties = hooks.momentProperties = [];\n\n function copyConfig(to, from) {\n var i, prop, val;\n\n if (!isUndefined(from._isAMomentObject)) {\n to._isAMomentObject = from._isAMomentObject;\n }\n if (!isUndefined(from._i)) {\n to._i = from._i;\n }\n if (!isUndefined(from._f)) {\n to._f = from._f;\n }\n if (!isUndefined(from._l)) {\n to._l = from._l;\n }\n if (!isUndefined(from._strict)) {\n to._strict = from._strict;\n }\n if (!isUndefined(from._tzm)) {\n to._tzm = from._tzm;\n }\n if (!isUndefined(from._isUTC)) {\n to._isUTC = from._isUTC;\n }\n if (!isUndefined(from._offset)) {\n to._offset = from._offset;\n }\n if (!isUndefined(from._pf)) {\n to._pf = getParsingFlags(from);\n }\n if (!isUndefined(from._locale)) {\n to._locale = from._locale;\n }\n\n if (momentProperties.length > 0) {\n for (i = 0; i < momentProperties.length; i++) {\n prop = momentProperties[i];\n val = from[prop];\n if (!isUndefined(val)) {\n to[prop] = val;\n }\n }\n }\n\n return to;\n }\n\n var updateInProgress = false;\n\n // Moment prototype object\n function Moment(config) {\n copyConfig(this, config);\n this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n if (!this.isValid()) {\n this._d = new Date(NaN);\n }\n // Prevent infinite loop in case updateOffset creates new moment\n // objects.\n if (updateInProgress === false) {\n updateInProgress = true;\n hooks.updateOffset(this);\n updateInProgress = false;\n }\n }\n\n function isMoment(obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n }\n\n function absFloor(number) {\n if (number < 0) {\n // -0 -> 0\n return Math.ceil(number) || 0;\n } else {\n return Math.floor(number);\n }\n }\n\n function toInt(argumentForCoercion) {\n var coercedNumber = +argumentForCoercion,\n value = 0;\n\n if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n value = absFloor(coercedNumber);\n }\n\n return value;\n }\n\n // compare two arrays, return the number of differences\n function compareArrays(array1, array2, dontConvert) {\n var len = Math.min(array1.length, array2.length),\n lengthDiff = Math.abs(array1.length - array2.length),\n diffs = 0,\n i;\n for (i = 0; i < len; i++) {\n if ((dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n function warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n }\n\n function deprecate(msg, fn) {\n var firstTime = true;\n\n return extend(function () {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(null, msg);\n }\n if (firstTime) {\n var args = [];\n var arg;\n for (var i = 0; i < arguments.length; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (var key in arguments[0]) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\n arg = arg.slice(0, -2); // Remove trailing comma and space\n } else {\n arg = arguments[i];\n }\n args.push(arg);\n }\n warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n firstTime = false;\n }\n return fn.apply(this, arguments);\n }, fn);\n }\n\n var deprecations = {};\n\n function deprecateSimple(name, msg) {\n if (hooks.deprecationHandler != null) {\n hooks.deprecationHandler(name, msg);\n }\n if (!deprecations[name]) {\n warn(msg);\n deprecations[name] = true;\n }\n }\n\n hooks.suppressDeprecationWarnings = false;\n hooks.deprecationHandler = null;\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\n }\n this._config = config;\n // Lenient ordinal parsing accepts just a number in addition to\n // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n this._dayOfMonthOrdinalParseLenient = new RegExp(\n (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n '|' + (/\\d{1,2}/).source);\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig), prop;\n for (prop in childConfig) {\n if (hasOwnProp(childConfig, prop)) {\n if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n res[prop] = {};\n extend(res[prop], parentConfig[prop]);\n extend(res[prop], childConfig[prop]);\n } else if (childConfig[prop] != null) {\n res[prop] = childConfig[prop];\n } else {\n delete res[prop];\n }\n }\n }\n for (prop in parentConfig) {\n if (hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])) {\n // make sure changes to properties don't modify parent config\n res[prop] = extend({}, res[prop]);\n }\n }\n return res;\n }\n\n function Locale(config) {\n if (config != null) {\n this.set(config);\n }\n }\n\n var keys;\n\n if (Object.keys) {\n keys = Object.keys;\n } else {\n keys = function (obj) {\n var i, res = [];\n for (i in obj) {\n if (hasOwnProp(obj, i)) {\n res.push(i);\n }\n }\n return res;\n };\n }\n\n var defaultCalendar = {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n };\n\n function calendar(key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n }\n\n var defaultLongDateFormat = {\n LTS: 'h:mm:ss A',\n LT: 'h:mm A',\n L: 'MM/DD/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n };\n\n function longDateFormat(key) {\n var format = this._longDateFormat[key],\n formatUpper = this._longDateFormat[key.toUpperCase()];\n\n if (format || !formatUpper) {\n return format;\n }\n\n this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n return val.slice(1);\n });\n\n return this._longDateFormat[key];\n }\n\n var defaultInvalidDate = 'Invalid date';\n\n function invalidDate() {\n return this._invalidDate;\n }\n\n var defaultOrdinal = '%d';\n var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n function ordinal(number) {\n return this._ordinal.replace('%d', number);\n }\n\n var defaultRelativeTime = {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n };\n\n function relativeTime(number, withoutSuffix, string, isFuture) {\n var output = this._relativeTime[string];\n return (isFunction(output)) ?\n output(number, withoutSuffix, string, isFuture) :\n output.replace(/%d/i, number);\n }\n\n function pastFuture(diff, output) {\n var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n }\n\n var aliases = {};\n\n function addUnitAlias(unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n }\n\n function normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n }\n\n function normalizeObjectUnits(inputObject) {\n var normalizedInput = {},\n normalizedProp,\n prop;\n\n for (prop in inputObject) {\n if (hasOwnProp(inputObject, prop)) {\n normalizedProp = normalizeUnits(prop);\n if (normalizedProp) {\n normalizedInput[normalizedProp] = inputObject[prop];\n }\n }\n }\n\n return normalizedInput;\n }\n\n var priorities = {};\n\n function addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n }\n\n function getPrioritizedUnits(unitsObj) {\n var units = [];\n for (var u in unitsObj) {\n units.push({ unit: u, priority: priorities[u] });\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n }\n\n 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;\n\n var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n var formatFunctions = {};\n\n var formatTokenFunctions = {};\n\n // token: 'M'\n // padded: ['MM', 2]\n // ordinal: 'Mo'\n // callback: function () { this.month() + 1 }\n function addFormatToken(token, padded, ordinal, callback) {\n var func = callback;\n if (typeof callback === 'string') {\n func = function () {\n return this[callback]();\n };\n }\n if (token) {\n formatTokenFunctions[token] = func;\n }\n if (padded) {\n formatTokenFunctions[padded[0]] = function () {\n return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n };\n }\n if (ordinal) {\n formatTokenFunctions[ordinal] = function () {\n return this.localeData().ordinal(func.apply(this, arguments), token);\n };\n }\n }\n\n function removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n }\n\n function makeFormatFunction(format) {\n var array = format.match(formattingTokens), i, length;\n\n for (i = 0, length = array.length; i < length; i++) {\n if (formatTokenFunctions[array[i]]) {\n array[i] = formatTokenFunctions[array[i]];\n } else {\n array[i] = removeFormattingTokens(array[i]);\n }\n }\n\n return function (mom) {\n var output = '', i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n }\n return output;\n };\n }\n\n // format date using native date object\n function formatMoment(m, format) {\n if (!m.isValid()) {\n return m.localeData().invalidDate();\n }\n\n format = expandFormat(format, m.localeData());\n formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n return formatFunctions[format](m);\n }\n\n function expandFormat(format, locale) {\n var i = 5;\n\n function replaceLongDateFormatTokens(input) {\n return locale.longDateFormat(input) || input;\n }\n\n localFormattingTokens.lastIndex = 0;\n while (i >= 0 && localFormattingTokens.test(format)) {\n format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\n }\n\n var match1 = /\\d/; // 0 - 9\n var match2 = /\\d\\d/; // 00 - 99\n var match3 = /\\d{3}/; // 000 - 999\n var match4 = /\\d{4}/; // 0000 - 9999\n var match6 = /[+-]?\\d{6}/; // -999999 - 999999\n var match1to2 = /\\d\\d?/; // 0 - 99\n var match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\n var match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\n var match1to3 = /\\d{1,3}/; // 0 - 999\n var match1to4 = /\\d{1,4}/; // 0 - 9999\n var match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\n var matchUnsigned = /\\d+/; // 0 - inf\n var matchSigned = /[+-]?\\d+/; // -inf - inf\n\n var matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n // any word (or two) characters or numbers including two/three word month in arabic.\n // includes scottish gaelic two word and hyphenated months\n var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n var regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n }\n\n function getParseRegexForToken(token, config) {\n if (!hasOwnProp(regexes, token)) {\n return new RegExp(unescapeFormat(token));\n }\n\n return regexes[token](config._strict, config._locale);\n }\n\n // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n function unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n }\n\n var tokens = {};\n\n function addParseToken(token, callback) {\n var i, func = callback;\n if (typeof token === 'string') {\n token = [token];\n }\n if (isNumber(callback)) {\n func = function (input, array) {\n array[callback] = toInt(input);\n };\n }\n for (i = 0; i < token.length; i++) {\n tokens[token[i]] = func;\n }\n }\n\n function addWeekParseToken(token, callback) {\n addParseToken(token, function (input, array, config, token) {\n config._w = config._w || {};\n callback(input, config._w, config, token);\n });\n }\n\n function addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n }\n\n var YEAR = 0;\n var MONTH = 1;\n var DATE = 2;\n var HOUR = 3;\n var MINUTE = 4;\n var SECOND = 5;\n var MILLISECOND = 6;\n var WEEK = 7;\n var WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n });\n\n addFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n });\n\n addFormatToken(0, ['YYYY', 4], 0, 'year');\n addFormatToken(0, ['YYYYY', 5], 0, 'year');\n addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n // ALIASES\n\n addUnitAlias('year', 'y');\n\n // PRIORITIES\n\n addUnitPriority('year', 1);\n\n // PARSING\n\n addRegexToken('Y', matchSigned);\n addRegexToken('YY', match1to2, match2);\n addRegexToken('YYYY', match1to4, match4);\n addRegexToken('YYYYY', match1to6, match6);\n addRegexToken('YYYYYY', match1to6, match6);\n\n addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n addParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n });\n addParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n });\n addParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n });\n\n // HELPERS\n\n function daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n }\n\n function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n // HOOKS\n\n hooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n };\n\n // MOMENTS\n\n var getSetYear = makeGetSet('FullYear', true);\n\n function getIsLeapYear() {\n return isLeapYear(this.year());\n }\n\n function makeGetSet(unit, keepTime) {\n return function (value) {\n if (value != null) {\n set$1(this, unit, value);\n hooks.updateOffset(this, keepTime);\n return this;\n } else {\n return get(this, unit);\n }\n };\n }\n\n function get(mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n }\n\n function set$1(mom, unit, value) {\n if (mom.isValid() && !isNaN(value)) {\n if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n }\n else {\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n }\n }\n }\n\n // MOMENTS\n\n function stringGet(units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n }\n\n\n function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units);\n for (var i = 0; i < prioritized.length; i++) {\n this[prioritized[i].unit](units[prioritized[i].unit]);\n }\n } else {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units](value);\n }\n }\n return this;\n }\n\n function mod(n, x) {\n return ((n % x) + x) % x;\n }\n\n var indexOf;\n\n if (Array.prototype.indexOf) {\n indexOf = Array.prototype.indexOf;\n } else {\n indexOf = function (o) {\n // I know\n var i;\n for (i = 0; i < this.length; ++i) {\n if (this[i] === o) {\n return i;\n }\n }\n return -1;\n };\n }\n\n function daysInMonth(year, month) {\n if (isNaN(year) || isNaN(month)) {\n return NaN;\n }\n var modMonth = mod(month, 12);\n year += (month - modMonth) / 12;\n return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n }\n\n // FORMATTING\n\n addFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n });\n\n addFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n });\n\n addFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n });\n\n // ALIASES\n\n addUnitAlias('month', 'M');\n\n // PRIORITY\n\n addUnitPriority('month', 8);\n\n // PARSING\n\n addRegexToken('M', match1to2);\n addRegexToken('MM', match1to2, match2);\n addRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n });\n addRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n });\n\n addParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n });\n\n addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n var month = config._locale.monthsParse(input, token, config._strict);\n // if we didn't find a month name, mark the date as invalid.\n if (month != null) {\n array[MONTH] = month;\n } else {\n getParsingFlags(config).invalidMonth = input;\n }\n });\n\n // LOCALES\n\n var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months) ? this._months :\n this._months['standalone'];\n }\n return isArray(this._months) ? this._months[m.month()] :\n this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort) ? this._monthsShort :\n this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i, ii, mom, llc = monthName.toLocaleLowerCase();\n if (!this._monthsParse) {\n // this is not used\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n for (i = 0; i < 12; ++i) {\n mom = createUTC([2000, i]);\n this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'MMM') {\n ii = indexOf.call(this._shortMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._longMonthsParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._longMonthsParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortMonthsParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeMonthsParse(monthName, format, strict) {\n var i, mom, regex;\n\n if (this._monthsParseExact) {\n return handleStrictParse.call(this, monthName, format, strict);\n }\n\n if (!this._monthsParse) {\n this._monthsParse = [];\n this._longMonthsParse = [];\n this._shortMonthsParse = [];\n }\n\n // TODO: add sorting\n // Sorting makes sure if one month (or abbr) is a prefix of another\n // see sorting in computeMonthsParse\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n if (strict && !this._longMonthsParse[i]) {\n this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n }\n if (!strict && !this._monthsParse[i]) {\n regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n return i;\n } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n return i;\n } else if (!strict && this._monthsParse[i].test(monthName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function setMonth(mom, value) {\n var dayOfMonth;\n\n if (!mom.isValid()) {\n // No op\n return mom;\n }\n\n if (typeof value === 'string') {\n if (/^\\d+$/.test(value)) {\n value = toInt(value);\n } else {\n value = mom.localeData().monthsParse(value);\n // TODO: Another silent failure?\n if (!isNumber(value)) {\n return mom;\n }\n }\n }\n\n dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n return mom;\n }\n\n function getSetMonth(value) {\n if (value != null) {\n setMonth(this, value);\n hooks.updateOffset(this, true);\n return this;\n } else {\n return get(this, 'Month');\n }\n }\n\n function getDaysInMonth() {\n return daysInMonth(this.year(), this.month());\n }\n\n var defaultMonthsShortRegex = matchWord;\n function monthsShortRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsShortStrictRegex;\n } else {\n return this._monthsShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsShortRegex')) {\n this._monthsShortRegex = defaultMonthsShortRegex;\n }\n return this._monthsShortStrictRegex && isStrict ?\n this._monthsShortStrictRegex : this._monthsShortRegex;\n }\n }\n\n var defaultMonthsRegex = matchWord;\n function monthsRegex(isStrict) {\n if (this._monthsParseExact) {\n if (!hasOwnProp(this, '_monthsRegex')) {\n computeMonthsParse.call(this);\n }\n if (isStrict) {\n return this._monthsStrictRegex;\n } else {\n return this._monthsRegex;\n }\n } else {\n if (!hasOwnProp(this, '_monthsRegex')) {\n this._monthsRegex = defaultMonthsRegex;\n }\n return this._monthsStrictRegex && isStrict ?\n this._monthsStrictRegex : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortPieces.push(this.monthsShort(mom, ''));\n longPieces.push(this.months(mom, ''));\n mixedPieces.push(this.months(mom, ''));\n mixedPieces.push(this.monthsShort(mom, ''));\n }\n // Sorting makes sure if one month (or abbr) is a prefix of another it\n // will match the longer piece.\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 12; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n }\n for (i = 0; i < 24; i++) {\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n }\n\n function createDate(y, m, d, h, M, s, ms) {\n // can't just apply() to create a date:\n // https://stackoverflow.com/q/181348\n var date;\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n date = new Date(y + 400, m, d, h, M, s, ms);\n if (isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n } else {\n date = new Date(y, m, d, h, M, s, ms);\n }\n\n return date;\n }\n\n function createUTCDate(y) {\n var date;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n var args = Array.prototype.slice.call(arguments);\n // preserve leap years using a full 400 year cycle, then reset\n args[0] = y + 400;\n date = new Date(Date.UTC.apply(null, args));\n if (isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n } else {\n date = new Date(Date.UTC.apply(null, arguments));\n }\n\n return date;\n }\n\n // start-of-first-week - start-of-year\n function firstWeekOffset(year, dow, doy) {\n var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n fwd = 7 + dow - doy,\n // first-week day local weekday -- which local weekday is fwd\n fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n return -fwdlw + fwd - 1;\n }\n\n // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n var localWeekday = (7 + weekday - dow) % 7,\n weekOffset = firstWeekOffset(year, dow, doy),\n dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n resYear, resDayOfYear;\n\n if (dayOfYear <= 0) {\n resYear = year - 1;\n resDayOfYear = daysInYear(resYear) + dayOfYear;\n } else if (dayOfYear > daysInYear(year)) {\n resYear = year + 1;\n resDayOfYear = dayOfYear - daysInYear(year);\n } else {\n resYear = year;\n resDayOfYear = dayOfYear;\n }\n\n return {\n year: resYear,\n dayOfYear: resDayOfYear\n };\n }\n\n function weekOfYear(mom, dow, doy) {\n var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n resWeek, resYear;\n\n if (week < 1) {\n resYear = mom.year() - 1;\n resWeek = week + weeksInYear(resYear, dow, doy);\n } else if (week > weeksInYear(mom.year(), dow, doy)) {\n resWeek = week - weeksInYear(mom.year(), dow, doy);\n resYear = mom.year() + 1;\n } else {\n resYear = mom.year();\n resWeek = week;\n }\n\n return {\n week: resWeek,\n year: resYear\n };\n }\n\n function weeksInYear(year, dow, doy) {\n var weekOffset = firstWeekOffset(year, dow, doy),\n weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n }\n\n // FORMATTING\n\n addFormatToken('w', ['ww', 2], 'wo', 'week');\n addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n // ALIASES\n\n addUnitAlias('week', 'w');\n addUnitAlias('isoWeek', 'W');\n\n // PRIORITIES\n\n addUnitPriority('week', 5);\n addUnitPriority('isoWeek', 5);\n\n // PARSING\n\n addRegexToken('w', match1to2);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n });\n\n // HELPERS\n\n // LOCALES\n\n function localeWeek(mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n }\n\n var defaultLocaleWeek = {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n };\n\n function localeFirstDayOfWeek() {\n return this._week.dow;\n }\n\n function localeFirstDayOfYear() {\n return this._week.doy;\n }\n\n // MOMENTS\n\n function getSetWeek(input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n function getSetISOWeek(input) {\n var week = weekOfYear(this, 1, 4).week;\n return input == null ? week : this.add((input - week) * 7, 'd');\n }\n\n // FORMATTING\n\n addFormatToken('d', 0, 'do', 'day');\n\n addFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n });\n\n addFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n });\n\n addFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n });\n\n addFormatToken('e', 0, 0, 'weekday');\n addFormatToken('E', 0, 0, 'isoWeekday');\n\n // ALIASES\n\n addUnitAlias('day', 'd');\n addUnitAlias('weekday', 'e');\n addUnitAlias('isoWeekday', 'E');\n\n // PRIORITY\n addUnitPriority('day', 11);\n addUnitPriority('weekday', 11);\n addUnitPriority('isoWeekday', 11);\n\n // PARSING\n\n addRegexToken('d', match1to2);\n addRegexToken('e', match1to2);\n addRegexToken('E', match1to2);\n addRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n });\n addRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n });\n addRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n });\n\n addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n var weekday = config._locale.weekdaysParse(input, token, config._strict);\n // if we didn't get a weekday name, mark the date as invalid\n if (weekday != null) {\n week.d = weekday;\n } else {\n getParsingFlags(config).invalidWeekday = input;\n }\n });\n\n addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n });\n\n // HELPERS\n\n function parseWeekday(input, locale) {\n if (typeof input !== 'string') {\n return input;\n }\n\n if (!isNaN(input)) {\n return parseInt(input, 10);\n }\n\n input = locale.weekdaysParse(input);\n if (typeof input === 'number') {\n return input;\n }\n\n return null;\n }\n\n function parseIsoWeekday(input, locale) {\n if (typeof input === 'string') {\n return locale.weekdaysParse(input) % 7 || 7;\n }\n return isNaN(input) ? null : input;\n }\n\n // LOCALES\n function shiftWeekdays(ws, n) {\n return ws.slice(n, 7).concat(ws.slice(0, n));\n }\n\n var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays) ? this._weekdays :\n this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n : (m) ? weekdays[m.day()] : weekdays;\n }\n\n var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n function localeWeekdaysShort(m) {\n return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n }\n\n var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n function localeWeekdaysMin(m) {\n return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._minWeekdaysParse = [];\n\n for (i = 0; i < 7; ++i) {\n mom = createUTC([2000, 1]).day(i);\n this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n }\n }\n\n if (strict) {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n } else {\n if (format === 'dddd') {\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else if (format === 'ddd') {\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._minWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n } else {\n ii = indexOf.call(this._minWeekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._weekdaysParse, llc);\n if (ii !== -1) {\n return ii;\n }\n ii = indexOf.call(this._shortWeekdaysParse, llc);\n return ii !== -1 ? ii : null;\n }\n }\n }\n\n function localeWeekdaysParse(weekdayName, format, strict) {\n var i, mom, regex;\n\n if (this._weekdaysParseExact) {\n return handleStrictParse$1.call(this, weekdayName, format, strict);\n }\n\n if (!this._weekdaysParse) {\n this._weekdaysParse = [];\n this._minWeekdaysParse = [];\n this._shortWeekdaysParse = [];\n this._fullWeekdaysParse = [];\n }\n\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n\n mom = createUTC([2000, 1]).day(i);\n if (strict && !this._fullWeekdaysParse[i]) {\n this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n }\n if (!this._weekdaysParse[i]) {\n regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n return i;\n } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n return i;\n }\n }\n }\n\n // MOMENTS\n\n function getSetDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n if (input != null) {\n input = parseWeekday(input, this.localeData());\n return this.add(input - day, 'd');\n } else {\n return day;\n }\n }\n\n function getSetLocaleDayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n return input == null ? weekday : this.add(input - weekday, 'd');\n }\n\n function getSetISODayOfWeek(input) {\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n\n // behaves the same as moment#day except\n // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n // as a setter, sunday should belong to the previous week.\n\n if (input != null) {\n var weekday = parseIsoWeekday(input, this.localeData());\n return this.day(this.day() % 7 ? weekday : weekday - 7);\n } else {\n return this.day() || 7;\n }\n }\n\n var defaultWeekdaysRegex = matchWord;\n function weekdaysRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysStrictRegex;\n } else {\n return this._weekdaysRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n this._weekdaysRegex = defaultWeekdaysRegex;\n }\n return this._weekdaysStrictRegex && isStrict ?\n this._weekdaysStrictRegex : this._weekdaysRegex;\n }\n }\n\n var defaultWeekdaysShortRegex = matchWord;\n function weekdaysShortRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysShortStrictRegex;\n } else {\n return this._weekdaysShortRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n }\n return this._weekdaysShortStrictRegex && isStrict ?\n this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n }\n }\n\n var defaultWeekdaysMinRegex = matchWord;\n function weekdaysMinRegex(isStrict) {\n if (this._weekdaysParseExact) {\n if (!hasOwnProp(this, '_weekdaysRegex')) {\n computeWeekdaysParse.call(this);\n }\n if (isStrict) {\n return this._weekdaysMinStrictRegex;\n } else {\n return this._weekdaysMinRegex;\n }\n } else {\n if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n }\n return this._weekdaysMinStrictRegex && isStrict ?\n this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n }\n }\n\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n i, mom, minp, shortp, longp;\n for (i = 0; i < 7; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, 1]).day(i);\n minp = this.weekdaysMin(mom, '');\n shortp = this.weekdaysShort(mom, '');\n longp = this.weekdays(mom, '');\n minPieces.push(minp);\n shortPieces.push(shortp);\n longPieces.push(longp);\n mixedPieces.push(minp);\n mixedPieces.push(shortp);\n mixedPieces.push(longp);\n }\n // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n // will match the longer piece.\n minPieces.sort(cmpLenRev);\n shortPieces.sort(cmpLenRev);\n longPieces.sort(cmpLenRev);\n mixedPieces.sort(cmpLenRev);\n for (i = 0; i < 7; i++) {\n shortPieces[i] = regexEscape(shortPieces[i]);\n longPieces[i] = regexEscape(longPieces[i]);\n mixedPieces[i] = regexEscape(mixedPieces[i]);\n }\n\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n }\n\n // FORMATTING\n\n function hFormat() {\n return this.hours() % 12 || 12;\n }\n\n function kFormat() {\n return this.hours() || 24;\n }\n\n addFormatToken('H', ['HH', 2], 0, 'hour');\n addFormatToken('h', ['hh', 2], 0, hFormat);\n addFormatToken('k', ['kk', 2], 0, kFormat);\n\n addFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n addFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n });\n\n addFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\n\n // ALIASES\n\n addUnitAlias('hour', 'h');\n\n // PRIORITY\n addUnitPriority('hour', 13);\n\n // PARSING\n\n function matchMeridiem(isStrict, locale) {\n return locale._meridiemParse;\n }\n\n addRegexToken('a', matchMeridiem);\n addRegexToken('A', matchMeridiem);\n addRegexToken('H', match1to2);\n addRegexToken('h', match1to2);\n addRegexToken('k', match1to2);\n addRegexToken('HH', match1to2, match2);\n addRegexToken('hh', match1to2, match2);\n addRegexToken('kk', match1to2, match2);\n\n addRegexToken('hmm', match3to4);\n addRegexToken('hmmss', match5to6);\n addRegexToken('Hmm', match3to4);\n addRegexToken('Hmmss', match5to6);\n\n addParseToken(['H', 'HH'], HOUR);\n addParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n });\n addParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n });\n addParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n getParsingFlags(config).bigHour = true;\n });\n addParseToken('Hmm', function (input, array, config) {\n var pos = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos));\n array[MINUTE] = toInt(input.substr(pos));\n });\n addParseToken('Hmmss', function (input, array, config) {\n var pos1 = input.length - 4;\n var pos2 = input.length - 2;\n array[HOUR] = toInt(input.substr(0, pos1));\n array[MINUTE] = toInt(input.substr(pos1, 2));\n array[SECOND] = toInt(input.substr(pos2));\n });\n\n // LOCALES\n\n function localeIsPM(input) {\n // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n // Using charAt should be more compatible.\n return ((input + '').toLowerCase().charAt(0) === 'p');\n }\n\n var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n function localeMeridiem(hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'pm' : 'PM';\n } else {\n return isLower ? 'am' : 'AM';\n }\n }\n\n\n // MOMENTS\n\n // Setting the hour should keep the time, because the user explicitly\n // specified which hour they want. So trying to maintain the same hour (in\n // a new timezone) makes sense. Adding/subtracting hours does not follow\n // this rule.\n var getSetHour = makeGetSet('Hours', true);\n\n var baseConfig = {\n calendar: defaultCalendar,\n longDateFormat: defaultLongDateFormat,\n invalidDate: defaultInvalidDate,\n ordinal: defaultOrdinal,\n dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n relativeTime: defaultRelativeTime,\n\n months: defaultLocaleMonths,\n monthsShort: defaultLocaleMonthsShort,\n\n week: defaultLocaleWeek,\n\n weekdays: defaultLocaleWeekdays,\n weekdaysMin: defaultLocaleWeekdaysMin,\n weekdaysShort: defaultLocaleWeekdaysShort,\n\n meridiemParse: defaultLocaleMeridiemParse\n };\n\n // internal storage for locale config files\n var locales = {};\n var localeFamilies = {};\n var globalLocale;\n\n function normalizeLocale(key) {\n return key ? key.toLowerCase().replace('_', '-') : key;\n }\n\n // pick the locale from the array\n // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n function chooseLocale(names) {\n var i = 0, j, next, locale, split;\n\n while (i < names.length) {\n split = normalizeLocale(names[i]).split('-');\n j = split.length;\n next = normalizeLocale(names[i + 1]);\n next = next ? next.split('-') : null;\n while (j > 0) {\n locale = loadLocale(split.slice(0, j).join('-'));\n if (locale) {\n return locale;\n }\n if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n //the next array item is better than a shallower substring of this one\n break;\n }\n j--;\n }\n i++;\n }\n return globalLocale;\n }\n\n function loadLocale(name) {\n var oldLocale = null;\n // TODO: Find a better way to register and load all the locales in Node\n if (!locales[name] && (typeof module !== 'undefined') &&\n module && module.exports) {\n try {\n oldLocale = globalLocale._abbr;\n getSetGlobalLocale(oldLocale);\n } catch (e) { }\n }\n return locales[name];\n }\n\n // This function will load locale and then set the global locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n function getSetGlobalLocale(key, values) {\n var data;\n if (key) {\n if (isUndefined(values)) {\n data = getLocale(key);\n }\n else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\n }\n else {\n if ((typeof console !== 'undefined') && console.warn) {\n //warn user if arguments are passed but the locale could not be set\n console.warn('Locale ' + key + ' not found. Did you forget to load it?');\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale, parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple('defineLocaleOverride',\n 'use moment.updateLocale(localeName, config) to change ' +\n 'an existing locale. moment.defineLocale(localeName, ' +\n 'config) should only be used for creating a new locale ' +\n 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n parentConfig = locales[name]._config;\n } else if (config.parentLocale != null) {\n if (locales[config.parentLocale] != null) {\n parentConfig = locales[config.parentLocale]._config;\n } else {\n locale = loadLocale(config.parentLocale);\n if (locale != null) {\n parentConfig = locale._config;\n } else {\n if (!localeFamilies[config.parentLocale]) {\n localeFamilies[config.parentLocale] = [];\n }\n localeFamilies[config.parentLocale].push({\n name: name,\n config: config\n });\n return null;\n }\n }\n }\n locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n if (localeFamilies[name]) {\n localeFamilies[name].forEach(function (x) {\n defineLocale(x.name, x.config);\n });\n }\n\n // backwards compat for now: also set the locale\n // make sure we set the locale AFTER all child locales have been\n // created, so we won't end up with the child locale set.\n getSetGlobalLocale(name);\n\n\n return locales[name];\n } else {\n // useful for testing\n delete locales[name];\n return null;\n }\n }\n\n function updateLocale(name, config) {\n if (config != null) {\n var locale, tmpLocale, parentConfig = baseConfig;\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n\n // backwards compat for now: also set the locale\n getSetGlobalLocale(name);\n } else {\n // pass null for config to unupdate, useful for tests\n if (locales[name] != null) {\n if (locales[name].parentLocale != null) {\n locales[name] = locales[name].parentLocale;\n } else if (locales[name] != null) {\n delete locales[name];\n }\n }\n }\n return locales[name];\n }\n\n // returns locale data\n function getLocale(key) {\n var locale;\n\n if (key && key._locale && key._locale._abbr) {\n key = key._locale._abbr;\n }\n\n if (!key) {\n return globalLocale;\n }\n\n if (!isArray(key)) {\n //short-circuit everything else\n locale = loadLocale(key);\n if (locale) {\n return locale;\n }\n key = [key];\n }\n\n return chooseLocale(key);\n }\n\n function listLocales() {\n return keys(locales);\n }\n\n function checkOverflow(m) {\n var overflow;\n var a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11 ? MONTH :\n a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE :\n a[SECOND] < 0 || a[SECOND] > 59 ? SECOND :\n a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n -1;\n\n if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n overflow = DATE;\n }\n if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n overflow = WEEK;\n }\n if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n overflow = WEEKDAY;\n }\n\n getParsingFlags(m).overflow = overflow;\n }\n\n return m;\n }\n\n // Pick the first defined of two or three arguments.\n function defaults(a, b, c) {\n if (a != null) {\n return a;\n }\n if (b != null) {\n return b;\n }\n return c;\n }\n\n function currentDateArray(config) {\n // hooks is actually the exported moment object\n var nowValue = new Date(hooks.now());\n if (config._useUTC) {\n return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n }\n return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n }\n\n // convert an array to a date.\n // the array should mirror the parameters below\n // note: all values past the year are optional and will default to the lowest possible value.\n // [year, month, day , hour, minute, second, millisecond]\n function configFromArray(config) {\n var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n if (config._d) {\n return;\n }\n\n currentDate = currentDateArray(config);\n\n //compute day of the year from weeks and weekdays\n if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n dayOfYearFromWeekInfo(config);\n }\n\n //if the day of the year is set, figure out what it is\n if (config._dayOfYear != null) {\n yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n getParsingFlags(config)._overflowDayOfYear = true;\n }\n\n date = createUTCDate(yearToUse, 0, config._dayOfYear);\n config._a[MONTH] = date.getUTCMonth();\n config._a[DATE] = date.getUTCDate();\n }\n\n // Default to current date.\n // * if no year, month, day of month are given, default to today\n // * if day of month is given, default month and year\n // * if month is given, default only year\n // * if year is given, don't default anything\n for (i = 0; i < 3 && config._a[i] == null; ++i) {\n config._a[i] = input[i] = currentDate[i];\n }\n\n // Zero out whatever was not defaulted, including time\n for (; i < 7; i++) {\n config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n // Apply timezone offset from input. The actual utcOffset can be changed\n // with parseZone.\n if (config._tzm != null) {\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n }\n\n if (config._nextDay) {\n config._a[HOUR] = 24;\n }\n\n // check for mismatching day of week\n if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n w = config._w;\n if (w.GG != null || w.W != null || w.E != null) {\n dow = 1;\n doy = 4;\n\n // TODO: We need to take the current isoWeekYear, but that depends on\n // how we interpret now (local, utc, fixed offset). So create\n // a now version of current config (take local/utc/offset flags, and\n // create now).\n weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n week = defaults(w.W, 1);\n weekday = defaults(w.E, 1);\n if (weekday < 1 || weekday > 7) {\n weekdayOverflow = true;\n }\n } else {\n dow = config._locale._week.dow;\n doy = config._locale._week.doy;\n\n var curWeek = weekOfYear(createLocal(), dow, doy);\n\n weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n // Default to current week.\n week = defaults(w.w, curWeek.week);\n\n if (w.d != null) {\n // weekday -- low day numbers are considered next week\n weekday = w.d;\n if (weekday < 0 || weekday > 6) {\n weekdayOverflow = true;\n }\n } else if (w.e != null) {\n // local weekday -- counting starts from beginning of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to beginning of week\n weekday = dow;\n }\n }\n if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n getParsingFlags(config)._overflowWeeks = true;\n } else if (weekdayOverflow != null) {\n getParsingFlags(config)._overflowWeekday = true;\n } else {\n temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n config._a[YEAR] = temp.year;\n config._dayOfYear = temp.dayOfYear;\n }\n }\n\n // iso 8601 regex\n // 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)\n 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)?)?$/;\n 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)?)?$/;\n\n var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n var isoDates = [\n ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n ['YYYY-DDD', /\\d{4}-\\d{3}/],\n ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n ['YYYYYYMMDD', /[+-]\\d{10}/],\n ['YYYYMMDD', /\\d{8}/],\n // YYYYMM is NOT allowed by the standard\n ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/]\n ];\n\n // iso time formats and regexes\n var isoTimes = [\n ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n ['HH:mm', /\\d\\d:\\d\\d/],\n ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n ['HHmm', /\\d\\d\\d\\d/],\n ['HH', /\\d\\d/]\n ];\n\n var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n // date from iso format\n function configFromISO(config) {\n var i, l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime, dateFormat, timeFormat, tzFormat;\n\n if (match) {\n getParsingFlags(config).iso = true;\n\n for (i = 0, l = isoDates.length; i < l; i++) {\n if (isoDates[i][1].exec(match[1])) {\n dateFormat = isoDates[i][0];\n allowTime = isoDates[i][2] !== false;\n break;\n }\n }\n if (dateFormat == null) {\n config._isValid = false;\n return;\n }\n if (match[3]) {\n for (i = 0, l = isoTimes.length; i < l; i++) {\n if (isoTimes[i][1].exec(match[3])) {\n // match[2] should be 'T' or space\n timeFormat = (match[2] || ' ') + isoTimes[i][0];\n break;\n }\n }\n if (timeFormat == null) {\n config._isValid = false;\n return;\n }\n }\n if (!allowTime && timeFormat != null) {\n config._isValid = false;\n return;\n }\n if (match[4]) {\n if (tzRegex.exec(match[4])) {\n tzFormat = 'Z';\n } else {\n config._isValid = false;\n return;\n }\n }\n config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n configFromStringAndFormat(config);\n } else {\n config._isValid = false;\n }\n }\n\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n var result = [\n untruncateYear(yearStr),\n defaultLocaleMonthsShort.indexOf(monthStr),\n parseInt(dayStr, 10),\n parseInt(hourStr, 10),\n parseInt(minuteStr, 10)\n ];\n\n if (secondStr) {\n result.push(parseInt(secondStr, 10));\n }\n\n return result;\n }\n\n function untruncateYear(yearStr) {\n var year = parseInt(yearStr, 10);\n if (year <= 49) {\n return 2000 + year;\n } else if (year <= 999) {\n return 1900 + year;\n }\n return year;\n }\n\n function preprocessRFC2822(s) {\n // Remove comments and folding whitespace and replace multiple-spaces with a single space\n return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n if (weekdayProvided !== weekdayActual) {\n getParsingFlags(config).weekdayMismatch = true;\n config._isValid = false;\n return false;\n }\n }\n return true;\n }\n\n var obsOffsets = {\n UT: 0,\n GMT: 0,\n EDT: -4 * 60,\n EST: -5 * 60,\n CDT: -5 * 60,\n CST: -6 * 60,\n MDT: -6 * 60,\n MST: -7 * 60,\n PDT: -7 * 60,\n PST: -8 * 60\n };\n\n function calculateOffset(obsOffset, militaryOffset, numOffset) {\n if (obsOffset) {\n return obsOffsets[obsOffset];\n } else if (militaryOffset) {\n // the only allowed military tz is Z\n return 0;\n } else {\n var hm = parseInt(numOffset, 10);\n var m = hm % 100, h = (hm - m) / 100;\n return h * 60 + m;\n }\n }\n\n // date and time from ref 2822 format\n function configFromRFC2822(config) {\n var match = rfc2822.exec(preprocessRFC2822(config._i));\n if (match) {\n var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n if (!checkWeekday(match[1], parsedArray, config)) {\n return;\n }\n\n config._a = parsedArray;\n config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n config._d = createUTCDate.apply(null, config._a);\n config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n getParsingFlags(config).rfc2822 = true;\n } else {\n config._isValid = false;\n }\n }\n\n // date from iso format or fallback\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\n\n if (matched !== null) {\n config._d = new Date(+matched[1]);\n return;\n }\n\n configFromISO(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n configFromRFC2822(config);\n if (config._isValid === false) {\n delete config._isValid;\n } else {\n return;\n }\n\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\n\n hooks.createFromInputFallback = deprecate(\n 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n 'discouraged and will be removed in an upcoming major release. Please refer to ' +\n 'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n function (config) {\n config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n }\n );\n\n // constant that refers to the ISO standard\n hooks.ISO_8601 = function () { };\n\n // constant that refers to the RFC 2822 form\n hooks.RFC_2822 = function () { };\n\n // date from string and format string\n function configFromStringAndFormat(config) {\n // TODO: Move this to another part of the creation flow to prevent circular deps\n if (config._f === hooks.ISO_8601) {\n configFromISO(config);\n return;\n }\n if (config._f === hooks.RFC_2822) {\n configFromRFC2822(config);\n return;\n }\n config._a = [];\n getParsingFlags(config).empty = true;\n\n // This array is used to make a Date, either with `new Date` or `Date.UTC`\n var string = '' + config._i,\n i, parsedInput, tokens, token, skipped,\n stringLength = string.length,\n totalParsedInputLength = 0;\n\n tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n for (i = 0; i < tokens.length; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n // console.log('token', token, 'parsedInput', parsedInput,\n // 'regex', getParseRegexForToken(token, config));\n if (parsedInput) {\n skipped = string.substr(0, string.indexOf(parsedInput));\n if (skipped.length > 0) {\n getParsingFlags(config).unusedInput.push(skipped);\n }\n string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n totalParsedInputLength += parsedInput.length;\n }\n // don't parse if it's not a known token\n if (formatTokenFunctions[token]) {\n if (parsedInput) {\n getParsingFlags(config).empty = false;\n }\n else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\n }\n else if (config._strict && !parsedInput) {\n getParsingFlags(config).unusedTokens.push(token);\n }\n }\n\n // add remaining unparsed input length to the string\n getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n if (string.length > 0) {\n getParsingFlags(config).unusedInput.push(string);\n }\n\n // clear _12h flag if hour is <= 12\n if (config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0) {\n getParsingFlags(config).bigHour = undefined;\n }\n\n getParsingFlags(config).parsedDateParts = config._a.slice(0);\n getParsingFlags(config).meridiem = config._meridiem;\n // handle meridiem\n config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n configFromArray(config);\n checkOverflow(config);\n }\n\n\n function meridiemFixWrap(locale, hour, meridiem) {\n var isPm;\n\n if (meridiem == null) {\n // nothing to do\n return hour;\n }\n if (locale.meridiemHour != null) {\n return locale.meridiemHour(hour, meridiem);\n } else if (locale.isPM != null) {\n // Fallback\n isPm = locale.isPM(meridiem);\n if (isPm && hour < 12) {\n hour += 12;\n }\n if (!isPm && hour === 12) {\n hour = 0;\n }\n return hour;\n } else {\n // this is not supposed to happen\n return hour;\n }\n }\n\n // date from string and array of format strings\n function configFromStringAndArray(config) {\n var tempConfig,\n bestMoment,\n\n scoreToBeat,\n i,\n currentScore;\n\n if (config._f.length === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < config._f.length; i++) {\n currentScore = 0;\n tempConfig = copyConfig({}, config);\n if (config._useUTC != null) {\n tempConfig._useUTC = config._useUTC;\n }\n tempConfig._f = config._f[i];\n configFromStringAndFormat(tempConfig);\n\n if (!isValid(tempConfig)) {\n continue;\n }\n\n // if there is any input that was not parsed add a penalty for that format\n currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n //or tokens\n currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n getParsingFlags(tempConfig).score = currentScore;\n\n if (scoreToBeat == null || currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\n }\n\n extend(config, bestMoment || tempConfig);\n }\n\n function configFromObject(config) {\n if (config._d) {\n return;\n }\n\n var i = normalizeObjectUnits(config._i);\n config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n return obj && parseInt(obj, 10);\n });\n\n configFromArray(config);\n }\n\n function createFromConfig(config) {\n var res = new Moment(checkOverflow(prepareConfig(config)));\n if (res._nextDay) {\n // Adding is smart enough around DST\n res.add(1, 'd');\n res._nextDay = undefined;\n }\n\n return res;\n }\n\n function prepareConfig(config) {\n var input = config._i,\n format = config._f;\n\n config._locale = config._locale || getLocale(config._l);\n\n if (input === null || (format === undefined && input === '')) {\n return createInvalid({ nullInput: true });\n }\n\n if (typeof input === 'string') {\n config._i = input = config._locale.preparse(input);\n }\n\n if (isMoment(input)) {\n return new Moment(checkOverflow(input));\n } else if (isDate(input)) {\n config._d = input;\n } else if (isArray(format)) {\n configFromStringAndArray(config);\n } else if (format) {\n configFromStringAndFormat(config);\n } else {\n configFromInput(config);\n }\n\n if (!isValid(config)) {\n config._d = null;\n }\n\n return config;\n }\n\n function configFromInput(config) {\n var input = config._i;\n if (isUndefined(input)) {\n config._d = new Date(hooks.now());\n } else if (isDate(input)) {\n config._d = new Date(input.valueOf());\n } else if (typeof input === 'string') {\n configFromString(config);\n } else if (isArray(input)) {\n config._a = map(input.slice(0), function (obj) {\n return parseInt(obj, 10);\n });\n configFromArray(config);\n } else if (isObject(input)) {\n configFromObject(config);\n } else if (isNumber(input)) {\n // from milliseconds\n config._d = new Date(input);\n } else {\n hooks.createFromInputFallback(config);\n }\n }\n\n function createLocalOrUTC(input, format, locale, strict, isUTC) {\n var c = {};\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if ((isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)) {\n input = undefined;\n }\n // object construction must be done this way.\n // https://github.com/moment/moment/issues/1423\n c._isAMomentObject = true;\n c._useUTC = c._isUTC = isUTC;\n c._l = locale;\n c._i = input;\n c._f = format;\n c._strict = strict;\n\n return createFromConfig(c);\n }\n\n function createLocal(input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n }\n\n var prototypeMin = deprecate(\n 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other < this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n var prototypeMax = deprecate(\n 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n function () {\n var other = createLocal.apply(null, arguments);\n if (this.isValid() && other.isValid()) {\n return other > this ? this : other;\n } else {\n return createInvalid();\n }\n }\n );\n\n // Pick a moment m from moments so that m[fn](other) is true for all\n // other. This relies on the function fn to be transitive.\n //\n // moments should either be an array of moment objects or an array, whose\n // first element is an array of moment objects.\n function pickBy(fn, moments) {\n var res, i;\n if (moments.length === 1 && isArray(moments[0])) {\n moments = moments[0];\n }\n if (!moments.length) {\n return createLocal();\n }\n res = moments[0];\n for (i = 1; i < moments.length; ++i) {\n if (!moments[i].isValid() || moments[i][fn](res)) {\n res = moments[i];\n }\n }\n return res;\n }\n\n // TODO: Use [].sort instead?\n function min() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n }\n\n function max() {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n }\n\n var now = function () {\n return Date.now ? Date.now() : +(new Date());\n };\n\n var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n function isDurationValid(m) {\n for (var key in m) {\n if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n return false;\n }\n }\n\n var unitHasDecimal = false;\n for (var i = 0; i < ordering.length; ++i) {\n if (m[ordering[i]]) {\n if (unitHasDecimal) {\n return false; // only allow non-integers for smallest unit\n }\n if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n unitHasDecimal = true;\n }\n }\n }\n\n return true;\n }\n\n function isValid$1() {\n return this._isValid;\n }\n\n function createInvalid$1() {\n return createDuration(NaN);\n }\n\n function Duration(duration) {\n var normalizedInput = normalizeObjectUnits(duration),\n years = normalizedInput.year || 0,\n quarters = normalizedInput.quarter || 0,\n months = normalizedInput.month || 0,\n weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n days = normalizedInput.day || 0,\n hours = normalizedInput.hour || 0,\n minutes = normalizedInput.minute || 0,\n seconds = normalizedInput.second || 0,\n milliseconds = normalizedInput.millisecond || 0;\n\n this._isValid = isDurationValid(normalizedInput);\n\n // representation for dateAddRemove\n this._milliseconds = +milliseconds +\n seconds * 1e3 + // 1000\n minutes * 6e4 + // 1000 * 60\n hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n // Because of dateAddRemove treats 24 hours as different from a\n // day when working around DST, we need to store them separately\n this._days = +days +\n weeks * 7;\n // It is impossible to translate months into days without knowing\n // which months you are are talking about, so we have to store\n // it separately.\n this._months = +months +\n quarters * 3 +\n years * 12;\n\n this._data = {};\n\n this._locale = getLocale();\n\n this._bubble();\n }\n\n function isDuration(obj) {\n return obj instanceof Duration;\n }\n\n function absRound(number) {\n if (number < 0) {\n return Math.round(-1 * number) * -1;\n } else {\n return Math.round(number);\n }\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset();\n var sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n });\n }\n\n offset('Z', ':');\n offset('ZZ', '');\n\n // PARSING\n\n addRegexToken('Z', matchShortOffset);\n addRegexToken('ZZ', matchShortOffset);\n addParseToken(['Z', 'ZZ'], function (input, array, config) {\n config._useUTC = true;\n config._tzm = offsetFromString(matchShortOffset, input);\n });\n\n // HELPERS\n\n // timezone chunker\n // '+10:00' > ['10', '00']\n // '-1530' > ['-15', '30']\n var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n function offsetFromString(matcher, string) {\n var matches = (string || '').match(matcher);\n\n if (matches === null) {\n return null;\n }\n\n var chunk = matches[matches.length - 1] || [];\n var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ?\n 0 :\n parts[0] === '+' ? minutes : -minutes;\n }\n\n // Return a moment from input, that is local/utc/zone equivalent to model.\n function cloneWithOffset(input, model) {\n var res, diff;\n if (model._isUTC) {\n res = model.clone();\n diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n // Use low-level api, because this fn is low-level api.\n res._d.setTime(res._d.valueOf() + diff);\n hooks.updateOffset(res, false);\n return res;\n } else {\n return createLocal(input).local();\n }\n }\n\n function getDateOffset(m) {\n // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n // https://github.com/moment/moment/pull/1871\n return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n }\n\n // HOOKS\n\n // This function will be called whenever a moment is mutated.\n // It is intended to keep the offset in sync with the timezone.\n hooks.updateOffset = function () { };\n\n // MOMENTS\n\n // keepLocalTime = true means only change the timezone, without\n // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n // +0200, so we adjust the time as needed, to be valid.\n //\n // Keeping the time actually adds/subtracts (one hour)\n // from the actual represented time. That is why we call updateOffset\n // a second time. In case it wants us to change the offset again\n // _changeInProgress == true case, then we have to adjust, because\n // there is no such time in the given timezone.\n function getSetOffset(input, keepLocalTime, keepMinutes) {\n var offset = this._offset || 0,\n localAdjust;\n if (!this.isValid()) {\n return input != null ? this : NaN;\n }\n if (input != null) {\n if (typeof input === 'string') {\n input = offsetFromString(matchShortOffset, input);\n if (input === null) {\n return this;\n }\n } else if (Math.abs(input) < 16 && !keepMinutes) {\n input = input * 60;\n }\n if (!this._isUTC && keepLocalTime) {\n localAdjust = getDateOffset(this);\n }\n this._offset = input;\n this._isUTC = true;\n if (localAdjust != null) {\n this.add(localAdjust, 'm');\n }\n if (offset !== input) {\n if (!keepLocalTime || this._changeInProgress) {\n addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n } else if (!this._changeInProgress) {\n this._changeInProgress = true;\n hooks.updateOffset(this, true);\n this._changeInProgress = null;\n }\n }\n return this;\n } else {\n return this._isUTC ? offset : getDateOffset(this);\n }\n }\n\n function getSetZone(input, keepLocalTime) {\n if (input != null) {\n if (typeof input !== 'string') {\n input = -input;\n }\n\n this.utcOffset(input, keepLocalTime);\n\n return this;\n } else {\n return -this.utcOffset();\n }\n }\n\n function setOffsetToUTC(keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n }\n\n function setOffsetToLocal(keepLocalTime) {\n if (this._isUTC) {\n this.utcOffset(0, keepLocalTime);\n this._isUTC = false;\n\n if (keepLocalTime) {\n this.subtract(getDateOffset(this), 'm');\n }\n }\n return this;\n }\n\n function setOffsetToParsedOffset() {\n if (this._tzm != null) {\n this.utcOffset(this._tzm, false, true);\n } else if (typeof this._i === 'string') {\n var tZone = offsetFromString(matchOffset, this._i);\n if (tZone != null) {\n this.utcOffset(tZone);\n }\n else {\n this.utcOffset(0, true);\n }\n }\n return this;\n }\n\n function hasAlignedHourOffset(input) {\n if (!this.isValid()) {\n return false;\n }\n input = input ? createLocal(input).utcOffset() : 0;\n\n return (this.utcOffset() - input) % 60 === 0;\n }\n\n function isDaylightSavingTime() {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n }\n\n function isDaylightSavingTimeShifted() {\n if (!isUndefined(this._isDSTShifted)) {\n return this._isDSTShifted;\n }\n\n var c = {};\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted = this.isValid() &&\n compareArrays(c._a, other.toArray()) > 0;\n } else {\n this._isDSTShifted = false;\n }\n\n return this._isDSTShifted;\n }\n\n function isLocal() {\n return this.isValid() ? !this._isUTC : false;\n }\n\n function isUtcOffset() {\n return this.isValid() ? this._isUTC : false;\n }\n\n function isUtc() {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n }\n\n // ASP.NET json date format regex\n var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n // and further modified to allow for strings containing both week and day\n 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)?)?$/;\n\n function createDuration(input, key) {\n var duration = input,\n // matching against regexp is expensive, do it on demand\n match = null,\n sign,\n ret,\n diffRes;\n\n if (isDuration(input)) {\n duration = {\n ms: input._milliseconds,\n d: input._days,\n M: input._months\n };\n } else if (isNumber(input)) {\n duration = {};\n if (key) {\n duration[key] = input;\n } else {\n duration.milliseconds = input;\n }\n } else if (!!(match = aspNetRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y: 0,\n d: toInt(match[DATE]) * sign,\n h: toInt(match[HOUR]) * sign,\n m: toInt(match[MINUTE]) * sign,\n s: toInt(match[SECOND]) * sign,\n ms: toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n };\n } else if (!!(match = isoRegex.exec(input))) {\n sign = (match[1] === '-') ? -1 : 1;\n duration = {\n y: parseIso(match[2], sign),\n M: parseIso(match[3], sign),\n w: parseIso(match[4], sign),\n d: parseIso(match[5], sign),\n h: parseIso(match[6], sign),\n m: parseIso(match[7], sign),\n s: parseIso(match[8], sign)\n };\n } else if (duration == null) {// checks for null or undefined\n duration = {};\n } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n duration = {};\n duration.ms = diffRes.milliseconds;\n duration.M = diffRes.months;\n }\n\n ret = new Duration(duration);\n\n if (isDuration(input) && hasOwnProp(input, '_locale')) {\n ret._locale = input._locale;\n }\n\n return ret;\n }\n\n createDuration.fn = Duration.prototype;\n createDuration.invalid = createInvalid$1;\n\n function parseIso(inp, sign) {\n // We'd normally use ~~inp for this, but unfortunately it also\n // converts floats to ints.\n // inp may be undefined, so careful calling replace on it.\n var res = inp && parseFloat(inp.replace(',', '.'));\n // apply sign while we're at it\n return (isNaN(res) ? 0 : res) * sign;\n }\n\n function positiveMomentsDifference(base, other) {\n var res = {};\n\n res.months = other.month() - base.month() +\n (other.year() - base.year()) * 12;\n if (base.clone().add(res.months, 'M').isAfter(other)) {\n --res.months;\n }\n\n res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n return res;\n }\n\n function momentsDifference(base, other) {\n var res;\n if (!(base.isValid() && other.isValid())) {\n return { milliseconds: 0, months: 0 };\n }\n\n other = cloneWithOffset(other, base);\n if (base.isBefore(other)) {\n res = positiveMomentsDifference(base, other);\n } else {\n res = positiveMomentsDifference(other, base);\n res.milliseconds = -res.milliseconds;\n res.months = -res.months;\n }\n\n return res;\n }\n\n // TODO: remove 'name' arg after deprecation is removed\n function createAdder(direction, name) {\n return function (val, period) {\n var dur, tmp;\n //invert the arguments, but complain about it\n if (period !== null && !isNaN(+period)) {\n deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n tmp = val; val = period; period = tmp;\n }\n\n val = typeof val === 'string' ? +val : val;\n dur = createDuration(val, period);\n addSubtract(this, dur, direction);\n return this;\n };\n }\n\n function addSubtract(mom, duration, isAdding, updateOffset) {\n var milliseconds = duration._milliseconds,\n days = absRound(duration._days),\n months = absRound(duration._months);\n\n if (!mom.isValid()) {\n // No op\n return;\n }\n\n updateOffset = updateOffset == null ? true : updateOffset;\n\n if (months) {\n setMonth(mom, get(mom, 'Month') + months * isAdding);\n }\n if (days) {\n set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n }\n if (milliseconds) {\n mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n }\n if (updateOffset) {\n hooks.updateOffset(mom, days || months);\n }\n }\n\n var add = createAdder(1, 'add');\n var subtract = createAdder(-1, 'subtract');\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6 ? 'sameElse' :\n diff < -1 ? 'lastWeek' :\n diff < 0 ? 'lastDay' :\n diff < 1 ? 'sameDay' :\n diff < 2 ? 'nextDay' :\n diff < 7 ? 'nextWeek' : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // We want to compare the start of today, vs this.\n // Getting start-of-today depends on whether we're local/utc/offset or not.\n var now = time || createLocal(),\n sod = cloneWithOffset(now, this).startOf('day'),\n format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n }\n\n function clone() {\n return new Moment(this);\n }\n\n function isAfter(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() > localInput.valueOf();\n } else {\n return localInput.valueOf() < this.clone().startOf(units).valueOf();\n }\n }\n\n function isBefore(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() < localInput.valueOf();\n } else {\n return this.clone().endOf(units).valueOf() < localInput.valueOf();\n }\n }\n\n function isBetween(from, to, units, inclusivity) {\n var localFrom = isMoment(from) ? from : createLocal(from),\n localTo = isMoment(to) ? to : createLocal(to);\n if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n return false;\n }\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n }\n\n function isSame(input, units) {\n var localInput = isMoment(input) ? input : createLocal(input),\n inputMs;\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(units) || 'millisecond';\n if (units === 'millisecond') {\n return this.valueOf() === localInput.valueOf();\n } else {\n inputMs = localInput.valueOf();\n return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n }\n }\n\n function isSameOrAfter(input, units) {\n return this.isSame(input, units) || this.isAfter(input, units);\n }\n\n function isSameOrBefore(input, units) {\n return this.isSame(input, units) || this.isBefore(input, units);\n }\n\n function diff(input, units, asFloat) {\n var that,\n zoneDelta,\n output;\n\n if (!this.isValid()) {\n return NaN;\n }\n\n that = cloneWithOffset(input, this);\n\n if (!that.isValid()) {\n return NaN;\n }\n\n zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n units = normalizeUnits(units);\n\n switch (units) {\n case 'year': output = monthDiff(this, that) / 12; break;\n case 'month': output = monthDiff(this, that); break;\n case 'quarter': output = monthDiff(this, that) / 3; break;\n case 'second': output = (this - that) / 1e3; break; // 1000\n case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default: output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n // difference in months\n var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n // b is in (anchor - 1 month, anchor + 1 month)\n anchor = a.clone().add(wholeMonthDiff, 'months'),\n anchor2, adjust;\n\n if (b - anchor < 0) {\n anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor - anchor2);\n } else {\n anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n // linear across the month\n adjust = (b - anchor) / (anchor2 - anchor);\n }\n\n //check for negative zero, return zero if negative zero\n return -(wholeMonthDiff + adjust) || 0;\n }\n\n hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n function toString() {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n }\n\n function toISOString(keepOffset) {\n if (!this.isValid()) {\n return null;\n }\n var utc = keepOffset !== true;\n var m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n if (isFunction(Date.prototype.toISOString)) {\n // native implementation is ~50x faster, use it when we can\n if (utc) {\n return this.toDate().toISOString();\n } else {\n return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n }\n\n /**\n * Return a human readable representation of a moment that can\n * also be evaluated to get a new moment which is the same\n *\n * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n */\n function inspect() {\n if (!this.isValid()) {\n return 'moment.invalid(/* ' + this._i + ' */)';\n }\n var func = 'moment';\n var zone = '';\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n var prefix = '[' + func + '(\"]';\n var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n var suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({ to: this, from: time }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function fromNow(withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n }\n\n function to(time, withoutSuffix) {\n if (this.isValid() &&\n ((isMoment(time) && time.isValid()) ||\n createLocal(time).isValid())) {\n return createDuration({ from: this, to: time }).locale(this.locale()).humanize(!withoutSuffix);\n } else {\n return this.localeData().invalidDate();\n }\n }\n\n function toNow(withoutSuffix) {\n return this.to(createLocal(), withoutSuffix);\n }\n\n // If passed a locale key, it will set the locale for this\n // instance. Otherwise, it will return the locale configuration\n // variables for this instance.\n function locale(key) {\n var newLocaleData;\n\n if (key === undefined) {\n return this._locale._abbr;\n } else {\n newLocaleData = getLocale(key);\n if (newLocaleData != null) {\n this._locale = newLocaleData;\n }\n return this;\n }\n }\n\n var lang = deprecate(\n 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n function (key) {\n if (key === undefined) {\n return this.localeData();\n } else {\n return this.locale(key);\n }\n }\n );\n\n function localeData() {\n return this._locale;\n }\n\n var MS_PER_SECOND = 1000;\n var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n // actual modulo - handles negative numbers (for dates before 1970):\n function mod$1(dividend, divisor) {\n return (dividend % divisor + divisor) % divisor;\n }\n\n function localStartOfDate(y, m, d) {\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return new Date(y, m, d).valueOf();\n }\n }\n\n function utcStartOfDate(y, m, d) {\n // Date.UTC remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n // preserve leap years using a full 400 year cycle, then reset\n return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n } else {\n return Date.UTC(y, m, d);\n }\n }\n\n function startOf(units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year(), 0, 1);\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date());\n break;\n case 'hour':\n time = this._d.valueOf();\n time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n break;\n case 'minute':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_MINUTE);\n break;\n case 'second':\n time = this._d.valueOf();\n time -= mod$1(time, MS_PER_SECOND);\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function endOf(units) {\n var time;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n switch (units) {\n case 'year':\n time = startOfDate(this.year() + 1, 0, 1) - 1;\n break;\n case 'quarter':\n time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n break;\n case 'isoWeek':\n time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n break;\n case 'day':\n case 'date':\n time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n break;\n case 'hour':\n time = this._d.valueOf();\n time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n break;\n case 'minute':\n time = this._d.valueOf();\n time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n break;\n case 'second':\n time = this._d.valueOf();\n time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n break;\n }\n\n this._d.setTime(time);\n hooks.updateOffset(this, true);\n return this;\n }\n\n function valueOf() {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n }\n\n function unix() {\n return Math.floor(this.valueOf() / 1000);\n }\n\n function toDate() {\n return new Date(this.valueOf());\n }\n\n function toArray() {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n }\n\n function toObject() {\n var m = this;\n return {\n years: m.year(),\n months: m.month(),\n date: m.date(),\n hours: m.hours(),\n minutes: m.minutes(),\n seconds: m.seconds(),\n milliseconds: m.milliseconds()\n };\n }\n\n function toJSON() {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n }\n\n function isValid$2() {\n return isValid(this);\n }\n\n function parsingFlags() {\n return extend({}, getParsingFlags(this));\n }\n\n function invalidAt() {\n return getParsingFlags(this).overflow;\n }\n\n function creationData() {\n return {\n input: this._i,\n format: this._f,\n locale: this._locale,\n isUTC: this._isUTC,\n strict: this._strict\n };\n }\n\n // FORMATTING\n\n addFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n });\n\n addFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n });\n\n function addWeekYearFormatToken(token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n }\n\n addWeekYearFormatToken('gggg', 'weekYear');\n addWeekYearFormatToken('ggggg', 'weekYear');\n addWeekYearFormatToken('GGGG', 'isoWeekYear');\n addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n // ALIASES\n\n addUnitAlias('weekYear', 'gg');\n addUnitAlias('isoWeekYear', 'GG');\n\n // PRIORITY\n\n addUnitPriority('weekYear', 1);\n addUnitPriority('isoWeekYear', 1);\n\n\n // PARSING\n\n addRegexToken('G', matchSigned);\n addRegexToken('g', matchSigned);\n addRegexToken('GG', match1to2, match2);\n addRegexToken('gg', match1to2, match2);\n addRegexToken('GGGG', match1to4, match4);\n addRegexToken('gggg', match1to4, match4);\n addRegexToken('GGGGG', match1to6, match6);\n addRegexToken('ggggg', match1to6, match6);\n\n addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n });\n\n addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n });\n\n // MOMENTS\n\n function getSetWeekYear(input) {\n return getSetWeekYearHelper.call(this,\n input,\n this.week(),\n this.weekday(),\n this.localeData()._week.dow,\n this.localeData()._week.doy);\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getWeeksInYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n }\n\n function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n var weeksTarget;\n if (input == null) {\n return weekOfYear(this, dow, doy).year;\n } else {\n weeksTarget = weeksInYear(input, dow, doy);\n if (week > weeksTarget) {\n week = weeksTarget;\n }\n return setWeekAll.call(this, input, week, weekday, dow, doy);\n }\n }\n\n function setWeekAll(weekYear, week, weekday, dow, doy) {\n var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n this.year(date.getUTCFullYear());\n this.month(date.getUTCMonth());\n this.date(date.getUTCDate());\n return this;\n }\n\n // FORMATTING\n\n addFormatToken('Q', 0, 'Qo', 'quarter');\n\n // ALIASES\n\n addUnitAlias('quarter', 'Q');\n\n // PRIORITY\n\n addUnitPriority('quarter', 7);\n\n // PARSING\n\n addRegexToken('Q', match1);\n addParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n });\n\n // MOMENTS\n\n function getSetQuarter(input) {\n return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // ALIASES\n\n addUnitAlias('date', 'D');\n\n // PRIORITY\n addUnitPriority('date', 9);\n\n // PARSING\n\n addRegexToken('D', match1to2);\n addRegexToken('DD', match1to2, match2);\n addRegexToken('Do', function (isStrict, locale) {\n // TODO: Remove \"ordinalParse\" fallback in next major release.\n return isStrict ?\n (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n locale._dayOfMonthOrdinalParseLenient;\n });\n\n addParseToken(['D', 'DD'], DATE);\n addParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n });\n\n // MOMENTS\n\n var getSetDayOfMonth = makeGetSet('Date', true);\n\n // FORMATTING\n\n addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n // ALIASES\n\n addUnitAlias('dayOfYear', 'DDD');\n\n // PRIORITY\n addUnitPriority('dayOfYear', 4);\n\n // PARSING\n\n addRegexToken('DDD', match1to3);\n addRegexToken('DDDD', match3);\n addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n });\n\n // HELPERS\n\n // MOMENTS\n\n function getSetDayOfYear(input) {\n var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n }\n\n // FORMATTING\n\n addFormatToken('m', ['mm', 2], 0, 'minute');\n\n // ALIASES\n\n addUnitAlias('minute', 'm');\n\n // PRIORITY\n\n addUnitPriority('minute', 14);\n\n // PARSING\n\n addRegexToken('m', match1to2);\n addRegexToken('mm', match1to2, match2);\n addParseToken(['m', 'mm'], MINUTE);\n\n // MOMENTS\n\n var getSetMinute = makeGetSet('Minutes', false);\n\n // FORMATTING\n\n addFormatToken('s', ['ss', 2], 0, 'second');\n\n // ALIASES\n\n addUnitAlias('second', 's');\n\n // PRIORITY\n\n addUnitPriority('second', 15);\n\n // PARSING\n\n addRegexToken('s', match1to2);\n addRegexToken('ss', match1to2, match2);\n addParseToken(['s', 'ss'], SECOND);\n\n // MOMENTS\n\n var getSetSecond = makeGetSet('Seconds', false);\n\n // FORMATTING\n\n addFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n });\n\n addFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n });\n\n addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n addFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n });\n addFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n });\n addFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n });\n addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n });\n addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n });\n addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n });\n\n\n // ALIASES\n\n addUnitAlias('millisecond', 'ms');\n\n // PRIORITY\n\n addUnitPriority('millisecond', 16);\n\n // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token;\n for (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n }\n\n function parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n }\n\n for (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n }\n // MOMENTS\n\n var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n // FORMATTING\n\n addFormatToken('z', 0, 0, 'zoneAbbr');\n addFormatToken('zz', 0, 0, 'zoneName');\n\n // MOMENTS\n\n function getZoneAbbr() {\n return this._isUTC ? 'UTC' : '';\n }\n\n function getZoneName() {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n }\n\n var proto = Moment.prototype;\n\n proto.add = add;\n proto.calendar = calendar$1;\n proto.clone = clone;\n proto.diff = diff;\n proto.endOf = endOf;\n proto.format = format;\n proto.from = from;\n proto.fromNow = fromNow;\n proto.to = to;\n proto.toNow = toNow;\n proto.get = stringGet;\n proto.invalidAt = invalidAt;\n proto.isAfter = isAfter;\n proto.isBefore = isBefore;\n proto.isBetween = isBetween;\n proto.isSame = isSame;\n proto.isSameOrAfter = isSameOrAfter;\n proto.isSameOrBefore = isSameOrBefore;\n proto.isValid = isValid$2;\n proto.lang = lang;\n proto.locale = locale;\n proto.localeData = localeData;\n proto.max = prototypeMax;\n proto.min = prototypeMin;\n proto.parsingFlags = parsingFlags;\n proto.set = stringSet;\n proto.startOf = startOf;\n proto.subtract = subtract;\n proto.toArray = toArray;\n proto.toObject = toObject;\n proto.toDate = toDate;\n proto.toISOString = toISOString;\n proto.inspect = inspect;\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.year = getSetYear;\n proto.isLeapYear = getIsLeapYear;\n proto.weekYear = getSetWeekYear;\n proto.isoWeekYear = getSetISOWeekYear;\n proto.quarter = proto.quarters = getSetQuarter;\n proto.month = getSetMonth;\n proto.daysInMonth = getDaysInMonth;\n proto.week = proto.weeks = getSetWeek;\n proto.isoWeek = proto.isoWeeks = getSetISOWeek;\n proto.weeksInYear = getWeeksInYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.date = getSetDayOfMonth;\n proto.day = proto.days = getSetDayOfWeek;\n proto.weekday = getSetLocaleDayOfWeek;\n proto.isoWeekday = getSetISODayOfWeek;\n proto.dayOfYear = getSetDayOfYear;\n proto.hour = proto.hours = getSetHour;\n proto.minute = proto.minutes = getSetMinute;\n proto.second = proto.seconds = getSetSecond;\n proto.millisecond = proto.milliseconds = getSetMillisecond;\n proto.utcOffset = getSetOffset;\n proto.utc = setOffsetToUTC;\n proto.local = setOffsetToLocal;\n proto.parseZone = setOffsetToParsedOffset;\n proto.hasAlignedHourOffset = hasAlignedHourOffset;\n proto.isDST = isDaylightSavingTime;\n proto.isLocal = isLocal;\n proto.isUtcOffset = isUtcOffset;\n proto.isUtc = isUtc;\n proto.isUTC = isUtc;\n proto.zoneAbbr = getZoneAbbr;\n proto.zoneName = getZoneName;\n proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n function createUnix(input) {\n return createLocal(input * 1000);\n }\n\n function createInZone() {\n return createLocal.apply(null, arguments).parseZone();\n }\n\n function preParsePostFormat(string) {\n return string;\n }\n\n var proto$1 = Locale.prototype;\n\n proto$1.calendar = calendar;\n proto$1.longDateFormat = longDateFormat;\n proto$1.invalidDate = invalidDate;\n proto$1.ordinal = ordinal;\n proto$1.preparse = preParsePostFormat;\n proto$1.postformat = preParsePostFormat;\n proto$1.relativeTime = relativeTime;\n proto$1.pastFuture = pastFuture;\n proto$1.set = set;\n\n proto$1.months = localeMonths;\n proto$1.monthsShort = localeMonthsShort;\n proto$1.monthsParse = localeMonthsParse;\n proto$1.monthsRegex = monthsRegex;\n proto$1.monthsShortRegex = monthsShortRegex;\n proto$1.week = localeWeek;\n proto$1.firstDayOfYear = localeFirstDayOfYear;\n proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n proto$1.weekdays = localeWeekdays;\n proto$1.weekdaysMin = localeWeekdaysMin;\n proto$1.weekdaysShort = localeWeekdaysShort;\n proto$1.weekdaysParse = localeWeekdaysParse;\n\n proto$1.weekdaysRegex = weekdaysRegex;\n proto$1.weekdaysShortRegex = weekdaysShortRegex;\n proto$1.weekdaysMinRegex = weekdaysMinRegex;\n\n proto$1.isPM = localeIsPM;\n proto$1.meridiem = localeMeridiem;\n\n function get$1(format, index, field, setter) {\n var locale = getLocale();\n var utc = createUTC().set(setter, index);\n return locale[field](utc, format);\n }\n\n function listMonthsImpl(format, index, field) {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n\n if (index != null) {\n return get$1(format, index, field, 'month');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 12; i++) {\n out[i] = get$1(format, i, field, 'month');\n }\n return out;\n }\n\n // ()\n // (5)\n // (fmt, 5)\n // (fmt)\n // (true)\n // (true, 5)\n // (true, fmt, 5)\n // (true, fmt)\n function listWeekdaysImpl(localeSorted, format, index, field) {\n if (typeof localeSorted === 'boolean') {\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n } else {\n format = localeSorted;\n index = format;\n localeSorted = false;\n\n if (isNumber(format)) {\n index = format;\n format = undefined;\n }\n\n format = format || '';\n }\n\n var locale = getLocale(),\n shift = localeSorted ? locale._week.dow : 0;\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\n var i;\n var out = [];\n for (i = 0; i < 7; i++) {\n out[i] = get$1(format, (i + shift) % 7, field, 'day');\n }\n return out;\n }\n\n function listMonths(format, index) {\n return listMonthsImpl(format, index, 'months');\n }\n\n function listMonthsShort(format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n }\n\n function listWeekdays(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n }\n\n function listWeekdaysShort(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n }\n\n function listWeekdaysMin(localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n }\n\n getSetGlobalLocale('en', {\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (toInt(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n // Side effect imports\n\n hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n var mathAbs = Math.abs;\n\n function abs() {\n var data = this._data;\n\n this._milliseconds = mathAbs(this._milliseconds);\n this._days = mathAbs(this._days);\n this._months = mathAbs(this._months);\n\n data.milliseconds = mathAbs(data.milliseconds);\n data.seconds = mathAbs(data.seconds);\n data.minutes = mathAbs(data.minutes);\n data.hours = mathAbs(data.hours);\n data.months = mathAbs(data.months);\n data.years = mathAbs(data.years);\n\n return this;\n }\n\n function addSubtract$1(duration, input, value, direction) {\n var other = createDuration(input, value);\n\n duration._milliseconds += direction * other._milliseconds;\n duration._days += direction * other._days;\n duration._months += direction * other._months;\n\n return duration._bubble();\n }\n\n // supports only 2.0-style add(1, 's') or add(duration)\n function add$1(input, value) {\n return addSubtract$1(this, input, value, 1);\n }\n\n // supports only 2.0-style subtract(1, 's') or subtract(duration)\n function subtract$1(input, value) {\n return addSubtract$1(this, input, value, -1);\n }\n\n function absCeil(number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n }\n\n function bubble() {\n var milliseconds = this._milliseconds;\n var days = this._days;\n var months = this._months;\n var data = this._data;\n var seconds, minutes, hours, years, monthsFromDays;\n\n // if we have a mix of positive and negative values, bubble down first\n // check: https://github.com/moment/moment/issues/2166\n if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0))) {\n milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n days = 0;\n months = 0;\n }\n\n // The following code bubbles up values, see the tests for\n // examples of what that means.\n data.milliseconds = milliseconds % 1000;\n\n seconds = absFloor(milliseconds / 1000);\n data.seconds = seconds % 60;\n\n minutes = absFloor(seconds / 60);\n data.minutes = minutes % 60;\n\n hours = absFloor(minutes / 60);\n data.hours = hours % 24;\n\n days += absFloor(hours / 24);\n\n // convert days to months\n monthsFromDays = absFloor(daysToMonths(days));\n months += monthsFromDays;\n days -= absCeil(monthsToDays(monthsFromDays));\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n data.days = days;\n data.months = months;\n data.years = years;\n\n return this;\n }\n\n function daysToMonths(days) {\n // 400 years have 146097 days (taking into account leap year rules)\n // 400 years have 12 months === 4800\n return days * 4800 / 146097;\n }\n\n function monthsToDays(months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n }\n\n function as(units) {\n if (!this.isValid()) {\n return NaN;\n }\n var days;\n var months;\n var milliseconds = this._milliseconds;\n\n units = normalizeUnits(units);\n\n if (units === 'month' || units === 'quarter' || units === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n switch (units) {\n case 'month': return months;\n case 'quarter': return months / 3;\n case 'year': return months / 12;\n }\n } else {\n // handle milliseconds separately because of floating point math errors (issue #1867)\n days = this._days + Math.round(monthsToDays(this._months));\n switch (units) {\n case 'week': return days / 7 + milliseconds / 6048e5;\n case 'day': return days + milliseconds / 864e5;\n case 'hour': return days * 24 + milliseconds / 36e5;\n case 'minute': return days * 1440 + milliseconds / 6e4;\n case 'second': return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n default: throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n // TODO: Use this.as('ms')?\n function valueOf$1() {\n if (!this.isValid()) {\n return NaN;\n }\n return (\n this._milliseconds +\n this._days * 864e5 +\n (this._months % 12) * 2592e6 +\n toInt(this._months / 12) * 31536e6\n );\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms');\n var asSeconds = makeAs('s');\n var asMinutes = makeAs('m');\n var asHours = makeAs('h');\n var asDays = makeAs('d');\n var asWeeks = makeAs('w');\n var asMonths = makeAs('M');\n var asQuarters = makeAs('Q');\n var asYears = makeAs('y');\n\n function clone$1() {\n return createDuration(this);\n }\n\n function get$2(units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n }\n\n function makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n }\n\n var milliseconds = makeGetter('milliseconds');\n var seconds = makeGetter('seconds');\n var minutes = makeGetter('minutes');\n var hours = makeGetter('hours');\n var days = makeGetter('days');\n var months = makeGetter('months');\n var years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round;\n var thresholds = {\n ss: 44, // a few seconds to seconds\n s: 45, // seconds to minute\n m: 45, // minutes to hour\n h: 22, // hours to day\n d: 26, // days to month\n M: 11 // months to year\n };\n\n // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n }\n\n function relativeTime$1(posNegDuration, withoutSuffix, locale) {\n var duration = createDuration(posNegDuration).abs();\n var seconds = round(duration.as('s'));\n var minutes = round(duration.as('m'));\n var hours = round(duration.as('h'));\n var days = round(duration.as('d'));\n var months = round(duration.as('M'));\n var years = round(duration.as('y'));\n\n var a = seconds <= thresholds.ss && ['s', seconds] ||\n seconds < thresholds.s && ['ss', seconds] ||\n minutes <= 1 && ['m'] ||\n minutes < thresholds.m && ['mm', minutes] ||\n hours <= 1 && ['h'] ||\n hours < thresholds.h && ['hh', hours] ||\n days <= 1 && ['d'] ||\n days < thresholds.d && ['dd', days] ||\n months <= 1 && ['M'] ||\n months < thresholds.M && ['MM', months] ||\n years <= 1 && ['y'] || ['yy', years];\n\n a[2] = withoutSuffix;\n a[3] = +posNegDuration > 0;\n a[4] = locale;\n return substituteTimeAgo.apply(null, a);\n }\n\n // This function allows you to set the rounding function for relative time strings\n function getSetRelativeTimeRounding(roundingFunction) {\n if (roundingFunction === undefined) {\n return round;\n }\n if (typeof (roundingFunction) === 'function') {\n round = roundingFunction;\n return true;\n }\n return false;\n }\n\n // This function allows you to set a threshold for relative time strings\n function getSetRelativeTimeThreshold(threshold, limit) {\n if (thresholds[threshold] === undefined) {\n return false;\n }\n if (limit === undefined) {\n return thresholds[threshold];\n }\n thresholds[threshold] = limit;\n if (threshold === 's') {\n thresholds.ss = limit - 1;\n }\n return true;\n }\n\n function humanize(withSuffix) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var locale = this.localeData();\n var output = relativeTime$1(this, !withSuffix, locale);\n\n if (withSuffix) {\n output = locale.pastFuture(+this, output);\n }\n\n return locale.postformat(output);\n }\n\n var abs$1 = Math.abs;\n\n function sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n }\n\n function toISOString$1() {\n // for ISO strings we do not use the normal bubbling rules:\n // * milliseconds bubble up until they become hours\n // * days do not bubble at all\n // * months bubble up until they become years\n // This is because there is no context-free conversion between hours and days\n // (think of clock changes)\n // and also not between days and months (28-31 days per month)\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var seconds = abs$1(this._milliseconds) / 1000;\n var days = abs$1(this._days);\n var months = abs$1(this._months);\n var minutes, hours, years;\n\n // 3600 seconds -> 60 minutes -> 1 hour\n minutes = absFloor(seconds / 60);\n hours = absFloor(minutes / 60);\n seconds %= 60;\n minutes %= 60;\n\n // 12 months -> 1 year\n years = absFloor(months / 12);\n months %= 12;\n\n\n // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n var Y = years;\n var M = months;\n var D = days;\n var h = hours;\n var m = minutes;\n var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n var total = this.asSeconds();\n\n if (!total) {\n // this is the same as C#'s (Noda) and python (isodate)...\n // but not other JS (goog.date)\n return 'P0D';\n }\n\n var totalSign = total < 0 ? '-' : '';\n var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return totalSign + 'P' +\n (Y ? ymSign + Y + 'Y' : '') +\n (M ? ymSign + M + 'M' : '') +\n (D ? daysSign + D + 'D' : '') +\n ((h || m || s) ? 'T' : '') +\n (h ? hmsSign + h + 'H' : '') +\n (m ? hmsSign + m + 'M' : '') +\n (s ? hmsSign + s + 'S' : '');\n }\n\n var proto$2 = Duration.prototype;\n\n proto$2.isValid = isValid$1;\n proto$2.abs = abs;\n proto$2.add = add$1;\n proto$2.subtract = subtract$1;\n proto$2.as = as;\n proto$2.asMilliseconds = asMilliseconds;\n proto$2.asSeconds = asSeconds;\n proto$2.asMinutes = asMinutes;\n proto$2.asHours = asHours;\n proto$2.asDays = asDays;\n proto$2.asWeeks = asWeeks;\n proto$2.asMonths = asMonths;\n proto$2.asQuarters = asQuarters;\n proto$2.asYears = asYears;\n proto$2.valueOf = valueOf$1;\n proto$2._bubble = bubble;\n proto$2.clone = clone$1;\n proto$2.get = get$2;\n proto$2.milliseconds = milliseconds;\n proto$2.seconds = seconds;\n proto$2.minutes = minutes;\n proto$2.hours = hours;\n proto$2.days = days;\n proto$2.weeks = weeks;\n proto$2.months = months;\n proto$2.years = years;\n proto$2.humanize = humanize;\n proto$2.toISOString = toISOString$1;\n proto$2.toString = toISOString$1;\n proto$2.toJSON = toISOString$1;\n proto$2.locale = locale;\n proto$2.localeData = localeData;\n\n proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n proto$2.lang = lang;\n\n // Side effect imports\n\n // FORMATTING\n\n addFormatToken('X', 0, 0, 'unix');\n addFormatToken('x', 0, 0, 'valueOf');\n\n // PARSING\n\n addRegexToken('x', matchSigned);\n addRegexToken('X', matchTimestamp);\n addParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n // Side effect imports\n\n //! moment.js\n\n hooks.version = '2.24.0';\n\n setHookCallback(createLocal);\n\n hooks.fn = proto;\n hooks.min = min;\n hooks.max = max;\n hooks.now = now;\n hooks.utc = createUTC;\n hooks.unix = createUnix;\n hooks.months = listMonths;\n hooks.isDate = isDate;\n hooks.locale = getSetGlobalLocale;\n hooks.invalid = createInvalid;\n hooks.duration = createDuration;\n hooks.isMoment = isMoment;\n hooks.weekdays = listWeekdays;\n hooks.parseZone = createInZone;\n hooks.localeData = getLocale;\n hooks.isDuration = isDuration;\n hooks.monthsShort = listMonthsShort;\n hooks.weekdaysMin = listWeekdaysMin;\n hooks.defineLocale = defineLocale;\n hooks.updateLocale = updateLocale;\n hooks.locales = listLocales;\n hooks.weekdaysShort = listWeekdaysShort;\n hooks.normalizeUnits = normalizeUnits;\n hooks.relativeTimeRounding = getSetRelativeTimeRounding;\n hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n hooks.calendarFormat = getCalendarFormat;\n hooks.prototype = proto;\n\n // currently HTML5 input type only supports 24-hour formats\n hooks.HTML5_FMT = {\n DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // \n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // \n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // \n DATE: 'YYYY-MM-DD', // \n TIME: 'HH:mm', // \n TIME_SECONDS: 'HH:mm:ss', // \n TIME_MS: 'HH:mm:ss.SSS', // \n WEEK: 'GGGG-[W]WW', // \n MONTH: 'YYYY-MM' // \n };\n\n //! moment.js locale configuration\n\n hooks.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort: 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin: 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM: function (input) {\n return /^nm$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Vandag om] LT',\n nextDay: '[Môre om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[Gister om] LT',\n lastWeek: '[Laas] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oor %s',\n past: '%s gelede',\n s: '\\'n paar sekondes',\n ss: '%d sekondes',\n m: '\\'n minuut',\n mm: '%d minute',\n h: '\\'n uur',\n hh: '%d ure',\n d: '\\'n dag',\n dd: '%d dae',\n M: '\\'n maand',\n MM: '%d maande',\n y: '\\'n jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week: {\n dow: 1, // Maandag is die eerste dag van die week.\n doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-dz', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-kw', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months$1 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n hooks.defineLocale('ar-ly', {\n months: months$1,\n monthsShort: months$1,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize('s'),\n ss: pluralize('s'),\n m: pluralize('m'),\n mm: pluralize('m'),\n h: pluralize('h'),\n hh: pluralize('h'),\n d: pluralize('d'),\n dd: pluralize('d'),\n M: pluralize('M'),\n MM: pluralize('M'),\n y: pluralize('y'),\n yy: pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-ma', {\n months: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays: 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$1 = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n hooks.defineLocale('ar-sa', {\n months: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$1[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss: '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$2 = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm$1 = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals$1 = {\n s: ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m: ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h: ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d: ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M: ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y: ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months$2 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n hooks.defineLocale('ar', {\n months: months$2,\n monthsShort: months$2,\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/\\u200FM/\\u200FYYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM: function (input) {\n return 'م' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar: {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'بعد %s',\n past: 'منذ %s',\n s: pluralize$1('s'),\n ss: pluralize$1('s'),\n m: pluralize$1('m'),\n mm: pluralize$1('m'),\n h: pluralize$1('h'),\n hh: pluralize$1('h'),\n d: pluralize$1('d'),\n dd: pluralize$1('d'),\n M: pluralize$1('M'),\n MM: pluralize$1('M'),\n y: pluralize$1('y'),\n yy: pluralize$1('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$2[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n hooks.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort: 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin: 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[sabah saat] LT',\n nextWeek: '[gələn həftə] dddd [saat] LT',\n lastDay: '[dünən] LT',\n lastWeek: '[keçən həftə] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s əvvəl',\n s: 'birneçə saniyə',\n ss: '%d saniyə',\n m: 'bir dəqiqə',\n mm: '%d dəqiqə',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir il',\n yy: '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM: function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal: function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n 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]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n hooks.defineLocale('be', {\n months: {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort: 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays: {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., HH:mm',\n LLLL: 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar: {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'праз %s',\n past: '%s таму',\n s: 'некалькі секунд',\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithPlural,\n hh: relativeTimeWithPlural,\n d: 'дзень',\n dd: relativeTimeWithPlural,\n M: 'месяц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM: function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('bg', {\n months: 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Днес в] LT',\n nextDay: '[Утре в] LT',\n nextWeek: 'dddd [в] LT',\n lastDay: '[Вчера в] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'след %s',\n past: 'преди %s',\n s: 'няколко секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дни',\n M: 'месец',\n MM: '%d месеца',\n y: 'година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort: 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays: 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort: 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin: 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'MMMM [tile] D [san] YYYY',\n LLL: 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL: 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar: {\n sameDay: '[Bi lɛrɛ] LT',\n nextDay: '[Sini lɛrɛ] LT',\n nextWeek: 'dddd [don lɛrɛ] LT',\n lastDay: '[Kunu lɛrɛ] LT',\n lastWeek: 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s kɔnɔ',\n past: 'a bɛ %s bɔ',\n s: 'sanga dama dama',\n ss: 'sekondi %d',\n m: 'miniti kelen',\n mm: 'miniti %d',\n h: 'lɛrɛ kelen',\n hh: 'lɛrɛ %d',\n d: 'tile kelen',\n dd: 'tile %d',\n M: 'kalo kelen',\n MM: 'kalo %d',\n y: 'san kelen',\n yy: 'san %d'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$3 = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap$2 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n hooks.defineLocale('bn', {\n months: 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort: 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort: 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin: 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat: {\n LT: 'A h:mm সময়',\n LTS: 'A h:mm:ss সময়',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm সময়',\n LLLL: 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar: {\n sameDay: '[আজ] LT',\n nextDay: '[আগামীকাল] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[গতকাল] LT',\n lastWeek: '[গত] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s পরে',\n past: '%s আগে',\n s: 'কয়েক সেকেন্ড',\n ss: '%d সেকেন্ড',\n m: 'এক মিনিট',\n mm: '%d মিনিট',\n h: 'এক ঘন্টা',\n hh: '%d ঘন্টা',\n d: 'এক দিন',\n dd: '%d দিন',\n M: 'এক মাস',\n MM: '%d মাস',\n y: 'এক বছর',\n yy: '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$2[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$3[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$4 = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap$3 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n hooks.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays: 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[དི་རིང] LT',\n nextDay: '[སང་ཉིན] LT',\n nextWeek: '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay: '[ཁ་སང] LT',\n lastWeek: '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ལ་',\n past: '%s སྔན་ལ',\n s: 'ལམ་སང',\n ss: '%d སྐར་ཆ།',\n m: 'སྐར་མ་གཅིག',\n mm: '%d སྐར་མ',\n h: 'ཆུ་ཚོད་གཅིག',\n hh: '%d ཆུ་ཚོད',\n d: 'ཉིན་གཅིག',\n dd: '%d ཉིན་',\n M: 'ཟླ་བ་གཅིག',\n MM: '%d ཟླ་བ',\n y: 'ལོ་གཅིག',\n yy: '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n hooks.defineLocale('br', {\n months: 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort: 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays: 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort: 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h[e]mm A',\n LTS: 'h[e]mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL: 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar: {\n sameDay: '[Hiziv da] LT',\n nextDay: '[Warc\\'hoazh da] LT',\n nextWeek: 'dddd [da] LT',\n lastDay: '[Dec\\'h da] LT',\n lastWeek: 'dddd [paset da] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'a-benn %s',\n past: '%s \\'zo',\n s: 'un nebeud segondennoù',\n ss: '%d eilenn',\n m: 'ur vunutenn',\n mm: relativeTimeWithMutation,\n h: 'un eur',\n hh: '%d eur',\n d: 'un devezh',\n dd: relativeTimeWithMutation,\n M: 'ur miz',\n MM: relativeTimeWithMutation,\n y: 'ur bloaz',\n yy: specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal: function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n hooks.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: 'dan',\n dd: translate,\n M: 'mjesec',\n MM: translate,\n y: 'godinu',\n yy: translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ca', {\n months: {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort: 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort: 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [de] YYYY',\n ll: 'D MMM YYYY',\n LLL: 'D MMMM [de] YYYY [a les] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll: 'ddd D MMM YYYY, H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay: function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay: function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'd\\'aquí %s',\n past: 'fa %s',\n s: 'uns segons',\n ss: '%d segons',\n m: 'un minut',\n mm: '%d minuts',\n h: 'una hora',\n hh: '%d hores',\n d: 'un dia',\n dd: '%d dies',\n M: 'un mes',\n MM: '%d mesos',\n y: 'un any',\n yy: '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$3 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n\n var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n var monthsRegex$1 = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural$1(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate$1(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n hooks.defineLocale('cs', {\n months: months$3,\n monthsShort: monthsShort,\n monthsRegex: monthsRegex$1,\n monthsShortRegex: monthsRegex$1,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex: /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex: /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm',\n l: 'D. M. YYYY'\n },\n calendar: {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'před %s',\n s: translate$1,\n ss: translate$1,\n m: translate$1,\n mm: translate$1,\n h: translate$1,\n hh: translate$1,\n d: translate$1,\n dd: translate$1,\n M: translate$1,\n MM: translate$1,\n y: translate$1,\n yy: translate$1\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('cv', {\n months: 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort: 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays: 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort: 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin: 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL: 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL: 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar: {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime: {\n future: function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past: '%s каялла',\n s: 'пӗр-ик ҫеккунт',\n ss: '%d ҫеккунт',\n m: 'пӗр минут',\n mm: '%d минут',\n h: 'пӗр сехет',\n hh: '%d сехет',\n d: 'пӗр кун',\n dd: '%d кун',\n M: 'пӗр уйӑх',\n MM: '%d уйӑх',\n y: 'пӗр ҫул',\n yy: '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal: '%d-мӗш',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact: true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'på dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[i] dddd[s kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'få sekunder',\n ss: '%d sekunder',\n m: 'et minut',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dage',\n M: 'en måned',\n MM: '%d måneder',\n y: 'et år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime,\n mm: '%d Minuten',\n h: processRelativeTime,\n hh: '%d Stunden',\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$1(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$1,\n mm: '%d Minuten',\n h: processRelativeTime$1,\n hh: '%d Stunden',\n d: processRelativeTime$1,\n dd: processRelativeTime$1,\n M: processRelativeTime$1,\n MM: processRelativeTime$1,\n y: processRelativeTime$1,\n yy: processRelativeTime$1\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$2(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort: 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY HH:mm',\n LLLL: 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime: {\n future: 'in %s',\n past: 'vor %s',\n s: 'ein paar Sekunden',\n ss: '%d Sekunden',\n m: processRelativeTime$2,\n mm: '%d Minuten',\n h: processRelativeTime$2,\n hh: '%d Stunden',\n d: processRelativeTime$2,\n dd: processRelativeTime$2,\n M: processRelativeTime$2,\n MM: processRelativeTime$2,\n y: processRelativeTime$2,\n yy: processRelativeTime$2\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$4 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n hooks.defineLocale('dv', {\n months: months$4,\n monthsShort: months$4,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat: {\n\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'D/M/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM: function (input) {\n return 'މފ' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar: {\n sameDay: '[މިއަދު] LT',\n nextDay: '[މާދަމާ] LT',\n nextWeek: 'dddd LT',\n lastDay: '[އިއްޔެ] LT',\n lastWeek: '[ފާއިތުވި] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ތެރޭގައި %s',\n past: 'ކުރިން %s',\n s: 'ސިކުންތުކޮޅެއް',\n ss: 'd% ސިކުންތު',\n m: 'މިނިޓެއް',\n mm: 'މިނިޓު %d',\n h: 'ގަޑިއިރެއް',\n hh: 'ގަޑިއިރު %d',\n d: 'ދުވަހެއް',\n dd: 'ދުވަސް %d',\n M: 'މަހެއް',\n MM: 'މަސް %d',\n y: 'އަހަރެއް',\n yy: 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 7, // Sunday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('el', {\n monthsNominativeEl: 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl: 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort: 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays: 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort: 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin: 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM: function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse: /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl: {\n sameDay: '[Σήμερα {}] LT',\n nextDay: '[Αύριο {}] LT',\n nextWeek: 'dddd [{}] LT',\n lastDay: '[Χθες {}] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse: 'L'\n },\n calendar: function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime: {\n future: 'σε %s',\n past: '%s πριν',\n s: 'λίγα δευτερόλεπτα',\n ss: '%d δευτερόλεπτα',\n m: 'ένα λεπτό',\n mm: '%d λεπτά',\n h: 'μία ώρα',\n hh: '%d ώρες',\n d: 'μία μέρα',\n dd: '%d μέρες',\n M: 'ένας μήνας',\n MM: '%d μήνες',\n y: 'ένας χρόνος',\n yy: '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-SG', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'YYYY-MM-DD',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY h:mm A',\n LLLL: 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays: 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort: 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin: 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Today at] LT',\n nextDay: '[Tomorrow at] LT',\n nextWeek: 'dddd [at] LT',\n lastDay: '[Yesterday at] LT',\n lastWeek: '[Last] dddd [at] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'in %s',\n past: '%s ago',\n s: 'a few seconds',\n ss: '%d seconds',\n m: 'a minute',\n mm: '%d minutes',\n h: 'an hour',\n hh: '%d hours',\n d: 'a day',\n dd: '%d days',\n M: 'a month',\n MM: '%d months',\n y: 'a year',\n yy: '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays: 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort: 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin: 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D[-a de] MMMM, YYYY',\n LLL: 'D[-a de] MMMM, YYYY HH:mm',\n LLLL: 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar: {\n sameDay: '[Hodiaŭ je] LT',\n nextDay: '[Morgaŭ je] LT',\n nextWeek: 'dddd [je] LT',\n lastDay: '[Hieraŭ je] LT',\n lastWeek: '[pasinta] dddd [je] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaŭ %s',\n s: 'sekundoj',\n ss: '%d sekundoj',\n m: 'minuto',\n mm: '%d minutoj',\n h: 'horo',\n hh: '%d horoj',\n d: 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'monato',\n MM: '%d monatoj',\n y: 'jaro',\n yy: '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal: '%da',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex$2 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$1[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$1,\n longMonthsParse: monthsParse$1,\n shortMonthsParse: monthsParse$1,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$2,\n longMonthsParse: monthsParse$2,\n shortMonthsParse: monthsParse$2,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'MM/DD/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY h:mm A',\n LLLL: 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex$4 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n hooks.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex: monthsRegex$4,\n monthsShortRegex: monthsRegex$4,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$3,\n longMonthsParse: monthsParse$3,\n shortMonthsParse: monthsParse$3,\n weekdays: 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay: function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay: function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek: function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'en %s',\n past: 'hace %s',\n s: 'unos segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'una hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un año',\n yy: '%d años'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$3(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm': ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h': ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd': ['ühe päeva', 'üks päev'],\n 'M': ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y': ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort: 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays: 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort: 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin: 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Täna,] LT',\n nextDay: '[Homme,] LT',\n nextWeek: '[Järgmine] dddd LT',\n lastDay: '[Eile,] LT',\n lastWeek: '[Eelmine] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s pärast',\n past: '%s tagasi',\n s: processRelativeTime$3,\n ss: processRelativeTime$3,\n m: processRelativeTime$3,\n mm: processRelativeTime$3,\n h: processRelativeTime$3,\n hh: processRelativeTime$3,\n d: processRelativeTime$3,\n dd: '%d päeva',\n M: processRelativeTime$3,\n MM: processRelativeTime$3,\n y: processRelativeTime$3,\n yy: processRelativeTime$3\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort: 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact: true,\n weekdays: 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort: 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin: 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY[ko] MMMM[ren] D[a]',\n LLL: 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL: 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l: 'YYYY-M-D',\n ll: 'YYYY[ko] MMM D[a]',\n lll: 'YYYY[ko] MMM D[a] HH:mm',\n llll: 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar: {\n sameDay: '[gaur] LT[etan]',\n nextDay: '[bihar] LT[etan]',\n nextWeek: 'dddd LT[etan]',\n lastDay: '[atzo] LT[etan]',\n lastWeek: '[aurreko] dddd LT[etan]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s barru',\n past: 'duela %s',\n s: 'segundo batzuk',\n ss: '%d segundo',\n m: 'minutu bat',\n mm: '%d minutu',\n h: 'ordu bat',\n hh: '%d ordu',\n d: 'egun bat',\n dd: '%d egun',\n M: 'hilabete bat',\n MM: '%d hilabete',\n y: 'urte bat',\n yy: '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$5 = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap$4 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n hooks.defineLocale('fa', {\n months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort: 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar: {\n sameDay: '[امروز ساعت] LT',\n nextDay: '[فردا ساعت] LT',\n nextWeek: 'dddd [ساعت] LT',\n lastDay: '[دیروز ساعت] LT',\n lastWeek: 'dddd [پیش] [ساعت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'در %s',\n past: '%s پیش',\n s: 'چند ثانیه',\n ss: 'ثانیه d%',\n m: 'یک دقیقه',\n mm: '%d دقیقه',\n h: 'یک ساعت',\n hh: '%d ساعت',\n d: 'یک روز',\n dd: '%d روز',\n M: 'یک ماه',\n MM: '%d ماه',\n y: 'یک سال',\n yy: '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap$4[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal: '%dم',\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate$2(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n hooks.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[ta] YYYY',\n LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l: 'D.M.YYYY',\n ll: 'Do MMM YYYY',\n lll: 'Do MMM YYYY, [klo] HH.mm',\n llll: 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar: {\n sameDay: '[tänään] [klo] LT',\n nextDay: '[huomenna] [klo] LT',\n nextWeek: 'dddd [klo] LT',\n lastDay: '[eilen] [klo] LT',\n lastWeek: '[viime] dddd[na] [klo] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s päästä',\n past: '%s sitten',\n s: translate$2,\n ss: translate$2,\n m: translate$2,\n mm: translate$2,\n h: translate$2,\n hh: translate$2,\n d: translate$2,\n dd: translate$2,\n M: translate$2,\n MM: translate$2,\n y: translate$2,\n yy: translate$2\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fo', {\n months: 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort: 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin: 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Í dag kl.] LT',\n nextDay: '[Í morgin kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[Í gjár kl.] LT',\n lastWeek: '[síðstu] dddd [kl] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'um %s',\n past: '%s síðani',\n s: 'fá sekund',\n ss: '%d sekundir',\n m: 'ein minuttur',\n mm: '%d minuttir',\n h: 'ein tími',\n hh: '%d tímar',\n d: 'ein dagur',\n dd: '%d dagar',\n M: 'ein mánaður',\n MM: '%d mánaðir',\n y: 'eitt ár',\n yy: '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal: function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort: 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact: true,\n weekdays: 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort: 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin: 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Aujourd’hui à] LT',\n nextDay: '[Demain à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[Hier à] LT',\n lastWeek: 'dddd [dernier à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dans %s',\n past: 'il y a %s',\n s: 'quelques secondes',\n ss: '%d secondes',\n m: 'une minute',\n mm: '%d minutes',\n h: 'une heure',\n hh: '%d heures',\n d: 'un jour',\n dd: '%d jours',\n M: 'un mois',\n MM: '%d mois',\n y: 'un an',\n yy: '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal: function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n hooks.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact: true,\n weekdays: 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort: 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin: 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'oer %s',\n past: '%s lyn',\n s: 'in pear sekonden',\n ss: '%d sekonden',\n m: 'ien minút',\n mm: '%d minuten',\n h: 'ien oere',\n hh: '%d oeren',\n d: 'ien dei',\n dd: '%d dagen',\n M: 'ien moanne',\n MM: '%d moannen',\n y: 'ien jier',\n yy: '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n\n var months$5 = [\n 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'\n ];\n\n var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];\n\n var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];\n\n var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];\n\n var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];\n\n hooks.defineLocale('ga', {\n months: months$5,\n monthsShort: monthsShort$4,\n monthsParseExact: true,\n weekdays: weekdays$1,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné aig] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d mí',\n y: 'bliain',\n yy: '%d bliain'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$6 = [\n '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'\n ];\n\n var monthsShort$5 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n hooks.defineLocale('gd', {\n months: months$6,\n monthsShort: monthsShort$5,\n monthsParseExact: true,\n weekdays: weekdays$2,\n weekdaysShort: weekdaysShort$1,\n weekdaysMin: weekdaysMin$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[An-diugh aig] LT',\n nextDay: '[A-màireach aig] LT',\n nextWeek: 'dddd [aig] LT',\n lastDay: '[An-dè aig] LT',\n lastWeek: 'dddd [seo chaidh] [aig] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ann an %s',\n past: 'bho chionn %s',\n s: 'beagan diogan',\n ss: '%d diogan',\n m: 'mionaid',\n mm: '%d mionaidean',\n h: 'uair',\n hh: '%d uairean',\n d: 'latha',\n dd: '%d latha',\n M: 'mìos',\n MM: '%d mìosan',\n y: 'bliadhna',\n yy: '%d bliadhna'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort: 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort: 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin: 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY H:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar: {\n sameDay: function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay: function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek: function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay: function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek: function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past: 'hai %s',\n s: 'uns segundos',\n ss: '%d segundos',\n m: 'un minuto',\n mm: '%d minutos',\n h: 'unha hora',\n hh: '%d horas',\n d: 'un día',\n dd: '%d días',\n M: 'un mes',\n MM: '%d meses',\n y: 'un ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$4(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka voran', 'ek vor'],\n 'hh': [number + ' voranim', number + ' voram'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n hooks.defineLocale('gom-latn', {\n months: 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort: 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort: 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin: 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'A h:mm [vazta]',\n LTS: 'A h:mm:ss [vazta]',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY A h:mm [vazta]',\n LLLL: 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar: {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime$4,\n ss: processRelativeTime$4,\n m: processRelativeTime$4,\n mm: processRelativeTime$4,\n h: processRelativeTime$4,\n hh: processRelativeTime$4,\n d: processRelativeTime$4,\n dd: processRelativeTime$4,\n M: processRelativeTime$4,\n MM: processRelativeTime$4,\n y: processRelativeTime$4,\n yy: processRelativeTime$4\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er)/,\n ordinal: function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$6 = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap$5 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n hooks.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('he', {\n months: 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort: 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays: 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort: 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin: 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [ב]MMMM YYYY',\n LLL: 'D [ב]MMMM YYYY HH:mm',\n LLLL: 'dddd, D [ב]MMMM YYYY HH:mm',\n l: 'D/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[היום ב־]LT',\n nextDay: '[מחר ב־]LT',\n nextWeek: 'dddd [בשעה] LT',\n lastDay: '[אתמול ב־]LT',\n lastWeek: '[ביום] dddd [האחרון בשעה] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'בעוד %s',\n past: 'לפני %s',\n s: 'מספר שניות',\n ss: '%d שניות',\n m: 'דקה',\n mm: '%d דקות',\n h: 'שעה',\n hh: function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d: 'יום',\n dd: function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M: 'חודש',\n MM: function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y: 'שנה',\n yy: function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM: function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$7 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap$6 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n hooks.defineLocale('hi', {\n months: 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort: 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm बजे',\n LTS: 'A h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[कल] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[कल] LT',\n lastWeek: '[पिछले] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s में',\n past: '%s पहले',\n s: 'कुछ ही क्षण',\n ss: '%d सेकंड',\n m: 'एक मिनट',\n mm: '%d मिनट',\n h: 'एक घंटा',\n hh: '%d घंटे',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महीने',\n MM: '%d महीने',\n y: 'एक वर्ष',\n yy: '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$6[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$7[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function translate$3(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n hooks.defineLocale('hr', {\n months: {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort: 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[jučer u] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'par sekundi',\n ss: translate$3,\n m: translate$3,\n mm: translate$3,\n h: translate$3,\n hh: translate$3,\n d: 'dan',\n dd: translate$3,\n M: 'mjesec',\n MM: translate$3,\n y: 'godinu',\n yy: translate$3\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate$4(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n hooks.defineLocale('hu', {\n months: 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort: 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays: 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort: 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin: 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY. MMMM D.',\n LLL: 'YYYY. MMMM D. H:mm',\n LLLL: 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar: {\n sameDay: '[ma] LT[-kor]',\n nextDay: '[holnap] LT[-kor]',\n nextWeek: function () {\n return week.call(this, true);\n },\n lastDay: '[tegnap] LT[-kor]',\n lastWeek: function () {\n return week.call(this, false);\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s múlva',\n past: '%s',\n s: translate$4,\n ss: translate$4,\n m: translate$4,\n mm: translate$4,\n h: translate$4,\n hh: translate$4,\n d: translate$4,\n dd: translate$4,\n M: translate$4,\n MM: translate$4,\n y: translate$4,\n yy: translate$4\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('hy-am', {\n months: {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort: 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays: 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin: 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY թ.',\n LLL: 'D MMMM YYYY թ., HH:mm',\n LLLL: 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar: {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s հետո',\n past: '%s առաջ',\n s: 'մի քանի վայրկյան',\n ss: '%d վայրկյան',\n m: 'րոպե',\n mm: '%d րոպե',\n h: 'ժամ',\n hh: '%d ժամ',\n d: 'օր',\n dd: '%d օր',\n M: 'ամիս',\n MM: '%d ամիս',\n y: 'տարի',\n yy: '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem: function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Besok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kemarin pukul] LT',\n lastWeek: 'dddd [lalu pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lalu',\n s: 'beberapa detik',\n ss: '%d detik',\n m: 'semenit',\n mm: '%d menit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate$5(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n hooks.defineLocale('is', {\n months: 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays: 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort: 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin: 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar: {\n sameDay: '[í dag kl.] LT',\n nextDay: '[á morgun kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[í gær kl.] LT',\n lastWeek: '[síðasta] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'eftir %s',\n past: 'fyrir %s síðan',\n s: translate$5,\n ss: translate$5,\n m: translate$5,\n mm: translate$5,\n h: 'klukkustund',\n hh: translate$5,\n d: translate$5,\n dd: translate$5,\n M: translate$5,\n MM: translate$5,\n y: translate$5,\n yy: translate$5\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: 'un\\'ora',\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort: 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays: 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort: 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin: 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past: '%s fa',\n s: 'alcuni secondi',\n ss: '%d secondi',\n m: 'un minuto',\n mm: '%d minuti',\n h: 'un\\'ora',\n hh: '%d ore',\n d: 'un giorno',\n dd: '%d giorni',\n M: 'un mese',\n MM: '%d mesi',\n y: 'un anno',\n yy: '%d anni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ja', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort: '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin: '日_月_火_水_木_金_土'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日 dddd HH:mm',\n l: 'YYYY/MM/DD',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM: function (input) {\n return input === '午後';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar: {\n sameDay: '[今日] LT',\n nextDay: '[明日] LT',\n nextWeek: function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay: '[昨日] LT',\n lastWeek: function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}日/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s後',\n past: '%s前',\n s: '数秒',\n ss: '%d秒',\n m: '1分',\n mm: '%d分',\n h: '1時間',\n hh: '%d時間',\n d: '1日',\n dd: '%d日',\n M: '1ヶ月',\n MM: '%dヶ月',\n y: '1年',\n yy: '%d年'\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort: 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays: 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort: 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin: 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar: {\n sameDay: '[Dinten puniko pukul] LT',\n nextDay: '[Mbenjang pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kala wingi pukul] LT',\n lastWeek: 'dddd [kepengker pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'wonten ing %s',\n past: '%s ingkang kepengker',\n s: 'sawetawis detik',\n ss: '%d detik',\n m: 'setunggal menit',\n mm: '%d menit',\n h: 'setunggal jam',\n hh: '%d jam',\n d: 'sedinten',\n dd: '%d dinten',\n M: 'sewulan',\n MM: '%d wulan',\n y: 'setaun',\n yy: '%d taun'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ka', {\n months: {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort: 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays: {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort: 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin: 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[დღეს] LT[-ზე]',\n nextDay: '[ხვალ] LT[-ზე]',\n lastDay: '[გუშინ] LT[-ზე]',\n nextWeek: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინა] dddd LT-ზე',\n sameElse: 'L'\n },\n relativeTime: {\n future: function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past: function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s: 'რამდენიმე წამი',\n ss: '%d წამი',\n m: 'წუთი',\n mm: '%d წუთი',\n h: 'საათი',\n hh: '%d საათი',\n d: 'დღე',\n dd: '%d დღე',\n M: 'თვე',\n MM: '%d თვე',\n y: 'წელი',\n yy: '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal: function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes$1 = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n hooks.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort: 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort: 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin: 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгін сағат] LT',\n nextDay: '[Ертең сағат] LT',\n nextWeek: 'dddd [сағат] LT',\n lastDay: '[Кеше сағат] LT',\n lastWeek: '[Өткен аптаның] dddd [сағат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ішінде',\n past: '%s бұрын',\n s: 'бірнеше секунд',\n ss: '%d секунд',\n m: 'бір минут',\n mm: '%d минут',\n h: 'бір сағат',\n hh: '%d сағат',\n d: 'бір күн',\n dd: '%d күн',\n M: 'бір ай',\n MM: '%d ай',\n y: 'бір жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$8 = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap$7 = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n hooks.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse: /ទី\\d{1,2}/,\n ordinal: 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$9 = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap$8 = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n hooks.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort: 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays: 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort: 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin: 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[ಇಂದು] LT',\n nextDay: '[ನಾಳೆ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ನಿನ್ನೆ] LT',\n lastWeek: '[ಕೊನೆಯ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ನಂತರ',\n past: '%s ಹಿಂದೆ',\n s: 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss: '%d ಸೆಕೆಂಡುಗಳು',\n m: 'ಒಂದು ನಿಮಿಷ',\n mm: '%d ನಿಮಿಷ',\n h: 'ಒಂದು ಗಂಟೆ',\n hh: '%d ಗಂಟೆ',\n d: 'ಒಂದು ದಿನ',\n dd: '%d ದಿನ',\n M: 'ಒಂದು ತಿಂಗಳು',\n MM: '%d ತಿಂಗಳು',\n y: 'ಒಂದು ವರ್ಷ',\n yy: '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal: function (number) {\n return number + 'ನೇ';\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ko', {\n months: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort: '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays: '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort: '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin: '일_월_화_수_목_금_토'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'YYYY.MM.DD.',\n LL: 'YYYY년 MMMM D일',\n LLL: 'YYYY년 MMMM D일 A h:mm',\n LLLL: 'YYYY년 MMMM D일 dddd A h:mm',\n l: 'YYYY.MM.DD.',\n ll: 'YYYY년 MMMM D일',\n lll: 'YYYY년 MMMM D일 A h:mm',\n llll: 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar: {\n sameDay: '오늘 LT',\n nextDay: '내일 LT',\n nextWeek: 'dddd LT',\n lastDay: '어제 LT',\n lastWeek: '지난주 dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s 후',\n past: '%s 전',\n s: '몇 초',\n ss: '%d초',\n m: '1분',\n mm: '%d분',\n h: '한 시간',\n hh: '%d시간',\n d: '하루',\n dd: '%d일',\n M: '한 달',\n MM: '%d달',\n y: '일 년',\n yy: '%d년'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(일|월|주)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse: /오전|오후/,\n isPM: function (token) {\n return token === '오후';\n },\n meridiem: function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$a = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap$9 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n months$7 = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم'\n ];\n\n\n hooks.defineLocale('ku', {\n months: months$7,\n monthsShort: months$7,\n weekdays: 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysShort: 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin: 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar: {\n sameDay: '[ئه‌مرۆ كاتژمێر] LT',\n nextDay: '[به‌یانی كاتژمێر] LT',\n nextWeek: 'dddd [كاتژمێر] LT',\n lastDay: '[دوێنێ كاتژمێر] LT',\n lastWeek: 'dddd [كاتژمێر] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'له‌ %s',\n past: '%s',\n s: 'چه‌ند چركه‌یه‌ك',\n ss: 'چركه‌ %d',\n m: 'یه‌ك خوله‌ك',\n mm: '%d خوله‌ك',\n h: 'یه‌ك كاتژمێر',\n hh: '%d كاتژمێر',\n d: 'یه‌ك ڕۆژ',\n dd: '%d ڕۆژ',\n M: 'یه‌ك مانگ',\n MM: '%d مانگ',\n y: 'یه‌ك ساڵ',\n yy: '%d ساڵ'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$9[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$a[match];\n }).replace(/,/g, '،');\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes$2 = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n hooks.defineLocale('ky', {\n months: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort: 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin: 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Бүгүн саат] LT',\n nextDay: '[Эртең саат] LT',\n nextWeek: 'dddd [саат] LT',\n lastDay: '[Кечээ саат] LT',\n lastWeek: '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ичинде',\n past: '%s мурун',\n s: 'бирнече секунд',\n ss: '%d секунд',\n m: 'бир мүнөт',\n mm: '%d мүнөт',\n h: 'бир саат',\n hh: '%d саат',\n d: 'бир күн',\n dd: '%d күн',\n M: 'бир ай',\n MM: '%d ай',\n y: 'бир жыл',\n yy: '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$5(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n hooks.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime: {\n future: processFutureTime,\n past: processPastTime,\n s: 'e puer Sekonnen',\n ss: '%d Sekonnen',\n m: processRelativeTime$5,\n mm: '%d Minutten',\n h: processRelativeTime$5,\n hh: '%d Stonnen',\n d: processRelativeTime$5,\n dd: '%d Deeg',\n M: processRelativeTime$5,\n MM: '%d Méint',\n y: processRelativeTime$5,\n yy: '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('lo', {\n months: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort: 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays: 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort: 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin: 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar: {\n sameDay: '[ມື້ນີ້ເວລາ] LT',\n nextDay: '[ມື້ອື່ນເວລາ] LT',\n nextWeek: '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay: '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek: '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ອີກ %s',\n past: '%sຜ່ານມາ',\n s: 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss: '%d ວິນາທີ',\n m: '1 ນາທີ',\n mm: '%d ນາທີ',\n h: '1 ຊົ່ວໂມງ',\n hh: '%d ຊົ່ວໂມງ',\n d: '1 ມື້',\n dd: '%d ມື້',\n M: '1 ເດືອນ',\n MM: '%d ເດືອນ',\n y: '1 ປີ',\n yy: '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal: function (number) {\n return 'ທີ່' + number;\n }\n });\n\n //! moment.js locale configuration\n\n var units = {\n 'ss': 'sekundė_sekundžių_sekundes',\n 'm': 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h': 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd': 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M': 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y': 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n hooks.defineLocale('lt', {\n months: {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays: {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY [m.] MMMM D [d.]',\n LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l: 'YYYY-MM-DD',\n ll: 'YYYY [m.] MMMM D [d.]',\n lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar: {\n sameDay: '[Šiandien] LT',\n nextDay: '[Rytoj] LT',\n nextWeek: 'dddd LT',\n lastDay: '[Vakar] LT',\n lastWeek: '[Praėjusį] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'po %s',\n past: 'prieš %s',\n s: translateSeconds,\n ss: translate$6,\n m: translateSingular,\n mm: translate$6,\n h: translateSingular,\n hh: translate$6,\n d: translateSingular,\n dd: translate$6,\n M: translateSingular,\n MM: translate$6,\n y: translateSingular,\n yy: translate$6\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal: function (number) {\n return number + '-oji';\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var units$1 = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format$1(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format$1(units$1[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format$1(units$1[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n hooks.defineLocale('lv', {\n months: 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin: 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY.',\n LL: 'YYYY. [gada] D. MMMM',\n LLL: 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL: 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar: {\n sameDay: '[Šodien pulksten] LT',\n nextDay: '[Rīt pulksten] LT',\n nextWeek: 'dddd [pulksten] LT',\n lastDay: '[Vakar pulksten] LT',\n lastWeek: '[Pagājušā] dddd [pulksten] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'pēc %s',\n past: 'pirms %s',\n s: relativeSeconds,\n ss: relativeTimeWithPlural$1,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural$1,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural$1,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural$1,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural$1,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural$1\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n hooks.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'prije %s',\n s: 'nekoliko sekundi',\n ss: translator.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: 'dan',\n dd: translator.translate,\n M: 'mjesec',\n MM: translator.translate,\n y: 'godinu',\n yy: translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort: 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin: 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'D.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[Денес во] LT',\n nextDay: '[Утре во] LT',\n nextWeek: '[Во] dddd [во] LT',\n lastDay: '[Вчера во] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'после %s',\n past: 'пред %s',\n s: 'неколку секунди',\n ss: '%d секунди',\n m: 'минута',\n mm: '%d минути',\n h: 'час',\n hh: '%d часа',\n d: 'ден',\n dd: '%d дена',\n M: 'месец',\n MM: '%d месеци',\n y: 'година',\n yy: '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal: function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ml', {\n months: 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort: 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort: 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin: 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm -നു',\n LTS: 'A h:mm:ss -നു',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm -നു',\n LLLL: 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar: {\n sameDay: '[ഇന്ന്] LT',\n nextDay: '[നാളെ] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ഇന്നലെ] LT',\n lastWeek: '[കഴിഞ്ഞ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s കഴിഞ്ഞ്',\n past: '%s മുൻപ്',\n s: 'അൽപ നിമിഷങ്ങൾ',\n ss: '%d സെക്കൻഡ്',\n m: 'ഒരു മിനിറ്റ്',\n mm: '%d മിനിറ്റ്',\n h: 'ഒരു മണിക്കൂർ',\n hh: '%d മണിക്കൂർ',\n d: 'ഒരു ദിവസം',\n dd: '%d ദിവസം',\n M: 'ഒരു മാസം',\n MM: '%d മാസം',\n y: 'ഒരു വർഷം',\n yy: '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n //! moment.js locale configuration\n\n function translate$7(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n hooks.defineLocale('mn', {\n months: 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort: '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact: true,\n weekdays: 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort: 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin: 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY оны MMMMын D',\n LLL: 'YYYY оны MMMMын D HH:mm',\n LLLL: 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM: function (input) {\n return input === 'ҮХ';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar: {\n sameDay: '[Өнөөдөр] LT',\n nextDay: '[Маргааш] LT',\n nextWeek: '[Ирэх] dddd LT',\n lastDay: '[Өчигдөр] LT',\n lastWeek: '[Өнгөрсөн] dddd LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s дараа',\n past: '%s өмнө',\n s: translate$7,\n ss: translate$7,\n m: translate$7,\n mm: translate$7,\n h: translate$7,\n hh: translate$7,\n d: translate$7,\n dd: translate$7,\n M: translate$7,\n MM: translate$7,\n y: translate$7,\n yy: translate$7\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$b = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap$a = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n hooks.defineLocale('mr', {\n months: 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact: true,\n weekdays: 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort: 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin: 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat: {\n LT: 'A h:mm वाजता',\n LTS: 'A h:mm:ss वाजता',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm वाजता',\n LLLL: 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[उद्या] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$a[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$b[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays: 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort: 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin: 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [pukul] HH.mm',\n LLLL: 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar: {\n sameDay: '[Hari ini pukul] LT',\n nextDay: '[Esok pukul] LT',\n nextWeek: 'dddd [pukul] LT',\n lastDay: '[Kelmarin pukul] LT',\n lastWeek: 'dddd [lepas pukul] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dalam %s',\n past: '%s yang lepas',\n s: 'beberapa saat',\n ss: '%d saat',\n m: 'seminit',\n mm: '%d minit',\n h: 'sejam',\n hh: '%d jam',\n d: 'sehari',\n dd: '%d hari',\n M: 'sebulan',\n MM: '%d bulan',\n y: 'setahun',\n yy: '%d tahun'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays: 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort: 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin: 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Illum fil-]LT',\n nextDay: '[Għada fil-]LT',\n nextWeek: 'dddd [fil-]LT',\n lastDay: '[Il-bieraħ fil-]LT',\n lastWeek: 'dddd [li għadda] [fil-]LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'f’ %s',\n past: '%s ilu',\n s: 'ftit sekondi',\n ss: '%d sekondi',\n m: 'minuta',\n mm: '%d minuti',\n h: 'siegħa',\n hh: '%d siegħat',\n d: 'ġurnata',\n dd: '%d ġranet',\n M: 'xahar',\n MM: '%d xhur',\n y: 'sena',\n yy: '%d sni'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$c = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap$b = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n hooks.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss: '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap$b[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$c[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort: 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin: 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s siden',\n s: 'noen sekunder',\n ss: '%d sekunder',\n m: 'ett minutt',\n mm: '%d minutter',\n h: 'en time',\n hh: '%d timer',\n d: 'en dag',\n dd: '%d dager',\n M: 'en måned',\n MM: '%d måneder',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$d = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap$c = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n hooks.defineLocale('ne', {\n months: 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort: 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort: 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin: 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'Aको h:mm बजे',\n LTS: 'Aको h:mm:ss बजे',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, Aको h:mm बजे',\n LLLL: 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$c[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$d[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar: {\n sameDay: '[आज] LT',\n nextDay: '[भोलि] LT',\n nextWeek: '[आउँदो] dddd[,] LT',\n lastDay: '[हिजो] LT',\n lastWeek: '[गएको] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sमा',\n past: '%s अगाडि',\n s: 'केही क्षण',\n ss: '%d सेकेण्ड',\n m: 'एक मिनेट',\n mm: '%d मिनेट',\n h: 'एक घण्टा',\n hh: '%d घण्टा',\n d: 'एक दिन',\n dd: '%d दिन',\n M: 'एक महिना',\n MM: '%d महिना',\n y: 'एक बर्ष',\n yy: '%d बर्ष'\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse$4 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$5,\n monthsShortRegex: monthsRegex$5,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$4,\n longMonthsParse: monthsParse$4,\n shortMonthsParse: monthsParse$4,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse$5 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex$6 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n hooks.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortWithDots$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$6,\n monthsShortRegex: monthsRegex$6,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse$5,\n longMonthsParse: monthsParse$5,\n shortMonthsParse: monthsParse$5,\n\n weekdays: 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort: 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin: 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD-MM-YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'over %s',\n past: '%s geleden',\n s: 'een paar seconden',\n ss: '%d seconden',\n m: 'één minuut',\n mm: '%d minuten',\n h: 'één uur',\n hh: '%d uur',\n d: 'één dag',\n dd: '%d dagen',\n M: 'één maand',\n MM: '%d maanden',\n y: 'één jaar',\n yy: '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal: function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays: 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin: 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY [kl.] H:mm',\n LLLL: 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar: {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: '%s sidan',\n s: 'nokre sekund',\n ss: '%d sekund',\n m: 'eit minutt',\n mm: '%d minutt',\n h: 'ein time',\n hh: '%d timar',\n d: 'ein dag',\n dd: '%d dagar',\n M: 'ein månad',\n MM: '%d månader',\n y: 'eit år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$e = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap$d = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n hooks.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort: 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays: 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin: 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm ਵਜੇ',\n LTS: 'A h:mm:ss ਵਜੇ',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL: 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar: {\n sameDay: '[ਅਜ] LT',\n nextDay: '[ਕਲ] LT',\n nextWeek: '[ਅਗਲਾ] dddd, LT',\n lastDay: '[ਕਲ] LT',\n lastWeek: '[ਪਿਛਲੇ] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s ਵਿੱਚ',\n past: '%s ਪਿਛਲੇ',\n s: 'ਕੁਝ ਸਕਿੰਟ',\n ss: '%d ਸਕਿੰਟ',\n m: 'ਇਕ ਮਿੰਟ',\n mm: '%d ਮਿੰਟ',\n h: 'ਇੱਕ ਘੰਟਾ',\n hh: '%d ਘੰਟੇ',\n d: 'ਇੱਕ ਦਿਨ',\n dd: '%d ਦਿਨ',\n M: 'ਇੱਕ ਮਹੀਨਾ',\n MM: '%d ਮਹੀਨੇ',\n y: 'ਇੱਕ ਸਾਲ',\n yy: '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap$d[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$e[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural$3(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate$8(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n }\n\n hooks.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: '%s temu',\n s: 'kilka sekund',\n ss: translate$8,\n m: translate$8,\n mm: translate$8,\n h: translate$8,\n hh: translate$8,\n d: '1 dzień',\n dd: '%d dni',\n M: 'miesiąc',\n MM: translate$8,\n y: 'rok',\n yy: translate$8\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt-br', {\n months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'poucos segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº'\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('pt', {\n months: 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort: 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin: 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [de] MMMM [de] YYYY',\n LLL: 'D [de] MMMM [de] YYYY HH:mm',\n LLLL: 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'em %s',\n past: 'há %s',\n s: 'segundos',\n ss: '%d segundos',\n m: 'um minuto',\n mm: '%d minutos',\n h: 'uma hora',\n hh: '%d horas',\n d: 'um dia',\n dd: '%d dias',\n M: 'um mês',\n MM: '%d meses',\n y: 'um ano',\n yy: '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural$2(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n hooks.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort: 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort: 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin: 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY H:mm',\n LLLL: 'dddd, D MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'peste %s',\n past: '%s în urmă',\n s: 'câteva secunde',\n ss: relativeTimeWithPlural$2,\n m: 'un minut',\n mm: relativeTimeWithPlural$2,\n h: 'o oră',\n hh: relativeTimeWithPlural$2,\n d: 'o zi',\n dd: relativeTimeWithPlural$2,\n M: 'o lună',\n MM: relativeTimeWithPlural$2,\n y: 'un an',\n yy: relativeTimeWithPlural$2\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural$4(word, num) {\n var forms = word.split('_');\n 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]);\n }\n function relativeTimeWithPlural$3(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural$4(format[key], +number);\n }\n }\n var monthsParse$6 = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n hooks.defineLocale('ru', {\n months: {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays: {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse: monthsParse$6,\n longMonthsParse: monthsParse$6,\n shortMonthsParse: monthsParse$6,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY г.',\n LLL: 'D MMMM YYYY г., H:mm',\n LLLL: 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar: {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'через %s',\n past: '%s назад',\n s: 'несколько секунд',\n ss: relativeTimeWithPlural$3,\n m: relativeTimeWithPlural$3,\n mm: relativeTimeWithPlural$3,\n h: 'час',\n hh: relativeTimeWithPlural$3,\n d: 'день',\n dd: relativeTimeWithPlural$3,\n M: 'месяц',\n MM: relativeTimeWithPlural$3,\n y: 'год',\n yy: relativeTimeWithPlural$3\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM: function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$8 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days$1 = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n hooks.defineLocale('sd', {\n months: months$8,\n monthsShort: months$8,\n weekdays: days$1,\n weekdaysShort: days$1,\n weekdaysMin: days$1,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[اڄ] LT',\n nextDay: '[سڀاڻي] LT',\n nextWeek: 'dddd [اڳين هفتي تي] LT',\n lastDay: '[ڪالهه] LT',\n lastWeek: '[گزريل هفتي] dddd [تي] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s پوء',\n past: '%s اڳ',\n s: 'چند سيڪنڊ',\n ss: '%d سيڪنڊ',\n m: 'هڪ منٽ',\n mm: '%d منٽ',\n h: 'هڪ ڪلاڪ',\n hh: '%d ڪلاڪ',\n d: 'هڪ ڏينهن',\n dd: '%d ڏينهن',\n M: 'هڪ مهينو',\n MM: '%d مهينا',\n y: 'هڪ سال',\n yy: '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('se', {\n 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('_'),\n monthsShort: 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays: 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort: 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin: 's_v_m_g_d_b_L'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'MMMM D. [b.] YYYY',\n LLL: 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL: 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar: {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s geažes',\n past: 'maŋit %s',\n s: 'moadde sekunddat',\n ss: '%d sekunddat',\n m: 'okta minuhta',\n mm: '%d minuhtat',\n h: 'okta diimmu',\n hh: '%d diimmut',\n d: 'okta beaivi',\n dd: '%d beaivvit',\n M: 'okta mánnu',\n MM: '%d mánut',\n y: 'okta jahki',\n yy: '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n hooks.defineLocale('si', {\n months: 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort: 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays: 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort: 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin: 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'a h:mm',\n LTS: 'a h:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY MMMM D',\n LLL: 'YYYY MMMM D, a h:mm',\n LLLL: 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar: {\n sameDay: '[අද] LT[ට]',\n nextDay: '[හෙට] LT[ට]',\n nextWeek: 'dddd LT[ට]',\n lastDay: '[ඊයේ] LT[ට]',\n lastWeek: '[පසුගිය] dddd LT[ට]',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sකින්',\n past: '%sකට පෙර',\n s: 'තත්පර කිහිපය',\n ss: 'තත්පර %d',\n m: 'මිනිත්තුව',\n mm: 'මිනිත්තු %d',\n h: 'පැය',\n hh: 'පැය %d',\n d: 'දිනය',\n dd: 'දින %d',\n M: 'මාසය',\n MM: 'මාස %d',\n y: 'වසර',\n yy: 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal: function (number) {\n return number + ' වැනි';\n },\n meridiemParse: /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM: function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n //! moment.js locale configuration\n\n var months$9 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural$5(n) {\n return (n > 1) && (n < 5);\n }\n function translate$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n hooks.defineLocale('sk', {\n months: months$9,\n monthsShort: monthsShort$6,\n weekdays: 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort: 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin: 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pred %s',\n s: translate$9,\n ss: translate$9,\n m: translate$9,\n mm: translate$9,\n h: translate$9,\n hh: translate$9,\n d: translate$9,\n dd: translate$9,\n M: translate$9,\n MM: translate$9,\n y: translate$9,\n yy: translate$9\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n hooks.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort: 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin: 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danes ob] LT',\n nextDay: '[jutri ob] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay: '[včeraj ob] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'čez %s',\n past: 'pred %s',\n s: processRelativeTime$6,\n ss: processRelativeTime$6,\n m: processRelativeTime$6,\n mm: processRelativeTime$6,\n h: processRelativeTime$6,\n hh: processRelativeTime$6,\n d: processRelativeTime$6,\n dd: processRelativeTime$6,\n M: processRelativeTime$6,\n MM: processRelativeTime$6,\n y: processRelativeTime$6,\n yy: processRelativeTime$6\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort: 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays: 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort: 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin: 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem: function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Sot në] LT',\n nextDay: '[Nesër në] LT',\n nextWeek: 'dddd [në] LT',\n lastDay: '[Dje në] LT',\n lastWeek: 'dddd [e kaluar në] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'në %s',\n past: '%s më parë',\n s: 'disa sekonda',\n ss: '%d sekonda',\n m: 'një minutë',\n mm: '%d minuta',\n h: 'një orë',\n hh: '%d orë',\n d: 'një ditë',\n dd: '%d ditë',\n M: 'një muaj',\n MM: '%d muaj',\n y: 'një vit',\n yy: '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var translator$1 = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator$1.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n hooks.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay: '[јуче у] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: 'пре %s',\n s: 'неколико секунди',\n ss: translator$1.translate,\n m: translator$1.translate,\n mm: translator$1.translate,\n h: translator$1.translate,\n hh: translator$1.translate,\n d: 'дан',\n dd: translator$1.translate,\n M: 'месец',\n MM: translator$1.translate,\n y: 'годину',\n yy: translator$1.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var translator$2 = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator$2.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n hooks.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay: '[juče u] LT',\n lastWeek: function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'za %s',\n past: 'pre %s',\n s: 'nekoliko sekundi',\n ss: translator$2.translate,\n m: translator$2.translate,\n mm: translator$2.translate,\n h: translator$2.translate,\n hh: translator$2.translate,\n d: 'dan',\n dd: translator$2.translate,\n M: 'mesec',\n MM: translator$2.translate,\n y: 'godinu',\n yy: translator$2.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays: 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort: 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin: 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Namuhla nga] LT',\n nextDay: '[Kusasa nga] LT',\n nextWeek: 'dddd [nga] LT',\n lastDay: '[Itolo nga] LT',\n lastWeek: 'dddd [leliphelile] [nga] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'nga %s',\n past: 'wenteka nga %s',\n s: 'emizuzwana lomcane',\n ss: '%d mzuzwana',\n m: 'umzuzu',\n mm: '%d emizuzu',\n h: 'lihora',\n hh: '%d emahora',\n d: 'lilanga',\n dd: '%d emalanga',\n M: 'inyanga',\n MM: '%d tinyanga',\n y: 'umnyaka',\n yy: '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem: function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: '%d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort: 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays: 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort: 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin: 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [kl.] HH:mm',\n LLLL: 'dddd D MMMM YYYY [kl.] HH:mm',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'om %s',\n past: 'för %s sedan',\n s: 'några sekunder',\n ss: '%d sekunder',\n m: 'en minut',\n mm: '%d minuter',\n h: 'en timme',\n hh: '%d timmar',\n d: 'en dag',\n dd: '%d dagar',\n M: 'en månad',\n MM: '%d månader',\n y: 'ett år',\n yy: '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays: 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort: 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin: 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[leo saa] LT',\n nextDay: '[kesho saa] LT',\n nextWeek: '[wiki ijayo] dddd [saat] LT',\n lastDay: '[jana] LT',\n lastWeek: '[wiki iliyopita] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s baadaye',\n past: 'tokea %s',\n s: 'hivi punde',\n ss: 'sekunde %d',\n m: 'dakika moja',\n mm: 'dakika %d',\n h: 'saa limoja',\n hh: 'masaa %d',\n d: 'siku moja',\n dd: 'masiku %d',\n M: 'mwezi mmoja',\n MM: 'miezi %d',\n y: 'mwaka mmoja',\n yy: 'miaka %d'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$f = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap$e = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n hooks.defineLocale('ta', {\n months: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort: 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays: 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort: 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin: 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, HH:mm',\n LLLL: 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar: {\n sameDay: '[இன்று] LT',\n nextDay: '[நாளை] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[நேற்று] LT',\n lastWeek: '[கடந்த வாரம்] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s இல்',\n past: '%s முன்',\n s: 'ஒரு சில விநாடிகள்',\n ss: '%d விநாடிகள்',\n m: 'ஒரு நிமிடம்',\n mm: '%d நிமிடங்கள்',\n h: 'ஒரு மணி நேரம்',\n hh: '%d மணி நேரம்',\n d: 'ஒரு நாள்',\n dd: '%d நாட்கள்',\n M: 'ஒரு மாதம்',\n MM: '%d மாதங்கள்',\n y: 'ஒரு வருடம்',\n yy: '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal: function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap$e[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$f[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem: function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('te', {\n months: 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort: 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact: true,\n weekdays: 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort: 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin: 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm',\n LTS: 'A h:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm',\n LLLL: 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar: {\n sameDay: '[నేడు] LT',\n nextDay: '[రేపు] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[నిన్న] LT',\n lastWeek: '[గత] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s లో',\n past: '%s క్రితం',\n s: 'కొన్ని క్షణాలు',\n ss: '%d సెకన్లు',\n m: 'ఒక నిమిషం',\n mm: '%d నిమిషాలు',\n h: 'ఒక గంట',\n hh: '%d గంటలు',\n d: 'ఒక రోజు',\n dd: '%d రోజులు',\n M: 'ఒక నెల',\n MM: '%d నెలలు',\n y: 'ఒక సంవత్సరం',\n yy: '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}వ/,\n ordinal: '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays: 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort: 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin: 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'iha %s',\n past: '%s liuba',\n s: 'minutu balun',\n ss: 'minutu %d',\n m: 'minutu ida',\n mm: 'minutu %d',\n h: 'oras ida',\n hh: 'oras %d',\n d: 'loron ida',\n dd: 'loron %d',\n M: 'fulan ida',\n MM: 'fulan %d',\n y: 'tinan ida',\n yy: 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes$3 = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n hooks.defineLocale('tg', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort: 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin: 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Имрӯз соати] LT',\n nextDay: '[Пагоҳ соати] LT',\n lastDay: '[Дирӯз соати] LT',\n nextWeek: 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek: 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'баъди %s',\n past: '%s пеш',\n s: 'якчанд сония',\n m: 'як дақиқа',\n mm: '%d дақиқа',\n h: 'як соат',\n hh: '%d соат',\n d: 'як рӯз',\n dd: '%d рӯз',\n M: 'як моҳ',\n MM: '%d моҳ',\n y: 'як сол',\n yy: '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('th', {\n months: 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort: 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort: 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin: 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'H:mm',\n LTS: 'H:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY เวลา H:mm',\n LLLL: 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar: {\n sameDay: '[วันนี้ เวลา] LT',\n nextDay: '[พรุ่งนี้ เวลา] LT',\n nextWeek: 'dddd[หน้า เวลา] LT',\n lastDay: '[เมื่อวานนี้ เวลา] LT',\n lastWeek: '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'อีก %s',\n past: '%sที่แล้ว',\n s: 'ไม่กี่วินาที',\n ss: '%d วินาที',\n m: '1 นาที',\n mm: '%d นาที',\n h: '1 ชั่วโมง',\n hh: '%d ชั่วโมง',\n d: '1 วัน',\n dd: '%d วัน',\n M: '1 เดือน',\n MM: '%d เดือน',\n y: '1 ปี',\n yy: '%d ปี'\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort: 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays: 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort: 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin: 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'MM/D/YYYY',\n LL: 'MMMM D, YYYY',\n LLL: 'MMMM D, YYYY HH:mm',\n LLLL: 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar: {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'sa loob ng %s',\n past: '%s ang nakalipas',\n s: 'ilang segundo',\n ss: '%d segundo',\n m: 'isang minuto',\n mm: '%d minuto',\n h: 'isang oras',\n hh: '%d oras',\n d: 'isang araw',\n dd: '%d araw',\n M: 'isang buwan',\n MM: '%d buwan',\n y: 'isang taon',\n yy: '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate$a(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n hooks.defineLocale('tlh', {\n 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('_'),\n 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('_'),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime: {\n future: translateFuture,\n past: translatePast,\n s: 'puS lup',\n ss: translate$a,\n m: 'wa’ tup',\n mm: translate$a,\n h: 'wa’ rep',\n hh: translate$a,\n d: 'wa’ jaj',\n dd: translate$a,\n M: 'wa’ jar',\n MM: translate$a,\n y: 'wa’ DIS',\n yy: translate$a\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n var suffixes$4 = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n hooks.defineLocale('tr', {\n months: 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort: 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays: 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort: 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[bugün saat] LT',\n nextDay: '[yarın saat] LT',\n nextWeek: '[gelecek] dddd [saat] LT',\n lastDay: '[dün] LT',\n lastWeek: '[geçen] dddd [saat] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s sonra',\n past: '%s önce',\n s: 'birkaç saniye',\n ss: '%d saniye',\n m: 'bir dakika',\n mm: '%d dakika',\n h: 'bir saat',\n hh: '%d saat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir ay',\n MM: '%d ay',\n y: 'bir yıl',\n yy: '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n hooks.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort: 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays: 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort: 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin: 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat: {\n LT: 'HH.mm',\n LTS: 'HH.mm.ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM [dallas] YYYY',\n LLL: 'D. MMMM [dallas] YYYY HH.mm',\n LLLL: 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM: function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar: {\n sameDay: '[oxhi à] LT',\n nextDay: '[demà à] LT',\n nextWeek: 'dddd [à] LT',\n lastDay: '[ieiri à] LT',\n lastWeek: '[sür el] dddd [lasteu à] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'osprei %s',\n past: 'ja%s',\n s: processRelativeTime$7,\n ss: processRelativeTime$7,\n m: processRelativeTime$7,\n mm: processRelativeTime$7,\n h: processRelativeTime$7,\n hh: processRelativeTime$7,\n d: processRelativeTime$7,\n dd: processRelativeTime$7,\n M: processRelativeTime$7,\n MM: processRelativeTime$7,\n y: processRelativeTime$7,\n yy: processRelativeTime$7\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime$7(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin: 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'dadkh s yan %s',\n past: 'yan %s',\n s: 'imik',\n ss: '%d imik',\n m: 'minuḍ',\n mm: '%d minuḍ',\n h: 'saɛa',\n hh: '%d tassaɛin',\n d: 'ass',\n dd: '%d ossan',\n M: 'ayowr',\n MM: '%d iyyirn',\n y: 'asgas',\n yy: '%d isgasn'\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('tzm', {\n months: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort: 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin: 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past: 'ⵢⴰⵏ %s',\n s: 'ⵉⵎⵉⴽ',\n ss: '%d ⵉⵎⵉⴽ',\n m: 'ⵎⵉⵏⵓⴺ',\n mm: '%d ⵎⵉⵏⵓⴺ',\n h: 'ⵙⴰⵄⴰ',\n hh: '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d: 'ⴰⵙⵙ',\n dd: '%d oⵙⵙⴰⵏ',\n M: 'ⴰⵢoⵓⵔ',\n MM: '%d ⵉⵢⵢⵉⵔⵏ',\n y: 'ⴰⵙⴳⴰⵙ',\n yy: '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week: {\n dow: 6, // Saturday is the first day of the week.\n doy: 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js language configuration\n\n hooks.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural$6(word, num) {\n var forms = word.split('_');\n 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]);\n }\n function relativeTimeWithPlural$4(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural$6(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n hooks.defineLocale('uk', {\n months: {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort: 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays: weekdaysCaseReplace,\n weekdaysShort: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin: 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D MMMM YYYY р.',\n LLL: 'D MMMM YYYY р., HH:mm',\n LLLL: 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar: {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime: {\n future: 'за %s',\n past: '%s тому',\n s: 'декілька секунд',\n ss: relativeTimeWithPlural$4,\n m: relativeTimeWithPlural$4,\n mm: relativeTimeWithPlural$4,\n h: 'годину',\n hh: relativeTimeWithPlural$4,\n d: 'день',\n dd: relativeTimeWithPlural$4,\n M: 'місяць',\n MM: relativeTimeWithPlural$4,\n y: 'рік',\n yy: relativeTimeWithPlural$4\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$a = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days$2 = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n hooks.defineLocale('ur', {\n months: months$a,\n monthsShort: months$a,\n weekdays: days$2,\n weekdaysShort: days$2,\n weekdaysMin: days$2,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM: function (input) {\n return 'شام' === input;\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar: {\n sameDay: '[آج بوقت] LT',\n nextDay: '[کل بوقت] LT',\n nextWeek: 'dddd [بوقت] LT',\n lastDay: '[گذشتہ روز بوقت] LT',\n lastWeek: '[گذشتہ] dddd [بوقت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s بعد',\n past: '%s قبل',\n s: 'چند سیکنڈ',\n ss: '%d سیکنڈ',\n m: 'ایک منٹ',\n mm: '%d منٹ',\n h: 'ایک گھنٹہ',\n hh: '%d گھنٹے',\n d: 'ایک دن',\n dd: '%d دن',\n M: 'ایک ماہ',\n MM: '%d ماہ',\n y: 'ایک سال',\n yy: '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays: 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort: 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin: 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Bugun soat] LT [da]',\n nextDay: '[Ertaga] LT [da]',\n nextWeek: 'dddd [kuni soat] LT [da]',\n lastDay: '[Kecha soat] LT [da]',\n lastWeek: '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Yaqin %s ichida',\n past: 'Bir necha %s oldin',\n s: 'soniya',\n ss: '%d soniya',\n m: 'bir daqiqa',\n mm: '%d daqiqa',\n h: 'bir soat',\n hh: '%d soat',\n d: 'bir kun',\n dd: '%d kun',\n M: 'bir oy',\n MM: '%d oy',\n y: 'bir yil',\n yy: '%d yil'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('uz', {\n months: 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort: 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays: 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort: 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin: 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'D MMMM YYYY, dddd HH:mm'\n },\n calendar: {\n sameDay: '[Бугун соат] LT [да]',\n nextDay: '[Эртага] LT [да]',\n nextWeek: 'dddd [куни соат] LT [да]',\n lastDay: '[Кеча соат] LT [да]',\n lastWeek: '[Утган] dddd [куни соат] LT [да]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'Якин %s ичида',\n past: 'Бир неча %s олдин',\n s: 'фурсат',\n ss: '%d фурсат',\n m: 'бир дакика',\n mm: '%d дакика',\n h: 'бир соат',\n hh: '%d соат',\n d: 'бир кун',\n dd: '%d кун',\n M: 'бир ой',\n MM: '%d ой',\n y: 'бир йил',\n yy: '%d йил'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('vi', {\n 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('_'),\n monthsShort: 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact: true,\n weekdays: 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin: 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact: true,\n meridiemParse: /sa|ch/i,\n isPM: function (input) {\n return /^ch$/i.test(input);\n },\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM [năm] YYYY',\n LLL: 'D MMMM [năm] YYYY HH:mm',\n LLLL: 'dddd, D MMMM [năm] YYYY HH:mm',\n l: 'DD/M/YYYY',\n ll: 'D MMM YYYY',\n lll: 'D MMM YYYY HH:mm',\n llll: 'ddd, D MMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s tới',\n past: '%s trước',\n s: 'vài giây',\n ss: '%d giây',\n m: 'một phút',\n mm: '%d phút',\n h: 'một giờ',\n hh: '%d giờ',\n d: 'một ngày',\n dd: '%d ngày',\n M: 'một tháng',\n MM: '%d tháng',\n y: 'một năm',\n yy: '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal: function (number) {\n return number;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('x-pseudo', {\n 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('_'),\n monthsShort: 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact: true,\n weekdays: 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort: 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin: 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[T~ódá~ý át] LT',\n nextDay: '[T~ómó~rró~w át] LT',\n nextWeek: 'dddd [át] LT',\n lastDay: '[Ý~ést~érdá~ý át] LT',\n lastWeek: '[L~ást] dddd [át] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'í~ñ %s',\n past: '%s á~gó',\n s: 'á ~féw ~sécó~ñds',\n ss: '%d s~écóñ~ds',\n m: 'á ~míñ~úté',\n mm: '%d m~íñú~tés',\n h: 'á~ñ hó~úr',\n hh: '%d h~óúrs',\n d: 'á ~dáý',\n dd: '%d d~áýs',\n M: 'á ~móñ~th',\n MM: '%d m~óñt~hs',\n y: 'á ~ýéár',\n yy: '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('yo', {\n months: 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort: 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort: 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin: 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat: {\n LT: 'h:mm A',\n LTS: 'h:mm:ss A',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY h:mm A',\n LLLL: 'dddd, D MMMM YYYY h:mm A'\n },\n calendar: {\n sameDay: '[Ònì ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay: '[Àna ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'ní %s',\n past: '%s kọjá',\n s: 'ìsẹjú aayá die',\n ss: 'aayá %d',\n m: 'ìsẹjú kan',\n mm: 'ìsẹjú %d',\n h: 'wákati kan',\n hh: 'wákati %d',\n d: 'ọjọ́ kan',\n dd: 'ọjọ́ %d',\n M: 'osù kan',\n MM: 'osù %d',\n y: 'ọdún kan',\n yy: 'ọdún %d'\n },\n dayOfMonthOrdinalParse: /ọjọ́\\s\\d{1,2}/,\n ordinal: 'ọjọ́ %d',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日Ah点mm分',\n LLLL: 'YYYY年M月D日ddddAh点mm分',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s内',\n past: '%s前',\n s: '几秒',\n ss: '%d 秒',\n m: '1 分钟',\n mm: '%d 分钟',\n h: '1 小时',\n hh: '%d 小时',\n d: '1 天',\n dd: '%d 天',\n M: '1 个月',\n MM: '%d 个月',\n y: '1 年',\n yy: '%d 年'\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天]LT',\n nextDay: '[明天]LT',\n nextWeek: '[下]ddddLT',\n lastDay: '[昨天]LT',\n lastWeek: '[上]ddddLT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n\n //! moment.js locale configuration\n\n hooks.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays: '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort: '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin: '日_一_二_三_四_五_六'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY/MM/DD',\n LL: 'YYYY年M月D日',\n LLL: 'YYYY年M月D日 HH:mm',\n LLLL: 'YYYY年M月D日dddd HH:mm',\n l: 'YYYY/M/D',\n ll: 'YYYY年M月D日',\n lll: 'YYYY年M月D日 HH:mm',\n llll: 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar: {\n sameDay: '[今天] LT',\n nextDay: '[明天] LT',\n nextWeek: '[下]dddd LT',\n lastDay: '[昨天] LT',\n lastWeek: '[上]dddd LT',\n sameElse: 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '週';\n default:\n return number;\n }\n },\n relativeTime: {\n future: '%s內',\n past: '%s前',\n s: '幾秒',\n ss: '%d 秒',\n m: '1 分鐘',\n mm: '%d 分鐘',\n h: '1 小時',\n hh: '%d 小時',\n d: '1 天',\n dd: '%d 天',\n M: '1 個月',\n MM: '%d 個月',\n y: '1 年',\n yy: '%d 年'\n }\n });\n\n hooks.locale('en');\n\n return hooks;\n\n})();","module.exports = false;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","module.exports = {};\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","'use strict';\nvar global = require('./_global');\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar validate = require('./_validate-collection');\nvar NATIVE_WEAK_MAP = require('./_validate-collection');\nvar IS_IE11 = !global.ActiveXObject && 'ActiveXObject' in global;\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (NATIVE_WEAK_MAP && IS_IE11) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2019 Denis Pushkarev (zloirock.ru)'\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","exports.f = {}.propertyIsEnumerable;\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","exports.f = Object.getOwnPropertySymbols;\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\n\nvar regexpFlags = require('./_flags');\n\nvar nativeExec = RegExp.prototype.exec;\n// This always refers to the native implementation, because the\n// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js,\n// which loads this file before patching the method.\nvar nativeReplace = String.prototype.replace;\n\nvar patchedExec = nativeExec;\n\nvar LAST_INDEX = 'lastIndex';\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/,\n re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0;\n})();\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + re.source + '$(?!\\\\s)', regexpFlags.call(re));\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX];\n\n match = nativeExec.call(re, str);\n\n if (UPDATES_LAST_INDEX_WRONG && match) {\n re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n // eslint-disable-next-line no-loop-func\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","exports.f = require('./_wks');\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","'use strict';\nrequire('./es6.regexp.flags');\nvar anObject = require('./_an-object');\nvar $flags = require('./_flags');\nvar DESCRIPTORS = require('./_descriptors');\nvar TO_STRING = 'toString';\nvar $toString = /./[TO_STRING];\n\nvar define = function (fn) {\n require('./_redefine')(RegExp.prototype, TO_STRING, fn, true);\n};\n\n// 21.2.5.14 RegExp.prototype.toString()\nif (require('./_fails')(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) {\n define(function toString() {\n var R = anObject(this);\n return '/'.concat(R.source, '/',\n 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined);\n });\n// FF44- RegExp#toString has a wrong name\n} else if ($toString.name != TO_STRING) {\n define(function toString() {\n return $toString.call(this);\n });\n}\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","module.exports = require('./_shared')('native-function-to-string', Function.toString);\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\n\nvar isRegExp = require('./_is-regexp');\nvar anObject = require('./_an-object');\nvar speciesConstructor = require('./_species-constructor');\nvar advanceStringIndex = require('./_advance-string-index');\nvar toLength = require('./_to-length');\nvar callRegExpExec = require('./_regexp-exec-abstract');\nvar regexpExec = require('./_regexp-exec');\nvar fails = require('./_fails');\nvar $min = Math.min;\nvar $push = [].push;\nvar $SPLIT = 'split';\nvar LENGTH = 'length';\nvar LAST_INDEX = 'lastIndex';\nvar MAX_UINT32 = 0xffffffff;\n\n// babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError\nvar SUPPORTS_Y = !fails(function () { RegExp(MAX_UINT32, 'y'); });\n\n// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return $split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? MAX_UINT32 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy[LAST_INDEX];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit);\n };\n } else {\n internalSplit = $split;\n }\n\n return [\n // `String.prototype.split` method\n // https://tc39.github.io/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = defined(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (SUPPORTS_Y ? 'y' : 'g');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = SUPPORTS_Y ? q : 0;\n var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q));\n var e;\n if (\n z === null ||\n (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n});\n","'use strict';\nvar at = require('./_string-at')(true);\n\n // `AdvanceStringIndex` abstract operation\n// https://tc39.github.io/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? at(S, index).length : 1);\n};\n","'use strict';\n\nvar classof = require('./_classof');\nvar builtinExec = RegExp.prototype.exec;\n\n // `RegExpExec` abstract operation\n// https://tc39.github.io/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw new TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n if (classof(R) !== 'RegExp') {\n throw new TypeError('RegExp#exec called on incompatible receiver');\n }\n return builtinExec.call(R, S);\n};\n","'use strict';\nrequire('./es6.regexp.exec');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\nvar regexpExec = require('./_regexp-exec');\n\nvar SPECIES = wks('species');\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () {\n // Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length === 2 && result[0] === 'a' && result[1] === 'b';\n})();\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n re.exec = function () { execCalled = true; return null; };\n if (KEY === 'split') {\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n }\n re[SYMBOL]('');\n return !execCalled;\n }) : undefined;\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var fns = exec(\n defined,\n SYMBOL,\n ''[KEY],\n function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) {\n if (regexp.exec === regexpExec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }\n );\n var strfn = fns[0];\n var rxfn = fns[1];\n\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","'use strict';\nvar regexpExec = require('./_regexp-exec');\nrequire('./_export')({\n target: 'RegExp',\n proto: true,\n forced: regexpExec !== /./.exec\n}, {\n exec: regexpExec\n});\n","var global = require('./_global');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar dP = require('./_object-dp').f;\nvar gOPN = require('./_object-gopn').f;\nvar isRegExp = require('./_is-regexp');\nvar $flags = require('./_flags');\nvar $RegExp = global.RegExp;\nvar Base = $RegExp;\nvar proto = $RegExp.prototype;\nvar re1 = /a/g;\nvar re2 = /a/g;\n// \"new\" creates a new object, old webkit buggy here\nvar CORRECT_NEW = new $RegExp(re1) !== re1;\n\nif (require('./_descriptors') && (!CORRECT_NEW || require('./_fails')(function () {\n re2[require('./_wks')('match')] = false;\n // RegExp constructor can alter flags and IsRegExp works correct with @@match\n return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i';\n}))) {\n $RegExp = function RegExp(p, f) {\n var tiRE = this instanceof $RegExp;\n var piRE = isRegExp(p);\n var fiU = f === undefined;\n return !tiRE && piRE && p.constructor === $RegExp && fiU ? p\n : inheritIfRequired(CORRECT_NEW\n ? new Base(piRE && !fiU ? p.source : p, f)\n : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f)\n , tiRE ? this : proto, $RegExp);\n };\n var proxy = function (key) {\n key in $RegExp || dP($RegExp, key, {\n configurable: true,\n get: function () { return Base[key]; },\n set: function (it) { Base[key] = it; }\n });\n };\n for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]);\n proto.constructor = $RegExp;\n $RegExp.prototype = proto;\n require('./_redefine')(global, 'RegExp', $RegExp);\n}\n\nrequire('./_set-species')('RegExp');\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar userAgent = require('./_user-agent');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8 || '';\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function')\n && promise.then(empty) instanceof FakePromise\n // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // we can't detect it synchronously, so just check versions\n && v8.indexOf('6.6') !== 0\n && userAgent.indexOf('Chrome/66') === -1;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n // Promise.resolve without an argument throws an error in LG WebOS 2\n var promise = Promise.resolve(undefined);\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","'use strict';\nvar global = require('./_global');\nvar has = require('./_has');\nvar cof = require('./_cof');\nvar inheritIfRequired = require('./_inherit-if-required');\nvar toPrimitive = require('./_to-primitive');\nvar fails = require('./_fails');\nvar gOPN = require('./_object-gopn').f;\nvar gOPD = require('./_object-gopd').f;\nvar dP = require('./_object-dp').f;\nvar $trim = require('./_string-trim').trim;\nvar NUMBER = 'Number';\nvar $Number = global[NUMBER];\nvar Base = $Number;\nvar proto = $Number.prototype;\n// Opera ~12 has broken Object#toString\nvar BROKEN_COF = cof(require('./_object-create')(proto)) == NUMBER;\nvar TRIM = 'trim' in String.prototype;\n\n// 7.1.3 ToNumber(argument)\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n if (typeof it == 'string' && it.length > 2) {\n it = TRIM ? it.trim() : $trim(it, 3);\n var first = it.charCodeAt(0);\n var third, radix, maxCode;\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i\n default: return +it;\n }\n for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) {\n code = digits.charCodeAt(i);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\nif (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) {\n $Number = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var that = this;\n return that instanceof $Number\n // check on 1..constructor(foo) case\n && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER)\n ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it);\n };\n for (var keys = require('./_descriptors') ? gOPN(Base) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES6 (in case, if modules with ES6 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(Base, key = keys[j]) && !has($Number, key)) {\n dP($Number, key, gOPD(Base, key));\n }\n }\n $Number.prototype = proto;\n proto.constructor = $Number;\n require('./_redefine')(global, NUMBER, $Number);\n}\n","var $export = require('./_export');\nvar defined = require('./_defined');\nvar fails = require('./_fails');\nvar spaces = require('./_string-ws');\nvar space = '[' + spaces + ']';\nvar non = '\\u200b\\u0085';\nvar ltrim = RegExp('^' + space + space + '*');\nvar rtrim = RegExp(space + space + '*$');\n\nvar exporter = function (KEY, exec, ALIAS) {\n var exp = {};\n var FORCE = fails(function () {\n return !!spaces[KEY]() || non[KEY]() != non;\n });\n var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY];\n if (ALIAS) exp[ALIAS] = fn;\n $export($export.P + $export.F * FORCE, 'String', exp);\n};\n\n// 1 -> String#trimLeft\n// 2 -> String#trimRight\n// 3 -> String#trim\nvar trim = exporter.trim = function (string, TYPE) {\n string = String(defined(string));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n};\n\nmodule.exports = exporter;\n","module.exports = '\\x09\\x0A\\x0B\\x0C\\x0D\\x20\\xA0\\u1680\\u180E\\u2000\\u2001\\u2002\\u2003' +\n '\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","import moment from './moment';\n\nexport default (function (moment) { \n 'use strict';\n\n moment.defineLocale('af', {\n months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n meridiemParse: /vm|nm/i,\n isPM : function (input) {\n return /^nm$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'vm' : 'VM';\n } else {\n return isLower ? 'nm' : 'NM';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Vandag om] LT',\n nextDay : '[Môre om] LT',\n nextWeek : 'dddd [om] LT',\n lastDay : '[Gister om] LT',\n lastWeek : '[Laas] dddd [om] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'oor %s',\n past : '%s gelede',\n s : '\\'n paar sekondes',\n ss : '%d sekondes',\n m : '\\'n minuut',\n mm : '%d minute',\n h : '\\'n uur',\n hh : '%d ure',\n d : '\\'n dag',\n dd : '%d dae',\n M : '\\'n maand',\n MM : '%d maande',\n y : '\\'n jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n },\n week : {\n dow : 1, // Maandag is die eerste dag van die week.\n doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-dz', {\n months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-kw', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap = {\n '1': '1',\n '2': '2',\n '3': '3',\n '4': '4',\n '5': '5',\n '6': '6',\n '7': '7',\n '8': '8',\n '9': '9',\n '0': '0'\n }, pluralForm = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm(number),\n str = plurals[u][pluralForm(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n moment.defineLocale('ar-ly', {\n months : months,\n monthsShort : months,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize('s'),\n ss : pluralize('s'),\n m : pluralize('m'),\n mm : pluralize('m'),\n h : pluralize('h'),\n hh : pluralize('h'),\n d : pluralize('d'),\n dd : pluralize('d'),\n M : pluralize('M'),\n MM : pluralize('M'),\n y : pluralize('y'),\n yy : pluralize('y')\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-ma', {\n months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$1 = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n };\n\n moment.defineLocale('ar-sa', {\n months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'في %s',\n past : 'منذ %s',\n s : 'ثوان',\n ss : '%d ثانية',\n m : 'دقيقة',\n mm : '%d دقائق',\n h : 'ساعة',\n hh : '%d ساعات',\n d : 'يوم',\n dd : '%d أيام',\n M : 'شهر',\n MM : '%d أشهر',\n y : 'سنة',\n yy : '%d سنوات'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$1[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ar-tn', {\n months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[اليوم على الساعة] LT',\n nextDay: '[غدا على الساعة] LT',\n nextWeek: 'dddd [على الساعة] LT',\n lastDay: '[أمس على الساعة] LT',\n lastWeek: 'dddd [على الساعة] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'في %s',\n past: 'منذ %s',\n s: 'ثوان',\n ss : '%d ثانية',\n m: 'دقيقة',\n mm: '%d دقائق',\n h: 'ساعة',\n hh: '%d ساعات',\n d: 'يوم',\n dd: '%d أيام',\n M: 'شهر',\n MM: '%d أشهر',\n y: 'سنة',\n yy: '%d سنوات'\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$2 = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n }, pluralForm$1 = function (n) {\n return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n }, plurals$1 = {\n s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n }, pluralize$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n }, months$1 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n ];\n\n moment.defineLocale('ar', {\n months : months$1,\n monthsShort : months$1,\n weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/\\u200FM/\\u200FYYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ص|م/,\n isPM : function (input) {\n return 'م' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ص';\n } else {\n return 'م';\n }\n },\n calendar : {\n sameDay: '[اليوم عند الساعة] LT',\n nextDay: '[غدًا عند الساعة] LT',\n nextWeek: 'dddd [عند الساعة] LT',\n lastDay: '[أمس عند الساعة] LT',\n lastWeek: 'dddd [عند الساعة] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'بعد %s',\n past : 'منذ %s',\n s : pluralize$1('s'),\n ss : pluralize$1('s'),\n m : pluralize$1('m'),\n mm : pluralize$1('m'),\n h : pluralize$1('h'),\n hh : pluralize$1('h'),\n d : pluralize$1('d'),\n dd : pluralize$1('d'),\n M : pluralize$1('M'),\n MM : pluralize$1('M'),\n y : pluralize$1('y'),\n yy : pluralize$1('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$2[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: '-inci',\n 5: '-inci',\n 8: '-inci',\n 70: '-inci',\n 80: '-inci',\n 2: '-nci',\n 7: '-nci',\n 20: '-nci',\n 50: '-nci',\n 3: '-üncü',\n 4: '-üncü',\n 100: '-üncü',\n 6: '-ncı',\n 9: '-uncu',\n 10: '-uncu',\n 30: '-uncu',\n 60: '-ıncı',\n 90: '-ıncı'\n };\n\n moment.defineLocale('az', {\n months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[sabah saat] LT',\n nextWeek : '[gələn həftə] dddd [saat] LT',\n lastDay : '[dünən] LT',\n lastWeek : '[keçən həftə] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s əvvəl',\n s : 'birneçə saniyə',\n ss : '%d saniyə',\n m : 'bir dəqiqə',\n mm : '%d dəqiqə',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir il',\n yy : '%d il'\n },\n meridiemParse: /gecə|səhər|gündüz|axşam/,\n isPM : function (input) {\n return /^(gündüz|axşam)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'gecə';\n } else if (hour < 12) {\n return 'səhər';\n } else if (hour < 17) {\n return 'gündüz';\n } else {\n return 'axşam';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n ordinal : function (number) {\n if (number === 0) { // special case for zero\n return number + '-ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural(word, num) {\n var forms = word.split('_');\n 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]);\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n 'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n 'dd': 'дзень_дні_дзён',\n 'MM': 'месяц_месяцы_месяцаў',\n 'yy': 'год_гады_гадоў'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвіліна' : 'хвіліну';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n }\n else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n moment.defineLocale('be', {\n months : {\n format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n },\n monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n weekdays : {\n format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n },\n weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., HH:mm',\n LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n },\n calendar : {\n sameDay: '[Сёння ў] LT',\n nextDay: '[Заўтра ў] LT',\n lastDay: '[Учора ў] LT',\n nextWeek: function () {\n return '[У] dddd [ў] LT';\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return '[У мінулую] dddd [ў] LT';\n case 1:\n case 2:\n case 4:\n return '[У мінулы] dddd [ў] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'праз %s',\n past : '%s таму',\n s : 'некалькі секунд',\n m : relativeTimeWithPlural,\n mm : relativeTimeWithPlural,\n h : relativeTimeWithPlural,\n hh : relativeTimeWithPlural,\n d : 'дзень',\n dd : relativeTimeWithPlural,\n M : 'месяц',\n MM : relativeTimeWithPlural,\n y : 'год',\n yy : relativeTimeWithPlural\n },\n meridiemParse: /ночы|раніцы|дня|вечара/,\n isPM : function (input) {\n return /^(дня|вечара)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночы';\n } else if (hour < 12) {\n return 'раніцы';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечара';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n case 'D':\n return number + '-га';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('bg', {\n months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Днес в] LT',\n nextDay : '[Утре в] LT',\n nextWeek : 'dddd [в] LT',\n lastDay : '[Вчера в] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[В изминалата] dddd [в] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[В изминалия] dddd [в] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'след %s',\n past : 'преди %s',\n s : 'няколко секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дни',\n M : 'месец',\n MM : '%d месеца',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('bm', {\n months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'MMMM [tile] D [san] YYYY',\n LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n },\n calendar : {\n sameDay : '[Bi lɛrɛ] LT',\n nextDay : '[Sini lɛrɛ] LT',\n nextWeek : 'dddd [don lɛrɛ] LT',\n lastDay : '[Kunu lɛrɛ] LT',\n lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s kɔnɔ',\n past : 'a bɛ %s bɔ',\n s : 'sanga dama dama',\n ss : 'sekondi %d',\n m : 'miniti kelen',\n mm : 'miniti %d',\n h : 'lɛrɛ kelen',\n hh : 'lɛrɛ %d',\n d : 'tile kelen',\n dd : 'tile %d',\n M : 'kalo kelen',\n MM : 'kalo %d',\n y : 'san kelen',\n yy : 'san %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$3 = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n },\n numberMap$2 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n };\n\n moment.defineLocale('bn', {\n months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n longDateFormat : {\n LT : 'A h:mm সময়',\n LTS : 'A h:mm:ss সময়',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm সময়',\n LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n },\n calendar : {\n sameDay : '[আজ] LT',\n nextDay : '[আগামীকাল] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[গতকাল] LT',\n lastWeek : '[গত] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s পরে',\n past : '%s আগে',\n s : 'কয়েক সেকেন্ড',\n ss : '%d সেকেন্ড',\n m : 'এক মিনিট',\n mm : '%d মিনিট',\n h : 'এক ঘন্টা',\n hh : '%d ঘন্টা',\n d : 'এক দিন',\n dd : '%d দিন',\n M : 'এক মাস',\n MM : '%d মাস',\n y : 'এক বছর',\n yy : '%d বছর'\n },\n preparse: function (string) {\n return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n return numberMap$2[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$3[match];\n });\n },\n meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দুপুর' && hour < 5) ||\n meridiem === 'বিকাল') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 10) {\n return 'সকাল';\n } else if (hour < 17) {\n return 'দুপুর';\n } else if (hour < 20) {\n return 'বিকাল';\n } else {\n return 'রাত';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$4 = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n },\n numberMap$3 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n };\n\n moment.defineLocale('bo', {\n months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[དི་རིང] LT',\n nextDay : '[སང་ཉིན] LT',\n nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n lastDay : '[ཁ་སང] LT',\n lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ལ་',\n past : '%s སྔན་ལ',\n s : 'ལམ་སང',\n ss : '%d སྐར་ཆ།',\n m : 'སྐར་མ་གཅིག',\n mm : '%d སྐར་མ',\n h : 'ཆུ་ཚོད་གཅིག',\n hh : '%d ཆུ་ཚོད',\n d : 'ཉིན་གཅིག',\n dd : '%d ཉིན་',\n M : 'ཟླ་བ་གཅིག',\n MM : '%d ཟླ་བ',\n y : 'ལོ་གཅིག',\n yy : '%d ལོ'\n },\n preparse: function (string) {\n return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n return numberMap$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'མཚན་མོ';\n } else if (hour < 10) {\n return 'ཞོགས་ཀས';\n } else if (hour < 17) {\n return 'ཉིན་གུང';\n } else if (hour < 20) {\n return 'དགོང་དག';\n } else {\n return 'མཚན་མོ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithMutation(number, withoutSuffix, key) {\n var format = {\n 'mm': 'munutenn',\n 'MM': 'miz',\n 'dd': 'devezh'\n };\n return number + ' ' + mutation(format[key], number);\n }\n function specialMutationForYears(number) {\n switch (lastNumber(number)) {\n case 1:\n case 3:\n case 4:\n case 5:\n case 9:\n return number + ' bloaz';\n default:\n return number + ' vloaz';\n }\n }\n function lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n }\n function mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n }\n function softMutation(text) {\n var mutationTable = {\n 'm': 'v',\n 'b': 'v',\n 'd': 'z'\n };\n if (mutationTable[text.charAt(0)] === undefined) {\n return text;\n }\n return mutationTable[text.charAt(0)] + text.substring(1);\n }\n\n moment.defineLocale('br', {\n months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h[e]mm A',\n LTS : 'h[e]mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [a viz] MMMM YYYY',\n LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n },\n calendar : {\n sameDay : '[Hiziv da] LT',\n nextDay : '[Warc\\'hoazh da] LT',\n nextWeek : 'dddd [da] LT',\n lastDay : '[Dec\\'h da] LT',\n lastWeek : 'dddd [paset da] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'a-benn %s',\n past : '%s \\'zo',\n s : 'un nebeud segondennoù',\n ss : '%d eilenn',\n m : 'ur vunutenn',\n mm : relativeTimeWithMutation,\n h : 'un eur',\n hh : '%d eur',\n d : 'un devezh',\n dd : relativeTimeWithMutation,\n M : 'ur miz',\n MM : relativeTimeWithMutation,\n y : 'ur bloaz',\n yy : specialMutationForYears\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n ordinal : function (number) {\n var output = (number === 1) ? 'añ' : 'vet';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n moment.defineLocale('bs', {\n months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate,\n m : translate,\n mm : translate,\n h : translate,\n hh : translate,\n d : 'dan',\n dd : translate,\n M : 'mjesec',\n MM : translate,\n y : 'godinu',\n yy : translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ca', {\n months : {\n standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n isFormat: /D[oD]?(\\s)+MMMM/\n },\n monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [de] YYYY',\n ll : 'D MMM YYYY',\n LLL : 'D MMMM [de] YYYY [a les] H:mm',\n lll : 'D MMM YYYY, H:mm',\n LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n llll : 'ddd D MMM YYYY, H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextDay : function () {\n return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastDay : function () {\n return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'd\\'aquí %s',\n past : 'fa %s',\n s : 'uns segons',\n ss : '%d segons',\n m : 'un minut',\n mm : '%d minuts',\n h : 'una hora',\n hh : '%d hores',\n d : 'un dia',\n dd : '%d dies',\n M : 'un mes',\n MM : '%d mesos',\n y : 'un any',\n yy : '%d anys'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal : function (number, period) {\n var output = (number === 1) ? 'r' :\n (number === 2) ? 'n' :\n (number === 3) ? 'r' :\n (number === 4) ? 't' : 'è';\n if (period === 'w' || period === 'W') {\n output = 'a';\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$2 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n\n var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n var monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n function plural$1(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n }\n function translate$1(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'dny' : 'dní');\n } else {\n return result + 'dny';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'měsíce' : 'měsíců');\n } else {\n return result + 'měsíci';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n }\n\n moment.defineLocale('cs', {\n months : months$2,\n monthsShort : monthsShort,\n monthsRegex : monthsRegex,\n monthsShortRegex : monthsRegex,\n // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n monthsStrictRegex : /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n monthsShortStrictRegex : /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n monthsParse : monthsParse,\n longMonthsParse : monthsParse,\n shortMonthsParse : monthsParse,\n weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm',\n l : 'D. M. YYYY'\n },\n calendar : {\n sameDay: '[dnes v] LT',\n nextDay: '[zítra v] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v neděli v] LT';\n case 1:\n case 2:\n return '[v] dddd [v] LT';\n case 3:\n return '[ve středu v] LT';\n case 4:\n return '[ve čtvrtek v] LT';\n case 5:\n return '[v pátek v] LT';\n case 6:\n return '[v sobotu v] LT';\n }\n },\n lastDay: '[včera v] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulou neděli v] LT';\n case 1:\n case 2:\n return '[minulé] dddd [v] LT';\n case 3:\n return '[minulou středu v] LT';\n case 4:\n case 5:\n return '[minulý] dddd [v] LT';\n case 6:\n return '[minulou sobotu v] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'před %s',\n s : translate$1,\n ss : translate$1,\n m : translate$1,\n mm : translate$1,\n h : translate$1,\n hh : translate$1,\n d : translate$1,\n dd : translate$1,\n M : translate$1,\n MM : translate$1,\n y : translate$1,\n yy : translate$1\n },\n dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('cv', {\n months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n },\n calendar : {\n sameDay: '[Паян] LT [сехетре]',\n nextDay: '[Ыран] LT [сехетре]',\n lastDay: '[Ӗнер] LT [сехетре]',\n nextWeek: '[Ҫитес] dddd LT [сехетре]',\n lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n sameElse: 'L'\n },\n relativeTime : {\n future : function (output) {\n var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n return output + affix;\n },\n past : '%s каялла',\n s : 'пӗр-ик ҫеккунт',\n ss : '%d ҫеккунт',\n m : 'пӗр минут',\n mm : '%d минут',\n h : 'пӗр сехет',\n hh : '%d сехет',\n d : 'пӗр кун',\n dd : '%d кун',\n M : 'пӗр уйӑх',\n MM : '%d уйӑх',\n y : 'пӗр ҫул',\n yy : '%d ҫул'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n ordinal : '%d-мӗш',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n weekdaysParseExact : true,\n // time formats are the same as en-gb\n longDateFormat: {\n LT: 'HH:mm',\n LTS : 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Heddiw am] LT',\n nextDay: '[Yfory am] LT',\n nextWeek: 'dddd [am] LT',\n lastDay: '[Ddoe am] LT',\n lastWeek: 'dddd [diwethaf am] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'mewn %s',\n past: '%s yn ôl',\n s: 'ychydig eiliadau',\n ss: '%d eiliad',\n m: 'munud',\n mm: '%d munud',\n h: 'awr',\n hh: '%d awr',\n d: 'diwrnod',\n dd: '%d diwrnod',\n M: 'mis',\n MM: '%d mis',\n y: 'blwyddyn',\n yy: '%d flynedd'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n ordinal: function (number) {\n var b = number,\n output = '',\n lookup = [\n '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n ];\n if (b > 20) {\n if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n output = 'fed'; // not 30ain, 70ain or 90ain\n } else {\n output = 'ain';\n }\n } else if (b > 0) {\n output = lookup[b];\n }\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('da', {\n months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay : '[i dag kl.] LT',\n nextDay : '[i morgen kl.] LT',\n nextWeek : 'på dddd [kl.] LT',\n lastDay : '[i går kl.] LT',\n lastWeek : '[i] dddd[s kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'få sekunder',\n ss : '%d sekunder',\n m : 'et minut',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dage',\n M : 'en måned',\n MM : '%d måneder',\n y : 'et år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('de-at', {\n months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime,\n mm : '%d Minuten',\n h : processRelativeTime,\n hh : '%d Stunden',\n d : processRelativeTime,\n dd : processRelativeTime,\n M : processRelativeTime,\n MM : processRelativeTime,\n y : processRelativeTime,\n yy : processRelativeTime\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$1(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('de-ch', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime$1,\n mm : '%d Minuten',\n h : processRelativeTime$1,\n hh : '%d Stunden',\n d : processRelativeTime$1,\n dd : processRelativeTime$1,\n M : processRelativeTime$1,\n MM : processRelativeTime$1,\n y : processRelativeTime$1,\n yy : processRelativeTime$1\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$2(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eine Minute', 'einer Minute'],\n 'h': ['eine Stunde', 'einer Stunde'],\n 'd': ['ein Tag', 'einem Tag'],\n 'dd': [number + ' Tage', number + ' Tagen'],\n 'M': ['ein Monat', 'einem Monat'],\n 'MM': [number + ' Monate', number + ' Monaten'],\n 'y': ['ein Jahr', 'einem Jahr'],\n 'yy': [number + ' Jahre', number + ' Jahren']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('de', {\n months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY HH:mm',\n LLLL : 'dddd, D. MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[heute um] LT [Uhr]',\n sameElse: 'L',\n nextDay: '[morgen um] LT [Uhr]',\n nextWeek: 'dddd [um] LT [Uhr]',\n lastDay: '[gestern um] LT [Uhr]',\n lastWeek: '[letzten] dddd [um] LT [Uhr]'\n },\n relativeTime : {\n future : 'in %s',\n past : 'vor %s',\n s : 'ein paar Sekunden',\n ss : '%d Sekunden',\n m : processRelativeTime$2,\n mm : '%d Minuten',\n h : processRelativeTime$2,\n hh : '%d Stunden',\n d : processRelativeTime$2,\n dd : processRelativeTime$2,\n M : processRelativeTime$2,\n MM : processRelativeTime$2,\n y : processRelativeTime$2,\n yy : processRelativeTime$2\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$3 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n ], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n ];\n\n moment.defineLocale('dv', {\n months : months$3,\n monthsShort : months$3,\n weekdays : weekdays,\n weekdaysShort : weekdays,\n weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n longDateFormat : {\n\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'D/M/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /މކ|މފ/,\n isPM : function (input) {\n return 'މފ' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'މކ';\n } else {\n return 'މފ';\n }\n },\n calendar : {\n sameDay : '[މިއަދު] LT',\n nextDay : '[މާދަމާ] LT',\n nextWeek : 'dddd LT',\n lastDay : '[އިއްޔެ] LT',\n lastWeek : '[ފާއިތުވި] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ތެރޭގައި %s',\n past : 'ކުރިން %s',\n s : 'ސިކުންތުކޮޅެއް',\n ss : 'd% ސިކުންތު',\n m : 'މިނިޓެއް',\n mm : 'މިނިޓު %d',\n h : 'ގަޑިއިރެއް',\n hh : 'ގަޑިއިރު %d',\n d : 'ދުވަހެއް',\n dd : 'ދުވަސް %d',\n M : 'މަހެއް',\n MM : 'މަސް %d',\n y : 'އަހަރެއް',\n yy : 'އަހަރު %d'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 7, // Sunday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n function isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n }\n\n //! moment.js locale configuration\n\n moment.defineLocale('el', {\n monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n return this._monthsGenitiveEl[momentToFormat.month()];\n } else {\n return this._monthsNominativeEl[momentToFormat.month()];\n }\n },\n monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'μμ' : 'ΜΜ';\n } else {\n return isLower ? 'πμ' : 'ΠΜ';\n }\n },\n isPM : function (input) {\n return ((input + '').toLowerCase()[0] === 'μ');\n },\n meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendarEl : {\n sameDay : '[Σήμερα {}] LT',\n nextDay : '[Αύριο {}] LT',\n nextWeek : 'dddd [{}] LT',\n lastDay : '[Χθες {}] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 6:\n return '[το προηγούμενο] dddd [{}] LT';\n default:\n return '[την προηγούμενη] dddd [{}] LT';\n }\n },\n sameElse : 'L'\n },\n calendar : function (key, mom) {\n var output = this._calendarEl[key],\n hours = mom && mom.hours();\n if (isFunction(output)) {\n output = output.apply(mom);\n }\n return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n },\n relativeTime : {\n future : 'σε %s',\n past : '%s πριν',\n s : 'λίγα δευτερόλεπτα',\n ss : '%d δευτερόλεπτα',\n m : 'ένα λεπτό',\n mm : '%d λεπτά',\n h : 'μία ώρα',\n hh : '%d ώρες',\n d : 'μία μέρα',\n dd : '%d μέρες',\n M : 'ένας μήνας',\n MM : '%d μήνες',\n y : 'ένας χρόνος',\n yy : '%d χρόνια'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}η/,\n ordinal: '%dη',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4st is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-SG', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-au', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-ca', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'YYYY-MM-DD',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY h:mm A',\n LLLL : 'dddd, MMMM D, YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-gb', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-ie', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-il', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('en-nz', {\n months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Today at] LT',\n nextDay : '[Tomorrow at] LT',\n nextWeek : 'dddd [at] LT',\n lastDay : '[Yesterday at] LT',\n lastWeek : '[Last] dddd [at] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'in %s',\n past : '%s ago',\n s : 'a few seconds',\n ss : '%d seconds',\n m : 'a minute',\n mm : '%d minutes',\n h : 'an hour',\n hh : '%d hours',\n d : 'a day',\n dd : '%d days',\n M : 'a month',\n MM : '%d months',\n y : 'a year',\n yy : '%d years'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('eo', {\n months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D[-a de] MMMM, YYYY',\n LLL : 'D[-a de] MMMM, YYYY HH:mm',\n LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n },\n meridiemParse: /[ap]\\.t\\.m/i,\n isPM: function (input) {\n return input.charAt(0).toLowerCase() === 'p';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'p.t.m.' : 'P.T.M.';\n } else {\n return isLower ? 'a.t.m.' : 'A.T.M.';\n }\n },\n calendar : {\n sameDay : '[Hodiaŭ je] LT',\n nextDay : '[Morgaŭ je] LT',\n nextWeek : 'dddd [je] LT',\n lastDay : '[Hieraŭ je] LT',\n lastWeek : '[pasinta] dddd [je] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'post %s',\n past : 'antaŭ %s',\n s : 'sekundoj',\n ss : '%d sekundoj',\n m : 'minuto',\n mm : '%d minutoj',\n h : 'horo',\n hh : '%d horoj',\n d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n dd : '%d tagoj',\n M : 'monato',\n MM : '%d monatoj',\n y : 'jaro',\n yy : '%d jaroj'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}a/,\n ordinal : '%da',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex$1 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es-do', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$1[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex$1,\n monthsShortRegex: monthsRegex$1,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$1,\n longMonthsParse: monthsParse$1,\n shortMonthsParse: monthsParse$1,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex$2 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es-us', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse$2,\n longMonthsParse: monthsParse$2,\n shortMonthsParse: monthsParse$2,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'MM/DD/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY h:mm A',\n LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n var monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n moment.defineLocale('es', {\n months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortDot$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex : monthsRegex$3,\n monthsShortRegex : monthsRegex$3,\n monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse : monthsParse$3,\n longMonthsParse : monthsParse$3,\n shortMonthsParse : monthsParse$3,\n weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextDay : function () {\n return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastDay : function () {\n return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n lastWeek : function () {\n return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'en %s',\n past : 'hace %s',\n s : 'unos segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'una hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un año',\n yy : '%d años'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$3(number, withoutSuffix, key, isFuture) {\n var format = {\n 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n 'ss': [number + 'sekundi', number + 'sekundit'],\n 'm' : ['ühe minuti', 'üks minut'],\n 'mm': [number + ' minuti', number + ' minutit'],\n 'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n 'hh': [number + ' tunni', number + ' tundi'],\n 'd' : ['ühe päeva', 'üks päev'],\n 'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n 'MM': [number + ' kuu', number + ' kuud'],\n 'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n 'yy': [number + ' aasta', number + ' aastat']\n };\n if (withoutSuffix) {\n return format[key][2] ? format[key][2] : format[key][1];\n }\n return isFuture ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('et', {\n months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n weekdaysMin : 'P_E_T_K_N_R_L'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Täna,] LT',\n nextDay : '[Homme,] LT',\n nextWeek : '[Järgmine] dddd LT',\n lastDay : '[Eile,] LT',\n lastWeek : '[Eelmine] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s pärast',\n past : '%s tagasi',\n s : processRelativeTime$3,\n ss : processRelativeTime$3,\n m : processRelativeTime$3,\n mm : processRelativeTime$3,\n h : processRelativeTime$3,\n hh : processRelativeTime$3,\n d : processRelativeTime$3,\n dd : '%d päeva',\n M : processRelativeTime$3,\n MM : processRelativeTime$3,\n y : processRelativeTime$3,\n yy : processRelativeTime$3\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('eu', {\n months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n monthsParseExact : true,\n weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY[ko] MMMM[ren] D[a]',\n LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n l : 'YYYY-M-D',\n ll : 'YYYY[ko] MMM D[a]',\n lll : 'YYYY[ko] MMM D[a] HH:mm',\n llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n },\n calendar : {\n sameDay : '[gaur] LT[etan]',\n nextDay : '[bihar] LT[etan]',\n nextWeek : 'dddd LT[etan]',\n lastDay : '[atzo] LT[etan]',\n lastWeek : '[aurreko] dddd LT[etan]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s barru',\n past : 'duela %s',\n s : 'segundo batzuk',\n ss : '%d segundo',\n m : 'minutu bat',\n mm : '%d minutu',\n h : 'ordu bat',\n hh : '%d ordu',\n d : 'egun bat',\n dd : '%d egun',\n M : 'hilabete bat',\n MM : '%d hilabete',\n y : 'urte bat',\n yy : '%d urte'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$5 = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n }, numberMap$4 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n };\n\n moment.defineLocale('fa', {\n months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /قبل از ظهر|بعد از ظهر/,\n isPM: function (input) {\n return /بعد از ظهر/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'قبل از ظهر';\n } else {\n return 'بعد از ظهر';\n }\n },\n calendar : {\n sameDay : '[امروز ساعت] LT',\n nextDay : '[فردا ساعت] LT',\n nextWeek : 'dddd [ساعت] LT',\n lastDay : '[دیروز ساعت] LT',\n lastWeek : 'dddd [پیش] [ساعت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'در %s',\n past : '%s پیش',\n s : 'چند ثانیه',\n ss : 'ثانیه d%',\n m : 'یک دقیقه',\n mm : '%d دقیقه',\n h : 'یک ساعت',\n hh : '%d ساعت',\n d : 'یک روز',\n dd : '%d روز',\n M : 'یک ماه',\n MM : '%d ماه',\n y : 'یک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/[۰-۹]/g, function (match) {\n return numberMap$4[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[match];\n }).replace(/,/g, '،');\n },\n dayOfMonthOrdinalParse: /\\d{1,2}م/,\n ordinal : '%dم',\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n numbersFuture = [\n 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n numbersPast[7], numbersPast[8], numbersPast[9]\n ];\n function translate$2(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n return isFuture ? 'sekunnin' : 'sekuntia';\n case 'm':\n return isFuture ? 'minuutin' : 'minuutti';\n case 'mm':\n result = isFuture ? 'minuutin' : 'minuuttia';\n break;\n case 'h':\n return isFuture ? 'tunnin' : 'tunti';\n case 'hh':\n result = isFuture ? 'tunnin' : 'tuntia';\n break;\n case 'd':\n return isFuture ? 'päivän' : 'päivä';\n case 'dd':\n result = isFuture ? 'päivän' : 'päivää';\n break;\n case 'M':\n return isFuture ? 'kuukauden' : 'kuukausi';\n case 'MM':\n result = isFuture ? 'kuukauden' : 'kuukautta';\n break;\n case 'y':\n return isFuture ? 'vuoden' : 'vuosi';\n case 'yy':\n result = isFuture ? 'vuoden' : 'vuotta';\n break;\n }\n result = verbalNumber(number, isFuture) + ' ' + result;\n return result;\n }\n function verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n }\n\n moment.defineLocale('fi', {\n months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'Do MMMM[ta] YYYY',\n LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n l : 'D.M.YYYY',\n ll : 'Do MMM YYYY',\n lll : 'Do MMM YYYY, [klo] HH.mm',\n llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n },\n calendar : {\n sameDay : '[tänään] [klo] LT',\n nextDay : '[huomenna] [klo] LT',\n nextWeek : 'dddd [klo] LT',\n lastDay : '[eilen] [klo] LT',\n lastWeek : '[viime] dddd[na] [klo] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s päästä',\n past : '%s sitten',\n s : translate$2,\n ss : translate$2,\n m : translate$2,\n mm : translate$2,\n h : translate$2,\n hh : translate$2,\n d : translate$2,\n dd : translate$2,\n M : translate$2,\n MM : translate$2,\n y : translate$2,\n yy : translate$2\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fo', {\n months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D. MMMM, YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Í dag kl.] LT',\n nextDay : '[Í morgin kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[Í gjár kl.] LT',\n lastWeek : '[síðstu] dddd [kl] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'um %s',\n past : '%s síðani',\n s : 'fá sekund',\n ss : '%d sekundir',\n m : 'ein minuttur',\n mm : '%d minuttir',\n h : 'ein tími',\n hh : '%d tímar',\n d : 'ein dagur',\n dd : '%d dagar',\n M : 'ein mánaður',\n MM : '%d mánaðir',\n y : 'eitt ár',\n yy : '%d ár'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fr-ca', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fr-ch', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n ordinal : function (number, period) {\n switch (period) {\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'D':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('fr', {\n months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n monthsParseExact : true,\n weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Aujourd’hui à] LT',\n nextDay : '[Demain à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[Hier à] LT',\n lastWeek : 'dddd [dernier à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dans %s',\n past : 'il y a %s',\n s : 'quelques secondes',\n ss : '%d secondes',\n m : 'une minute',\n mm : '%d minutes',\n h : 'une heure',\n hh : '%d heures',\n d : 'un jour',\n dd : '%d jours',\n M : 'un mois',\n MM : '%d mois',\n y : 'un an',\n yy : '%d ans'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n ordinal : function (number, period) {\n switch (period) {\n // TODO: Return 'e' when day of month > 1. Move this case inside\n // block for masculine words below.\n // See https://github.com/moment/moment/issues/3375\n case 'D':\n return number + (number === 1 ? 'er' : '');\n\n // Words with masculine grammatical gender: mois, trimestre, jour\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n return number + (number === 1 ? 'er' : 'e');\n\n // Words with feminine grammatical gender: semaine\n case 'w':\n case 'W':\n return number + (number === 1 ? 're' : 'e');\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n moment.defineLocale('fy', {\n months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots[m.month()];\n } else {\n return monthsShortWithDots[m.month()];\n }\n },\n monthsParseExact : true,\n weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[hjoed om] LT',\n nextDay: '[moarn om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[juster om] LT',\n lastWeek: '[ôfrûne] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'oer %s',\n past : '%s lyn',\n s : 'in pear sekonden',\n ss : '%d sekonden',\n m : 'ien minút',\n mm : '%d minuten',\n h : 'ien oere',\n hh : '%d oeren',\n d : 'ien dei',\n dd : '%d dagen',\n M : 'ien moanne',\n MM : '%d moannen',\n y : 'ien jier',\n yy : '%d jierren'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n\n var months$4 = [\n 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'\n ];\n\n var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];\n\n var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];\n\n var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];\n\n var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];\n\n moment.defineLocale('ga', {\n months: months$4,\n monthsShort: monthsShort$4,\n monthsParseExact: true,\n weekdays: weekdays$1,\n weekdaysShort: weekdaysShort,\n weekdaysMin: weekdaysMin,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[Inniu ag] LT',\n nextDay: '[Amárach ag] LT',\n nextWeek: 'dddd [ag] LT',\n lastDay: '[Inné aig] LT',\n lastWeek: 'dddd [seo caite] [ag] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i %s',\n past: '%s ó shin',\n s: 'cúpla soicind',\n ss: '%d soicind',\n m: 'nóiméad',\n mm: '%d nóiméad',\n h: 'uair an chloig',\n hh: '%d uair an chloig',\n d: 'lá',\n dd: '%d lá',\n M: 'mí',\n MM: '%d mí',\n y: 'bliain',\n yy: '%d bliain'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n ordinal: function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$5 = [\n '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'\n ];\n\n var monthsShort$5 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n var weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n moment.defineLocale('gd', {\n months : months$5,\n monthsShort : monthsShort$5,\n monthsParseExact : true,\n weekdays : weekdays$2,\n weekdaysShort : weekdaysShort$1,\n weekdaysMin : weekdaysMin$1,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[An-diugh aig] LT',\n nextDay : '[A-màireach aig] LT',\n nextWeek : 'dddd [aig] LT',\n lastDay : '[An-dè aig] LT',\n lastWeek : 'dddd [seo chaidh] [aig] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ann an %s',\n past : 'bho chionn %s',\n s : 'beagan diogan',\n ss : '%d diogan',\n m : 'mionaid',\n mm : '%d mionaidean',\n h : 'uair',\n hh : '%d uairean',\n d : 'latha',\n dd : '%d latha',\n M : 'mìos',\n MM : '%d mìosan',\n y : 'bliadhna',\n yy : '%d bliadhna'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n ordinal : function (number) {\n var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('gl', {\n months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY H:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n },\n calendar : {\n sameDay : function () {\n return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextDay : function () {\n return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n },\n nextWeek : function () {\n return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n lastDay : function () {\n return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n },\n lastWeek : function () {\n return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : function (str) {\n if (str.indexOf('un') === 0) {\n return 'n' + str;\n }\n return 'en ' + str;\n },\n past : 'hai %s',\n s : 'uns segundos',\n ss : '%d segundos',\n m : 'un minuto',\n mm : '%d minutos',\n h : 'unha hora',\n hh : '%d horas',\n d : 'un día',\n dd : '%d días',\n M : 'un mes',\n MM : '%d meses',\n y : 'un ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$4(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['thodde secondanim', 'thodde second'],\n 'ss': [number + ' secondanim', number + ' second'],\n 'm': ['eka mintan', 'ek minute'],\n 'mm': [number + ' mintanim', number + ' mintam'],\n 'h': ['eka voran', 'ek vor'],\n 'hh': [number + ' voranim', number + ' voram'],\n 'd': ['eka disan', 'ek dis'],\n 'dd': [number + ' disanim', number + ' dis'],\n 'M': ['eka mhoinean', 'ek mhoino'],\n 'MM': [number + ' mhoineanim', number + ' mhoine'],\n 'y': ['eka vorsan', 'ek voros'],\n 'yy': [number + ' vorsanim', number + ' vorsam']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n\n moment.defineLocale('gom-latn', {\n months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'A h:mm [vazta]',\n LTS : 'A h:mm:ss [vazta]',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY A h:mm [vazta]',\n LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n },\n calendar : {\n sameDay: '[Aiz] LT',\n nextDay: '[Faleam] LT',\n nextWeek: '[Ieta to] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fatlo] dddd[,] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s',\n past : '%s adim',\n s : processRelativeTime$4,\n ss : processRelativeTime$4,\n m : processRelativeTime$4,\n mm : processRelativeTime$4,\n h : processRelativeTime$4,\n hh : processRelativeTime$4,\n d : processRelativeTime$4,\n dd : processRelativeTime$4,\n M : processRelativeTime$4,\n MM : processRelativeTime$4,\n y : processRelativeTime$4,\n yy : processRelativeTime$4\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n ordinal : function (number, period) {\n switch (period) {\n // the ordinal 'er' only applies to day of the month\n case 'D':\n return number + 'er';\n default:\n case 'M':\n case 'Q':\n case 'DDD':\n case 'd':\n case 'w':\n case 'W':\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n },\n meridiemParse: /rati|sokalli|donparam|sanje/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'rati') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'sokalli') {\n return hour;\n } else if (meridiem === 'donparam') {\n return hour > 12 ? hour : hour + 12;\n } else if (meridiem === 'sanje') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'rati';\n } else if (hour < 12) {\n return 'sokalli';\n } else if (hour < 16) {\n return 'donparam';\n } else if (hour < 20) {\n return 'sanje';\n } else {\n return 'rati';\n }\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$6 = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap$5 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\n moment.defineLocale('gu', {\n months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n longDateFormat: {\n LT: 'A h:mm વાગ્યે',\n LTS: 'A h:mm:ss વાગ્યે',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n },\n calendar: {\n sameDay: '[આજ] LT',\n nextDay: '[કાલે] LT',\n nextWeek: 'dddd, LT',\n lastDay: '[ગઇકાલે] LT',\n lastWeek: '[પાછલા] dddd, LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s મા',\n past: '%s પેહલા',\n s: 'અમુક પળો',\n ss: '%d સેકંડ',\n m: 'એક મિનિટ',\n mm: '%d મિનિટ',\n h: 'એક કલાક',\n hh: '%d કલાક',\n d: 'એક દિવસ',\n dd: '%d દિવસ',\n M: 'એક મહિનો',\n MM: '%d મહિનો',\n y: 'એક વર્ષ',\n yy: '%d વર્ષ'\n },\n preparse: function (string) {\n return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n return numberMap$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[match];\n });\n },\n // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'રાત') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'સવાર') {\n return hour;\n } else if (meridiem === 'બપોર') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'સાંજ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'રાત';\n } else if (hour < 10) {\n return 'સવાર';\n } else if (hour < 17) {\n return 'બપોર';\n } else if (hour < 20) {\n return 'સાંજ';\n } else {\n return 'રાત';\n }\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('he', {\n months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [ב]MMMM YYYY',\n LLL : 'D [ב]MMMM YYYY HH:mm',\n LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n l : 'D/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[היום ב־]LT',\n nextDay : '[מחר ב־]LT',\n nextWeek : 'dddd [בשעה] LT',\n lastDay : '[אתמול ב־]LT',\n lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'בעוד %s',\n past : 'לפני %s',\n s : 'מספר שניות',\n ss : '%d שניות',\n m : 'דקה',\n mm : '%d דקות',\n h : 'שעה',\n hh : function (number) {\n if (number === 2) {\n return 'שעתיים';\n }\n return number + ' שעות';\n },\n d : 'יום',\n dd : function (number) {\n if (number === 2) {\n return 'יומיים';\n }\n return number + ' ימים';\n },\n M : 'חודש',\n MM : function (number) {\n if (number === 2) {\n return 'חודשיים';\n }\n return number + ' חודשים';\n },\n y : 'שנה',\n yy : function (number) {\n if (number === 2) {\n return 'שנתיים';\n } else if (number % 10 === 0 && number !== 10) {\n return number + ' שנה';\n }\n return number + ' שנים';\n }\n },\n meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n isPM : function (input) {\n return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 5) {\n return 'לפנות בוקר';\n } else if (hour < 10) {\n return 'בבוקר';\n } else if (hour < 12) {\n return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n } else if (hour < 18) {\n return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n } else {\n return 'בערב';\n }\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$7 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap$6 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n moment.defineLocale('hi', {\n months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n monthsParseExact: true,\n weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm बजे',\n LTS : 'A h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[कल] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[कल] LT',\n lastWeek : '[पिछले] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s में',\n past : '%s पहले',\n s : 'कुछ ही क्षण',\n ss : '%d सेकंड',\n m : 'एक मिनट',\n mm : '%d मिनट',\n h : 'एक घंटा',\n hh : '%d घंटे',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महीने',\n MM : '%d महीने',\n y : 'एक वर्ष',\n yy : '%d वर्ष'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$6[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$7[match];\n });\n },\n // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n meridiemParse: /रात|सुबह|दोपहर|शाम/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सुबह') {\n return hour;\n } else if (meridiem === 'दोपहर') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'शाम') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात';\n } else if (hour < 10) {\n return 'सुबह';\n } else if (hour < 17) {\n return 'दोपहर';\n } else if (hour < 20) {\n return 'शाम';\n } else {\n return 'रात';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function translate$3(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n if (number === 1) {\n result += 'sekunda';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sekunde';\n } else {\n result += 'sekundi';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n case 'mm':\n if (number === 1) {\n result += 'minuta';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'minute';\n } else {\n result += 'minuta';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'jedan sat' : 'jednog sata';\n case 'hh':\n if (number === 1) {\n result += 'sat';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'sata';\n } else {\n result += 'sati';\n }\n return result;\n case 'dd':\n if (number === 1) {\n result += 'dan';\n } else {\n result += 'dana';\n }\n return result;\n case 'MM':\n if (number === 1) {\n result += 'mjesec';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'mjeseca';\n } else {\n result += 'mjeseci';\n }\n return result;\n case 'yy':\n if (number === 1) {\n result += 'godina';\n } else if (number === 2 || number === 3 || number === 4) {\n result += 'godine';\n } else {\n result += 'godina';\n }\n return result;\n }\n }\n\n moment.defineLocale('hr', {\n months : {\n format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n },\n monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danas u] LT',\n nextDay : '[sutra u] LT',\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[jučer u] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n return '[prošlu] dddd [u] LT';\n case 6:\n return '[prošle] [subote] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prošli] dddd [u] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'par sekundi',\n ss : translate$3,\n m : translate$3,\n mm : translate$3,\n h : translate$3,\n hh : translate$3,\n d : 'dan',\n dd : translate$3,\n M : 'mjesec',\n MM : translate$3,\n y : 'godinu',\n yy : translate$3\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate$4(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n case 'm':\n return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'mm':\n return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n case 'h':\n return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'hh':\n return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n case 'd':\n return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'dd':\n return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n case 'M':\n return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'MM':\n return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n case 'y':\n return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n case 'yy':\n return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n }\n return '';\n }\n function week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n }\n\n moment.defineLocale('hu', {\n months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY. MMMM D.',\n LLL : 'YYYY. MMMM D. H:mm',\n LLLL : 'YYYY. MMMM D., dddd H:mm'\n },\n meridiemParse: /de|du/i,\n isPM: function (input) {\n return input.charAt(1).toLowerCase() === 'u';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower === true ? 'de' : 'DE';\n } else {\n return isLower === true ? 'du' : 'DU';\n }\n },\n calendar : {\n sameDay : '[ma] LT[-kor]',\n nextDay : '[holnap] LT[-kor]',\n nextWeek : function () {\n return week.call(this, true);\n },\n lastDay : '[tegnap] LT[-kor]',\n lastWeek : function () {\n return week.call(this, false);\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s múlva',\n past : '%s',\n s : translate$4,\n ss : translate$4,\n m : translate$4,\n mm : translate$4,\n h : translate$4,\n hh : translate$4,\n d : translate$4,\n dd : translate$4,\n M : translate$4,\n MM : translate$4,\n y : translate$4,\n yy : translate$4\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('hy-am', {\n months : {\n format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n },\n monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY թ.',\n LLL : 'D MMMM YYYY թ., HH:mm',\n LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n },\n calendar : {\n sameDay: '[այսօր] LT',\n nextDay: '[վաղը] LT',\n lastDay: '[երեկ] LT',\n nextWeek: function () {\n return 'dddd [օրը ժամը] LT';\n },\n lastWeek: function () {\n return '[անցած] dddd [օրը ժամը] LT';\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s հետո',\n past : '%s առաջ',\n s : 'մի քանի վայրկյան',\n ss : '%d վայրկյան',\n m : 'րոպե',\n mm : '%d րոպե',\n h : 'ժամ',\n hh : '%d ժամ',\n d : 'օր',\n dd : '%d օր',\n M : 'ամիս',\n MM : '%d ամիս',\n y : 'տարի',\n yy : '%d տարի'\n },\n meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n isPM: function (input) {\n return /^(ցերեկվա|երեկոյան)$/.test(input);\n },\n meridiem : function (hour) {\n if (hour < 4) {\n return 'գիշերվա';\n } else if (hour < 12) {\n return 'առավոտվա';\n } else if (hour < 17) {\n return 'ցերեկվա';\n } else {\n return 'երեկոյան';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'DDD':\n case 'w':\n case 'W':\n case 'DDDo':\n if (number === 1) {\n return number + '-ին';\n }\n return number + '-րդ';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('id', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|siang|sore|malam/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'siang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sore' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'siang';\n } else if (hours < 19) {\n return 'sore';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Besok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kemarin pukul] LT',\n lastWeek : 'dddd [lalu pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lalu',\n s : 'beberapa detik',\n ss : '%d detik',\n m : 'semenit',\n mm : '%d menit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n }\n function translate$5(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n case 'ss':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mínúta' : 'mínútu';\n case 'mm':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n } else if (withoutSuffix) {\n return result + 'mínúta';\n }\n return result + 'mínútu';\n case 'hh':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n }\n return result + 'klukkustund';\n case 'd':\n if (withoutSuffix) {\n return 'dagur';\n }\n return isFuture ? 'dag' : 'degi';\n case 'dd':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'dagar';\n }\n return result + (isFuture ? 'daga' : 'dögum');\n } else if (withoutSuffix) {\n return result + 'dagur';\n }\n return result + (isFuture ? 'dag' : 'degi');\n case 'M':\n if (withoutSuffix) {\n return 'mánuður';\n }\n return isFuture ? 'mánuð' : 'mánuði';\n case 'MM':\n if (plural$2(number)) {\n if (withoutSuffix) {\n return result + 'mánuðir';\n }\n return result + (isFuture ? 'mánuði' : 'mánuðum');\n } else if (withoutSuffix) {\n return result + 'mánuður';\n }\n return result + (isFuture ? 'mánuð' : 'mánuði');\n case 'y':\n return withoutSuffix || isFuture ? 'ár' : 'ári';\n case 'yy':\n if (plural$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n moment.defineLocale('is', {\n months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n },\n calendar : {\n sameDay : '[í dag kl.] LT',\n nextDay : '[á morgun kl.] LT',\n nextWeek : 'dddd [kl.] LT',\n lastDay : '[í gær kl.] LT',\n lastWeek : '[síðasta] dddd [kl.] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'eftir %s',\n past : 'fyrir %s síðan',\n s : translate$5,\n ss : translate$5,\n m : translate$5,\n mm : translate$5,\n h : 'klukkustund',\n hh : translate$5,\n d : translate$5,\n dd : translate$5,\n M : translate$5,\n MM : translate$5,\n y : translate$5,\n yy : translate$5\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('it-ch', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('it', {\n months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Oggi alle] LT',\n nextDay: '[Domani alle] LT',\n nextWeek: 'dddd [alle] LT',\n lastDay: '[Ieri alle] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[la scorsa] dddd [alle] LT';\n default:\n return '[lo scorso] dddd [alle] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : function (s) {\n return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n },\n past : '%s fa',\n s : 'alcuni secondi',\n ss : '%d secondi',\n m : 'un minuto',\n mm : '%d minuti',\n h : 'un\\'ora',\n hh : '%d ore',\n d : 'un giorno',\n dd : '%d giorni',\n M : 'un mese',\n MM : '%d mesi',\n y : 'un anno',\n yy : '%d anni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ja', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日 dddd HH:mm',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日(ddd) HH:mm'\n },\n meridiemParse: /午前|午後/i,\n isPM : function (input) {\n return input === '午後';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return '午前';\n } else {\n return '午後';\n }\n },\n calendar : {\n sameDay : '[今日] LT',\n nextDay : '[明日] LT',\n nextWeek : function (now) {\n if (now.week() < this.week()) {\n return '[来週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n lastDay : '[昨日] LT',\n lastWeek : function (now) {\n if (this.week() < now.week()) {\n return '[先週]dddd LT';\n } else {\n return 'dddd LT';\n }\n },\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}日/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s後',\n past : '%s前',\n s : '数秒',\n ss : '%d秒',\n m : '1分',\n mm : '%d分',\n h : '1時間',\n hh : '%d時間',\n d : '1日',\n dd : '%d日',\n M : '1ヶ月',\n MM : '%dヶ月',\n y : '1年',\n yy : '%d年'\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('jv', {\n months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /enjing|siyang|sonten|ndalu/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'enjing') {\n return hour;\n } else if (meridiem === 'siyang') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'enjing';\n } else if (hours < 15) {\n return 'siyang';\n } else if (hours < 19) {\n return 'sonten';\n } else {\n return 'ndalu';\n }\n },\n calendar : {\n sameDay : '[Dinten puniko pukul] LT',\n nextDay : '[Mbenjang pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kala wingi pukul] LT',\n lastWeek : 'dddd [kepengker pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'wonten ing %s',\n past : '%s ingkang kepengker',\n s : 'sawetawis detik',\n ss : '%d detik',\n m : 'setunggal menit',\n mm : '%d menit',\n h : 'setunggal jam',\n hh : '%d jam',\n d : 'sedinten',\n dd : '%d dinten',\n M : 'sewulan',\n MM : '%d wulan',\n y : 'setaun',\n yy : '%d taun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ka', {\n months : {\n standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n },\n monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n weekdays : {\n standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n isFormat: /(წინა|შემდეგ)/\n },\n weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[დღეს] LT[-ზე]',\n nextDay : '[ხვალ] LT[-ზე]',\n lastDay : '[გუშინ] LT[-ზე]',\n nextWeek : '[შემდეგ] dddd LT[-ზე]',\n lastWeek : '[წინა] dddd LT-ზე',\n sameElse : 'L'\n },\n relativeTime : {\n future : function (s) {\n return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n s.replace(/ი$/, 'ში') :\n s + 'ში';\n },\n past : function (s) {\n if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if ((/წელი/).test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n },\n s : 'რამდენიმე წამი',\n ss : '%d წამი',\n m : 'წუთი',\n mm : '%d წუთი',\n h : 'საათი',\n hh : '%d საათი',\n d : 'დღე',\n dd : '%d დღე',\n M : 'თვე',\n MM : '%d თვე',\n y : 'წელი',\n yy : '%d წელი'\n },\n dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n ordinal : function (number) {\n if (number === 0) {\n return number;\n }\n if (number === 1) {\n return number + '-ლი';\n }\n if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week : {\n dow : 1,\n doy : 7\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes$1 = {\n 0: '-ші',\n 1: '-ші',\n 2: '-ші',\n 3: '-ші',\n 4: '-ші',\n 5: '-ші',\n 6: '-шы',\n 7: '-ші',\n 8: '-ші',\n 9: '-шы',\n 10: '-шы',\n 20: '-шы',\n 30: '-шы',\n 40: '-шы',\n 50: '-ші',\n 60: '-шы',\n 70: '-ші',\n 80: '-ші',\n 90: '-шы',\n 100: '-ші'\n };\n\n moment.defineLocale('kk', {\n months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгін сағат] LT',\n nextDay : '[Ертең сағат] LT',\n nextWeek : 'dddd [сағат] LT',\n lastDay : '[Кеше сағат] LT',\n lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ішінде',\n past : '%s бұрын',\n s : 'бірнеше секунд',\n ss : '%d секунд',\n m : 'бір минут',\n mm : '%d минут',\n h : 'бір сағат',\n hh : '%d сағат',\n d : 'бір күн',\n dd : '%d күн',\n M : 'бір ай',\n MM : '%d ай',\n y : 'бір жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$8 = {\n '1': '១',\n '2': '២',\n '3': '៣',\n '4': '៤',\n '5': '៥',\n '6': '៦',\n '7': '៧',\n '8': '៨',\n '9': '៩',\n '0': '០'\n }, numberMap$7 = {\n '១': '1',\n '២': '2',\n '៣': '3',\n '៤': '4',\n '៥': '5',\n '៦': '6',\n '៧': '7',\n '៨': '8',\n '៩': '9',\n '០': '0'\n };\n\n moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n weekdaysParseExact: true,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ព្រឹក|ល្ងាច/,\n isPM: function (input) {\n return input === 'ល្ងាច';\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ព្រឹក';\n } else {\n return 'ល្ងាច';\n }\n },\n calendar: {\n sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n nextDay: '[ស្អែក ម៉ោង] LT',\n nextWeek: 'dddd [ម៉ោង] LT',\n lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%sទៀត',\n past: '%sមុន',\n s: 'ប៉ុន្មានវិនាទី',\n ss: '%d វិនាទី',\n m: 'មួយនាទី',\n mm: '%d នាទី',\n h: 'មួយម៉ោង',\n hh: '%d ម៉ោង',\n d: 'មួយថ្ងៃ',\n dd: '%d ថ្ងៃ',\n M: 'មួយខែ',\n MM: '%d ខែ',\n y: 'មួយឆ្នាំ',\n yy: '%d ឆ្នាំ'\n },\n dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n ordinal : 'ទី%d',\n preparse: function (string) {\n return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n return numberMap$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$9 = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n },\n numberMap$8 = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n };\n\n moment.defineLocale('kn', {\n months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n monthsParseExact: true,\n weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[ಇಂದು] LT',\n nextDay : '[ನಾಳೆ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ನಿನ್ನೆ] LT',\n lastWeek : '[ಕೊನೆಯ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ನಂತರ',\n past : '%s ಹಿಂದೆ',\n s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n ss : '%d ಸೆಕೆಂಡುಗಳು',\n m : 'ಒಂದು ನಿಮಿಷ',\n mm : '%d ನಿಮಿಷ',\n h : 'ಒಂದು ಗಂಟೆ',\n hh : '%d ಗಂಟೆ',\n d : 'ಒಂದು ದಿನ',\n dd : '%d ದಿನ',\n M : 'ಒಂದು ತಿಂಗಳು',\n MM : '%d ತಿಂಗಳು',\n y : 'ಒಂದು ವರ್ಷ',\n yy : '%d ವರ್ಷ'\n },\n preparse: function (string) {\n return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n return numberMap$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[match];\n });\n },\n meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ರಾತ್ರಿ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n return hour;\n } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ಸಂಜೆ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ರಾತ್ರಿ';\n } else if (hour < 10) {\n return 'ಬೆಳಿಗ್ಗೆ';\n } else if (hour < 17) {\n return 'ಮಧ್ಯಾಹ್ನ';\n } else if (hour < 20) {\n return 'ಸಂಜೆ';\n } else {\n return 'ರಾತ್ರಿ';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n ordinal : function (number) {\n return number + 'ನೇ';\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ko', {\n months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'YYYY.MM.DD.',\n LL : 'YYYY년 MMMM D일',\n LLL : 'YYYY년 MMMM D일 A h:mm',\n LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n l : 'YYYY.MM.DD.',\n ll : 'YYYY년 MMMM D일',\n lll : 'YYYY년 MMMM D일 A h:mm',\n llll : 'YYYY년 MMMM D일 dddd A h:mm'\n },\n calendar : {\n sameDay : '오늘 LT',\n nextDay : '내일 LT',\n nextWeek : 'dddd LT',\n lastDay : '어제 LT',\n lastWeek : '지난주 dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s 후',\n past : '%s 전',\n s : '몇 초',\n ss : '%d초',\n m : '1분',\n mm : '%d분',\n h : '한 시간',\n hh : '%d시간',\n d : '하루',\n dd : '%d일',\n M : '한 달',\n MM : '%d달',\n y : '일 년',\n yy : '%d년'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '일';\n case 'M':\n return number + '월';\n case 'w':\n case 'W':\n return number + '주';\n default:\n return number;\n }\n },\n meridiemParse : /오전|오후/,\n isPM : function (token) {\n return token === '오후';\n },\n meridiem : function (hour, minute, isUpper) {\n return hour < 12 ? '오전' : '오후';\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$a = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n }, numberMap$9 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n },\n months$6 = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'حوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم'\n ];\n\n\n moment.defineLocale('ku', {\n months : months$6,\n monthsShort : months$6,\n weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n weekdaysMin : 'ی_د_س_چ_پ_ه_ش'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n meridiemParse: /ئێواره‌|به‌یانی/,\n isPM: function (input) {\n return /ئێواره‌/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'به‌یانی';\n } else {\n return 'ئێواره‌';\n }\n },\n calendar : {\n sameDay : '[ئه‌مرۆ كاتژمێر] LT',\n nextDay : '[به‌یانی كاتژمێر] LT',\n nextWeek : 'dddd [كاتژمێر] LT',\n lastDay : '[دوێنێ كاتژمێر] LT',\n lastWeek : 'dddd [كاتژمێر] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'له‌ %s',\n past : '%s',\n s : 'چه‌ند چركه‌یه‌ك',\n ss : 'چركه‌ %d',\n m : 'یه‌ك خوله‌ك',\n mm : '%d خوله‌ك',\n h : 'یه‌ك كاتژمێر',\n hh : '%d كاتژمێر',\n d : 'یه‌ك ڕۆژ',\n dd : '%d ڕۆژ',\n M : 'یه‌ك مانگ',\n MM : '%d مانگ',\n y : 'یه‌ك ساڵ',\n yy : '%d ساڵ'\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$9[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$a[match];\n }).replace(/,/g, '،');\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes$2 = {\n 0: '-чү',\n 1: '-чи',\n 2: '-чи',\n 3: '-чү',\n 4: '-чү',\n 5: '-чи',\n 6: '-чы',\n 7: '-чи',\n 8: '-чи',\n 9: '-чу',\n 10: '-чу',\n 20: '-чы',\n 30: '-чу',\n 40: '-чы',\n 50: '-чү',\n 60: '-чы',\n 70: '-чи',\n 80: '-чи',\n 90: '-чу',\n 100: '-чү'\n };\n\n moment.defineLocale('ky', {\n months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Бүгүн саат] LT',\n nextDay : '[Эртең саат] LT',\n nextWeek : 'dddd [саат] LT',\n lastDay : '[Кечээ саат] LT',\n lastWeek : '[Өткөн аптанын] dddd [күнү] [саат] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ичинде',\n past : '%s мурун',\n s : 'бирнече секунд',\n ss : '%d секунд',\n m : 'бир мүнөт',\n mm : '%d мүнөт',\n h : 'бир саат',\n hh : '%d саат',\n d : 'бир күн',\n dd : '%d күн',\n M : 'бир ай',\n MM : '%d ай',\n y : 'бир жыл',\n yy : '%d жыл'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n ordinal : function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$5(number, withoutSuffix, key, isFuture) {\n var format = {\n 'm': ['eng Minutt', 'enger Minutt'],\n 'h': ['eng Stonn', 'enger Stonn'],\n 'd': ['een Dag', 'engem Dag'],\n 'M': ['ee Mount', 'engem Mount'],\n 'y': ['ee Joer', 'engem Joer']\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n function processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n }\n function processPastTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'viru ' + string;\n }\n return 'virun ' + string;\n }\n /**\n * Returns true if the word before the given number loses the '-n' ending.\n * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n *\n * @param number {integer}\n * @returns {boolean}\n */\n function eifelerRegelAppliesToNumber(number) {\n number = parseInt(number, 10);\n if (isNaN(number)) {\n return false;\n }\n if (number < 0) {\n // Negative Number --> always true\n return true;\n } else if (number < 10) {\n // Only 1 digit\n if (4 <= number && number <= 7) {\n return true;\n }\n return false;\n } else if (number < 100) {\n // 2 digits\n var lastDigit = number % 10, firstDigit = number / 10;\n if (lastDigit === 0) {\n return eifelerRegelAppliesToNumber(firstDigit);\n }\n return eifelerRegelAppliesToNumber(lastDigit);\n } else if (number < 10000) {\n // 3 or 4 digits --> recursively check first digit\n while (number >= 10) {\n number = number / 10;\n }\n return eifelerRegelAppliesToNumber(number);\n } else {\n // Anything larger than 4 digits: recursively check first n-3 digits\n number = number / 1000;\n return eifelerRegelAppliesToNumber(number);\n }\n }\n\n moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n monthsParseExact : true,\n weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm [Auer]',\n LTS: 'H:mm:ss [Auer]',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm [Auer]',\n LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n },\n calendar: {\n sameDay: '[Haut um] LT',\n sameElse: 'L',\n nextDay: '[Muer um] LT',\n nextWeek: 'dddd [um] LT',\n lastDay: '[Gëschter um] LT',\n lastWeek: function () {\n // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n switch (this.day()) {\n case 2:\n case 4:\n return '[Leschten] dddd [um] LT';\n default:\n return '[Leschte] dddd [um] LT';\n }\n }\n },\n relativeTime : {\n future : processFutureTime,\n past : processPastTime,\n s : 'e puer Sekonnen',\n ss : '%d Sekonnen',\n m : processRelativeTime$5,\n mm : '%d Minutten',\n h : processRelativeTime$5,\n hh : '%d Stonnen',\n d : processRelativeTime$5,\n dd : '%d Deeg',\n M : processRelativeTime$5,\n MM : '%d Méint',\n y : processRelativeTime$5,\n yy : '%d Joer'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal: '%d.',\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('lo', {\n months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n },\n meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n isPM: function (input) {\n return input === 'ຕອນແລງ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ຕອນເຊົ້າ';\n } else {\n return 'ຕອນແລງ';\n }\n },\n calendar : {\n sameDay : '[ມື້ນີ້ເວລາ] LT',\n nextDay : '[ມື້ອື່ນເວລາ] LT',\n nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ອີກ %s',\n past : '%sຜ່ານມາ',\n s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n ss : '%d ວິນາທີ' ,\n m : '1 ນາທີ',\n mm : '%d ນາທີ',\n h : '1 ຊົ່ວໂມງ',\n hh : '%d ຊົ່ວໂມງ',\n d : '1 ມື້',\n dd : '%d ມື້',\n M : '1 ເດືອນ',\n MM : '%d ເດືອນ',\n y : '1 ປີ',\n yy : '%d ປີ'\n },\n dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n ordinal : function (number) {\n return 'ທີ່' + number;\n }\n });\n\n //! moment.js locale configuration\n\n var units = {\n 'ss' : 'sekundė_sekundžių_sekundes',\n 'm' : 'minutė_minutės_minutę',\n 'mm': 'minutės_minučių_minutes',\n 'h' : 'valanda_valandos_valandą',\n 'hh': 'valandos_valandų_valandas',\n 'd' : 'diena_dienos_dieną',\n 'dd': 'dienos_dienų_dienas',\n 'M' : 'mėnuo_mėnesio_mėnesį',\n 'MM': 'mėnesiai_mėnesių_mėnesius',\n 'y' : 'metai_metų_metus',\n 'yy': 'metai_metų_metus'\n };\n function translateSeconds(number, withoutSuffix, key, isFuture) {\n if (withoutSuffix) {\n return 'kelios sekundės';\n } else {\n return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n }\n }\n function translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n }\n function special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n }\n function forms(key) {\n return units[key].split('_');\n }\n function translate$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n } else if (withoutSuffix) {\n return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n } else {\n if (isFuture) {\n return result + forms(key)[1];\n } else {\n return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n }\n }\n }\n moment.defineLocale('lt', {\n months : {\n format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n },\n monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n weekdays : {\n format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n isFormat: /dddd HH:mm/\n },\n weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY [m.] MMMM D [d.]',\n LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n l : 'YYYY-MM-DD',\n ll : 'YYYY [m.] MMMM D [d.]',\n lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n },\n calendar : {\n sameDay : '[Šiandien] LT',\n nextDay : '[Rytoj] LT',\n nextWeek : 'dddd LT',\n lastDay : '[Vakar] LT',\n lastWeek : '[Praėjusį] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'po %s',\n past : 'prieš %s',\n s : translateSeconds,\n ss : translate$6,\n m : translateSingular,\n mm : translate$6,\n h : translateSingular,\n hh : translate$6,\n d : translateSingular,\n dd : translate$6,\n M : translateSingular,\n MM : translate$6,\n y : translateSingular,\n yy : translate$6\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n ordinal : function (number) {\n return number + '-oji';\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var units$1 = {\n 'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n 'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n 'h': 'stundas_stundām_stunda_stundas'.split('_'),\n 'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n 'd': 'dienas_dienām_diena_dienas'.split('_'),\n 'dd': 'dienas_dienām_diena_dienas'.split('_'),\n 'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n 'y': 'gada_gadiem_gads_gadi'.split('_'),\n 'yy': 'gada_gadiem_gads_gadi'.split('_')\n };\n /**\n * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n */\n function format(forms, number, withoutSuffix) {\n if (withoutSuffix) {\n // E.g. \"21 minūte\", \"3 minūtes\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n } else {\n // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n }\n }\n function relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format(units$1[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units$1[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n }\n\n moment.defineLocale('lv', {\n months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY.',\n LL : 'YYYY. [gada] D. MMMM',\n LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n },\n calendar : {\n sameDay : '[Šodien pulksten] LT',\n nextDay : '[Rīt pulksten] LT',\n nextWeek : 'dddd [pulksten] LT',\n lastDay : '[Vakar pulksten] LT',\n lastWeek : '[Pagājušā] dddd [pulksten] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'pēc %s',\n past : 'pirms %s',\n s : relativeSeconds,\n ss : relativeTimeWithPlural$1,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural$1,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural$1,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural$1,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural$1,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural$1\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var translator = {\n words: { //Different grammatical cases\n ss: ['sekund', 'sekunda', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mjesec', 'mjeseca', 'mjeseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact : true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sjutra u] LT',\n\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedjelju] [u] LT';\n case 3:\n return '[u] [srijedu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedjelje] [u] LT',\n '[prošlog] [ponedjeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srijede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'prije %s',\n s : 'nekoliko sekundi',\n ss : translator.translate,\n m : translator.translate,\n mm : translator.translate,\n h : translator.translate,\n hh : translator.translate,\n d : 'dan',\n dd : translator.translate,\n M : 'mjesec',\n MM : translator.translate,\n y : 'godinu',\n yy : translator.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('mi', {\n months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY [i] HH:mm',\n LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n },\n calendar: {\n sameDay: '[i teie mahana, i] LT',\n nextDay: '[apopo i] LT',\n nextWeek: 'dddd [i] LT',\n lastDay: '[inanahi i] LT',\n lastWeek: 'dddd [whakamutunga i] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'i roto i %s',\n past: '%s i mua',\n s: 'te hēkona ruarua',\n ss: '%d hēkona',\n m: 'he meneti',\n mm: '%d meneti',\n h: 'te haora',\n hh: '%d haora',\n d: 'he ra',\n dd: '%d ra',\n M: 'he marama',\n MM: '%d marama',\n y: 'he tau',\n yy: '%d tau'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('mk', {\n months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'D.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[Денес во] LT',\n nextDay : '[Утре во] LT',\n nextWeek : '[Во] dddd [во] LT',\n lastDay : '[Вчера во] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 6:\n return '[Изминатата] dddd [во] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[Изминатиот] dddd [во] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'после %s',\n past : 'пред %s',\n s : 'неколку секунди',\n ss : '%d секунди',\n m : 'минута',\n mm : '%d минути',\n h : 'час',\n hh : '%d часа',\n d : 'ден',\n dd : '%d дена',\n M : 'месец',\n MM : '%d месеци',\n y : 'година',\n yy : '%d години'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n ordinal : function (number) {\n var lastDigit = number % 10,\n last2Digits = number % 100;\n if (number === 0) {\n return number + '-ев';\n } else if (last2Digits === 0) {\n return number + '-ен';\n } else if (last2Digits > 10 && last2Digits < 20) {\n return number + '-ти';\n } else if (lastDigit === 1) {\n return number + '-ви';\n } else if (lastDigit === 2) {\n return number + '-ри';\n } else if (lastDigit === 7 || lastDigit === 8) {\n return number + '-ми';\n } else {\n return number + '-ти';\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ml', {\n months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm -നു',\n LTS : 'A h:mm:ss -നു',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm -നു',\n LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n },\n calendar : {\n sameDay : '[ഇന്ന്] LT',\n nextDay : '[നാളെ] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[ഇന്നലെ] LT',\n lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s കഴിഞ്ഞ്',\n past : '%s മുൻപ്',\n s : 'അൽപ നിമിഷങ്ങൾ',\n ss : '%d സെക്കൻഡ്',\n m : 'ഒരു മിനിറ്റ്',\n mm : '%d മിനിറ്റ്',\n h : 'ഒരു മണിക്കൂർ',\n hh : '%d മണിക്കൂർ',\n d : 'ഒരു ദിവസം',\n dd : '%d ദിവസം',\n M : 'ഒരു മാസം',\n MM : '%d മാസം',\n y : 'ഒരു വർഷം',\n yy : '%d വർഷം'\n },\n meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if ((meridiem === 'രാത്രി' && hour >= 4) ||\n meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n meridiem === 'വൈകുന്നേരം') {\n return hour + 12;\n } else {\n return hour;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'രാത്രി';\n } else if (hour < 12) {\n return 'രാവിലെ';\n } else if (hour < 17) {\n return 'ഉച്ച കഴിഞ്ഞ്';\n } else if (hour < 20) {\n return 'വൈകുന്നേരം';\n } else {\n return 'രാത്രി';\n }\n }\n });\n\n //! moment.js locale configuration\n\n function translate$7(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 's':\n return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n case 'ss':\n return number + (withoutSuffix ? ' секунд' : ' секундын');\n case 'm':\n case 'mm':\n return number + (withoutSuffix ? ' минут' : ' минутын');\n case 'h':\n case 'hh':\n return number + (withoutSuffix ? ' цаг' : ' цагийн');\n case 'd':\n case 'dd':\n return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n case 'M':\n case 'MM':\n return number + (withoutSuffix ? ' сар' : ' сарын');\n case 'y':\n case 'yy':\n return number + (withoutSuffix ? ' жил' : ' жилийн');\n default:\n return number;\n }\n }\n\n moment.defineLocale('mn', {\n months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n monthsParseExact : true,\n weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'YYYY оны MMMMын D',\n LLL : 'YYYY оны MMMMын D HH:mm',\n LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n },\n meridiemParse: /ҮӨ|ҮХ/i,\n isPM : function (input) {\n return input === 'ҮХ';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ҮӨ';\n } else {\n return 'ҮХ';\n }\n },\n calendar : {\n sameDay : '[Өнөөдөр] LT',\n nextDay : '[Маргааш] LT',\n nextWeek : '[Ирэх] dddd LT',\n lastDay : '[Өчигдөр] LT',\n lastWeek : '[Өнгөрсөн] dddd LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s дараа',\n past : '%s өмнө',\n s : translate$7,\n ss : translate$7,\n m : translate$7,\n mm : translate$7,\n h : translate$7,\n hh : translate$7,\n d : translate$7,\n dd : translate$7,\n M : translate$7,\n MM : translate$7,\n y : translate$7,\n yy : translate$7\n },\n dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + ' өдөр';\n default:\n return number;\n }\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$b = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap$a = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n function relativeTimeMr(number, withoutSuffix, string, isFuture)\n {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's': output = 'काही सेकंद'; break;\n case 'ss': output = '%d सेकंद'; break;\n case 'm': output = 'एक मिनिट'; break;\n case 'mm': output = '%d मिनिटे'; break;\n case 'h': output = 'एक तास'; break;\n case 'hh': output = '%d तास'; break;\n case 'd': output = 'एक दिवस'; break;\n case 'dd': output = '%d दिवस'; break;\n case 'M': output = 'एक महिना'; break;\n case 'MM': output = '%d महिने'; break;\n case 'y': output = 'एक वर्ष'; break;\n case 'yy': output = '%d वर्षे'; break;\n }\n }\n else {\n switch (string) {\n case 's': output = 'काही सेकंदां'; break;\n case 'ss': output = '%d सेकंदां'; break;\n case 'm': output = 'एका मिनिटा'; break;\n case 'mm': output = '%d मिनिटां'; break;\n case 'h': output = 'एका तासा'; break;\n case 'hh': output = '%d तासां'; break;\n case 'd': output = 'एका दिवसा'; break;\n case 'dd': output = '%d दिवसां'; break;\n case 'M': output = 'एका महिन्या'; break;\n case 'MM': output = '%d महिन्यां'; break;\n case 'y': output = 'एका वर्षा'; break;\n case 'yy': output = '%d वर्षां'; break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n moment.defineLocale('mr', {\n months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n monthsParseExact : true,\n weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n longDateFormat : {\n LT : 'A h:mm वाजता',\n LTS : 'A h:mm:ss वाजता',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm वाजता',\n LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[उद्या] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[काल] LT',\n lastWeek: '[मागील] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future: '%sमध्ये',\n past: '%sपूर्वी',\n s: relativeTimeMr,\n ss: relativeTimeMr,\n m: relativeTimeMr,\n mm: relativeTimeMr,\n h: relativeTimeMr,\n hh: relativeTimeMr,\n d: relativeTimeMr,\n dd: relativeTimeMr,\n M: relativeTimeMr,\n MM: relativeTimeMr,\n y: relativeTimeMr,\n yy: relativeTimeMr\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$a[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$b[match];\n });\n },\n meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'रात्री') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'सकाळी') {\n return hour;\n } else if (meridiem === 'दुपारी') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'सायंकाळी') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'रात्री';\n } else if (hour < 10) {\n return 'सकाळी';\n } else if (hour < 17) {\n return 'दुपारी';\n } else if (hour < 20) {\n return 'सायंकाळी';\n } else {\n return 'रात्री';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ms-my', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ms', {\n months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [pukul] HH.mm',\n LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n },\n meridiemParse: /pagi|tengahari|petang|malam/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'pagi') {\n return hour;\n } else if (meridiem === 'tengahari') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'petang' || meridiem === 'malam') {\n return hour + 12;\n }\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'pagi';\n } else if (hours < 15) {\n return 'tengahari';\n } else if (hours < 19) {\n return 'petang';\n } else {\n return 'malam';\n }\n },\n calendar : {\n sameDay : '[Hari ini pukul] LT',\n nextDay : '[Esok pukul] LT',\n nextWeek : 'dddd [pukul] LT',\n lastDay : '[Kelmarin pukul] LT',\n lastWeek : 'dddd [lepas pukul] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'dalam %s',\n past : '%s yang lepas',\n s : 'beberapa saat',\n ss : '%d saat',\n m : 'seminit',\n mm : '%d minit',\n h : 'sejam',\n hh : '%d jam',\n d : 'sehari',\n dd : '%d hari',\n M : 'sebulan',\n MM : '%d bulan',\n y : 'setahun',\n yy : '%d tahun'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('mt', {\n months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Illum fil-]LT',\n nextDay : '[Għada fil-]LT',\n nextWeek : 'dddd [fil-]LT',\n lastDay : '[Il-bieraħ fil-]LT',\n lastWeek : 'dddd [li għadda] [fil-]LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'f’ %s',\n past : '%s ilu',\n s : 'ftit sekondi',\n ss : '%d sekondi',\n m : 'minuta',\n mm : '%d minuti',\n h : 'siegħa',\n hh : '%d siegħat',\n d : 'ġurnata',\n dd : '%d ġranet',\n M : 'xahar',\n MM : '%d xhur',\n y : 'sena',\n yy : '%d sni'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}º/,\n ordinal: '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$c = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n }, numberMap$b = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n };\n\n moment.defineLocale('my', {\n months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D MMMM YYYY',\n LLL: 'D MMMM YYYY HH:mm',\n LLLL: 'dddd D MMMM YYYY HH:mm'\n },\n calendar: {\n sameDay: '[ယနေ.] LT [မှာ]',\n nextDay: '[မနက်ဖြန်] LT [မှာ]',\n nextWeek: 'dddd LT [မှာ]',\n lastDay: '[မနေ.က] LT [မှာ]',\n lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n sameElse: 'L'\n },\n relativeTime: {\n future: 'လာမည့် %s မှာ',\n past: 'လွန်ခဲ့သော %s က',\n s: 'စက္ကန်.အနည်းငယ်',\n ss : '%d စက္ကန့်',\n m: 'တစ်မိနစ်',\n mm: '%d မိနစ်',\n h: 'တစ်နာရီ',\n hh: '%d နာရီ',\n d: 'တစ်ရက်',\n dd: '%d ရက်',\n M: 'တစ်လ',\n MM: '%d လ',\n y: 'တစ်နှစ်',\n yy: '%d နှစ်'\n },\n preparse: function (string) {\n return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n return numberMap$b[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$c[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('nb', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact : true,\n weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[i dag kl.] LT',\n nextDay: '[i morgen kl.] LT',\n nextWeek: 'dddd [kl.] LT',\n lastDay: '[i går kl.] LT',\n lastWeek: '[forrige] dddd [kl.] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s siden',\n s : 'noen sekunder',\n ss : '%d sekunder',\n m : 'ett minutt',\n mm : '%d minutter',\n h : 'en time',\n hh : '%d timer',\n d : 'en dag',\n dd : '%d dager',\n M : 'en måned',\n MM : '%d måneder',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$d = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n },\n numberMap$c = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n };\n\n moment.defineLocale('ne', {\n months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n monthsParseExact : true,\n weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'Aको h:mm बजे',\n LTS : 'Aको h:mm:ss बजे',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, Aको h:mm बजे',\n LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n },\n preparse: function (string) {\n return string.replace(/[१२३४५६७८९०]/g, function (match) {\n return numberMap$c[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$d[match];\n });\n },\n meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'राति') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'बिहान') {\n return hour;\n } else if (meridiem === 'दिउँसो') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'साँझ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 3) {\n return 'राति';\n } else if (hour < 12) {\n return 'बिहान';\n } else if (hour < 16) {\n return 'दिउँसो';\n } else if (hour < 20) {\n return 'साँझ';\n } else {\n return 'राति';\n }\n },\n calendar : {\n sameDay : '[आज] LT',\n nextDay : '[भोलि] LT',\n nextWeek : '[आउँदो] dddd[,] LT',\n lastDay : '[हिजो] LT',\n lastWeek : '[गएको] dddd[,] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sमा',\n past : '%s अगाडि',\n s : 'केही क्षण',\n ss : '%d सेकेण्ड',\n m : 'एक मिनेट',\n mm : '%d मिनेट',\n h : 'एक घण्टा',\n hh : '%d घण्टा',\n d : 'एक दिन',\n dd : '%d दिन',\n M : 'एक महिना',\n MM : '%d महिना',\n y : 'एक बर्ष',\n yy : '%d बर्ष'\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse$4 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex$4 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n moment.defineLocale('nl-be', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$4,\n monthsShortRegex: monthsRegex$4,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse$4,\n longMonthsParse : monthsParse$4,\n shortMonthsParse : monthsParse$4,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n var monthsParse$5 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n moment.defineLocale('nl', {\n months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n monthsShort : function (m, format) {\n if (!m) {\n return monthsShortWithDots$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$5,\n monthsShortRegex: monthsRegex$5,\n monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse : monthsParse$5,\n longMonthsParse : monthsParse$5,\n shortMonthsParse : monthsParse$5,\n\n weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD-MM-YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[vandaag om] LT',\n nextDay: '[morgen om] LT',\n nextWeek: 'dddd [om] LT',\n lastDay: '[gisteren om] LT',\n lastWeek: '[afgelopen] dddd [om] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'over %s',\n past : '%s geleden',\n s : 'een paar seconden',\n ss : '%d seconden',\n m : 'één minuut',\n mm : '%d minuten',\n h : 'één uur',\n hh : '%d uur',\n d : 'één dag',\n dd : '%d dagen',\n M : 'één maand',\n MM : '%d maanden',\n y : 'één jaar',\n yy : '%d jaar'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n ordinal : function (number) {\n return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('nn', {\n months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY [kl.] H:mm',\n LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n },\n calendar : {\n sameDay: '[I dag klokka] LT',\n nextDay: '[I morgon klokka] LT',\n nextWeek: 'dddd [klokka] LT',\n lastDay: '[I går klokka] LT',\n lastWeek: '[Føregåande] dddd [klokka] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : '%s sidan',\n s : 'nokre sekund',\n ss : '%d sekund',\n m : 'eit minutt',\n mm : '%d minutt',\n h : 'ein time',\n hh : '%d timar',\n d : 'ein dag',\n dd : '%d dagar',\n M : 'ein månad',\n MM : '%d månader',\n y : 'eit år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$e = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n },\n numberMap$d = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n };\n\n moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm ਵਜੇ',\n LTS : 'A h:mm:ss ਵਜੇ',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n },\n calendar : {\n sameDay : '[ਅਜ] LT',\n nextDay : '[ਕਲ] LT',\n nextWeek : '[ਅਗਲਾ] dddd, LT',\n lastDay : '[ਕਲ] LT',\n lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s ਵਿੱਚ',\n past : '%s ਪਿਛਲੇ',\n s : 'ਕੁਝ ਸਕਿੰਟ',\n ss : '%d ਸਕਿੰਟ',\n m : 'ਇਕ ਮਿੰਟ',\n mm : '%d ਮਿੰਟ',\n h : 'ਇੱਕ ਘੰਟਾ',\n hh : '%d ਘੰਟੇ',\n d : 'ਇੱਕ ਦਿਨ',\n dd : '%d ਦਿਨ',\n M : 'ਇੱਕ ਮਹੀਨਾ',\n MM : '%d ਮਹੀਨੇ',\n y : 'ਇੱਕ ਸਾਲ',\n yy : '%d ਸਾਲ'\n },\n preparse: function (string) {\n return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n return numberMap$d[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$e[match];\n });\n },\n // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ਰਾਤ') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ਸਵੇਰ') {\n return hour;\n } else if (meridiem === 'ਦੁਪਹਿਰ') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'ਸ਼ਾਮ') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ਰਾਤ';\n } else if (hour < 10) {\n return 'ਸਵੇਰ';\n } else if (hour < 17) {\n return 'ਦੁਪਹਿਰ';\n } else if (hour < 20) {\n return 'ਸ਼ਾਮ';\n } else {\n return 'ਰਾਤ';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n function plural$3(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n }\n function translate$8(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n }\n\n moment.defineLocale('pl', {\n months : function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\n } else if (format === '') {\n // Hack: if format empty we know this is used to generate\n // RegExp by moment. Give then back both valid forms of months\n // in RegExp ready format.\n return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n } else if (/D MMMM/.test(format)) {\n return monthsSubjective[momentToFormat.month()];\n } else {\n return monthsNominative[momentToFormat.month()];\n }\n },\n monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Dziś o] LT',\n nextDay: '[Jutro o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W niedzielę o] LT';\n\n case 2:\n return '[We wtorek o] LT';\n\n case 3:\n return '[W środę o] LT';\n\n case 6:\n return '[W sobotę o] LT';\n\n default:\n return '[W] dddd [o] LT';\n }\n },\n lastDay: '[Wczoraj o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[W zeszłą niedzielę o] LT';\n case 3:\n return '[W zeszłą środę o] LT';\n case 6:\n return '[W zeszłą sobotę o] LT';\n default:\n return '[W zeszły] dddd [o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : '%s temu',\n s : 'kilka sekund',\n ss : translate$8,\n m : translate$8,\n mm : translate$8,\n h : translate$8,\n hh : translate$8,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate$8,\n y : 'rok',\n yy : translate$8\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('pt-br', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'poucos segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº'\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('pt', {\n months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D [de] MMMM [de] YYYY',\n LLL : 'D [de] MMMM [de] YYYY HH:mm',\n LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hoje às] LT',\n nextDay: '[Amanhã às] LT',\n nextWeek: 'dddd [às] LT',\n lastDay: '[Ontem às] LT',\n lastWeek: function () {\n return (this.day() === 0 || this.day() === 6) ?\n '[Último] dddd [às] LT' : // Saturday + Sunday\n '[Última] dddd [às] LT'; // Monday - Friday\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'em %s',\n past : 'há %s',\n s : 'segundos',\n ss : '%d segundos',\n m : 'um minuto',\n mm : '%d minutos',\n h : 'uma hora',\n hh : '%d horas',\n d : 'um dia',\n dd : '%d dias',\n M : 'um mês',\n MM : '%d meses',\n y : 'um ano',\n yy : '%d anos'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}º/,\n ordinal : '%dº',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural$2(number, withoutSuffix, key) {\n var format = {\n 'ss': 'secunde',\n 'mm': 'minute',\n 'hh': 'ore',\n 'dd': 'zile',\n 'MM': 'luni',\n 'yy': 'ani'\n },\n separator = ' ';\n if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n separator = ' de ';\n }\n return number + separator + format[key];\n }\n\n moment.defineLocale('ro', {\n months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY H:mm',\n LLLL : 'dddd, D MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[azi la] LT',\n nextDay: '[mâine la] LT',\n nextWeek: 'dddd [la] LT',\n lastDay: '[ieri la] LT',\n lastWeek: '[fosta] dddd [la] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'peste %s',\n past : '%s în urmă',\n s : 'câteva secunde',\n ss : relativeTimeWithPlural$2,\n m : 'un minut',\n mm : relativeTimeWithPlural$2,\n h : 'o oră',\n hh : relativeTimeWithPlural$2,\n d : 'o zi',\n dd : relativeTimeWithPlural$2,\n M : 'o lună',\n MM : relativeTimeWithPlural$2,\n y : 'un an',\n yy : relativeTimeWithPlural$2\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural$4(word, num) {\n var forms = word.split('_');\n 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]);\n }\n function relativeTimeWithPlural$3(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n 'hh': 'час_часа_часов',\n 'dd': 'день_дня_дней',\n 'MM': 'месяц_месяца_месяцев',\n 'yy': 'год_года_лет'\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n }\n else {\n return number + ' ' + plural$4(format[key], +number);\n }\n }\n var monthsParse$6 = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n // http://new.gramota.ru/spravka/rules/139-prop : § 103\n // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n moment.defineLocale('ru', {\n months : {\n format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n },\n monthsShort : {\n // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n },\n weekdays : {\n standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n },\n weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n monthsParse : monthsParse$6,\n longMonthsParse : monthsParse$6,\n shortMonthsParse : monthsParse$6,\n\n // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // копия предыдущего\n monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n // полные названия с падежами\n monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n // Выражение, которое соотвествует только сокращённым формам\n monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY г.',\n LLL : 'D MMMM YYYY г., H:mm',\n LLLL : 'dddd, D MMMM YYYY г., H:mm'\n },\n calendar : {\n sameDay: '[Сегодня, в] LT',\n nextDay: '[Завтра, в] LT',\n lastDay: '[Вчера, в] LT',\n nextWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В следующее] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В следующий] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В следующую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n lastWeek: function (now) {\n if (now.week() !== this.week()) {\n switch (this.day()) {\n case 0:\n return '[В прошлое] dddd, [в] LT';\n case 1:\n case 2:\n case 4:\n return '[В прошлый] dddd, [в] LT';\n case 3:\n case 5:\n case 6:\n return '[В прошлую] dddd, [в] LT';\n }\n } else {\n if (this.day() === 2) {\n return '[Во] dddd, [в] LT';\n } else {\n return '[В] dddd, [в] LT';\n }\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'через %s',\n past : '%s назад',\n s : 'несколько секунд',\n ss : relativeTimeWithPlural$3,\n m : relativeTimeWithPlural$3,\n mm : relativeTimeWithPlural$3,\n h : 'час',\n hh : relativeTimeWithPlural$3,\n d : 'день',\n dd : relativeTimeWithPlural$3,\n M : 'месяц',\n MM : relativeTimeWithPlural$3,\n y : 'год',\n yy : relativeTimeWithPlural$3\n },\n meridiemParse: /ночи|утра|дня|вечера/i,\n isPM : function (input) {\n return /^(дня|вечера)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночи';\n } else if (hour < 12) {\n return 'утра';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечера';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n return number + '-й';\n case 'D':\n return number + '-го';\n case 'w':\n case 'W':\n return number + '-я';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$7 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n ];\n var days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n ];\n\n moment.defineLocale('sd', {\n months : months$7,\n monthsShort : months$7,\n weekdays : days,\n weekdaysShort : days,\n weekdaysMin : days,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[اڄ] LT',\n nextDay : '[سڀاڻي] LT',\n nextWeek : 'dddd [اڳين هفتي تي] LT',\n lastDay : '[ڪالهه] LT',\n lastWeek : '[گزريل هفتي] dddd [تي] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s پوء',\n past : '%s اڳ',\n s : 'چند سيڪنڊ',\n ss : '%d سيڪنڊ',\n m : 'هڪ منٽ',\n mm : '%d منٽ',\n h : 'هڪ ڪلاڪ',\n hh : '%d ڪلاڪ',\n d : 'هڪ ڏينهن',\n dd : '%d ڏينهن',\n M : 'هڪ مهينو',\n MM : '%d مهينا',\n y : 'هڪ سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('se', {\n 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('_'),\n monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'MMMM D. [b.] YYYY',\n LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n },\n calendar : {\n sameDay: '[otne ti] LT',\n nextDay: '[ihttin ti] LT',\n nextWeek: 'dddd [ti] LT',\n lastDay: '[ikte ti] LT',\n lastWeek: '[ovddit] dddd [ti] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s geažes',\n past : 'maŋit %s',\n s : 'moadde sekunddat',\n ss: '%d sekunddat',\n m : 'okta minuhta',\n mm : '%d minuhtat',\n h : 'okta diimmu',\n hh : '%d diimmut',\n d : 'okta beaivi',\n dd : '%d beaivvit',\n M : 'okta mánnu',\n MM : '%d mánut',\n y : 'okta jahki',\n yy : '%d jagit'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n moment.defineLocale('si', {\n months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'a h:mm',\n LTS : 'a h:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY MMMM D',\n LLL : 'YYYY MMMM D, a h:mm',\n LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n },\n calendar : {\n sameDay : '[අද] LT[ට]',\n nextDay : '[හෙට] LT[ට]',\n nextWeek : 'dddd LT[ට]',\n lastDay : '[ඊයේ] LT[ට]',\n lastWeek : '[පසුගිය] dddd LT[ට]',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%sකින්',\n past : '%sකට පෙර',\n s : 'තත්පර කිහිපය',\n ss : 'තත්පර %d',\n m : 'මිනිත්තුව',\n mm : 'මිනිත්තු %d',\n h : 'පැය',\n hh : 'පැය %d',\n d : 'දිනය',\n dd : 'දින %d',\n M : 'මාසය',\n MM : 'මාස %d',\n y : 'වසර',\n yy : 'වසර %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n ordinal : function (number) {\n return number + ' වැනි';\n },\n meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n isPM : function (input) {\n return input === 'ප.ව.' || input === 'පස් වරු';\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'ප.ව.' : 'පස් වරු';\n } else {\n return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n }\n }\n });\n\n //! moment.js locale configuration\n\n var months$8 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural$5(n) {\n return (n > 1) && (n < 5);\n }\n function translate$9(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's': // a few seconds / in a few seconds / a few seconds ago\n return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\n break;\n case 'm': // a minute / in a minute / a minute ago\n return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\n break;\n case 'h': // an hour / in an hour / an hour ago\n return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n case 'hh': // 9 hours / in 9 hours / 9 hours ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'hodiny' : 'hodín');\n } else {\n return result + 'hodinami';\n }\n break;\n case 'd': // a day / in a day / a day ago\n return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n case 'dd': // 9 days / in 9 days / 9 days ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'dni' : 'dní');\n } else {\n return result + 'dňami';\n }\n break;\n case 'M': // a month / in a month / a month ago\n return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n case 'MM': // 9 months / in 9 months / 9 months ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\n break;\n case 'y': // a year / in a year / a year ago\n return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n case 'yy': // 9 years / in 9 years / 9 years ago\n if (withoutSuffix || isFuture) {\n return result + (plural$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n }\n\n moment.defineLocale('sk', {\n months : months$8,\n monthsShort : monthsShort$6,\n weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n longDateFormat : {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay: '[dnes o] LT',\n nextDay: '[zajtra o] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[v nedeľu o] LT';\n case 1:\n case 2:\n return '[v] dddd [o] LT';\n case 3:\n return '[v stredu o] LT';\n case 4:\n return '[vo štvrtok o] LT';\n case 5:\n return '[v piatok o] LT';\n case 6:\n return '[v sobotu o] LT';\n }\n },\n lastDay: '[včera o] LT',\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return '[minulú nedeľu o] LT';\n case 1:\n case 2:\n return '[minulý] dddd [o] LT';\n case 3:\n return '[minulú stredu o] LT';\n case 4:\n case 5:\n return '[minulý] dddd [o] LT';\n case 6:\n return '[minulú sobotu o] LT';\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pred %s',\n s : translate$9,\n ss : translate$9,\n m : translate$9,\n mm : translate$9,\n h : translate$9,\n hh : translate$9,\n d : translate$9,\n dd : translate$9,\n M : translate$9,\n MM : translate$9,\n y : translate$9,\n yy : translate$9\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function processRelativeTime$6(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n case 'ss':\n if (number === 1) {\n result += withoutSuffix ? 'sekundo' : 'sekundi';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n } else {\n result += 'sekund';\n }\n return result;\n case 'm':\n return withoutSuffix ? 'ena minuta' : 'eno minuto';\n case 'mm':\n if (number === 1) {\n result += withoutSuffix ? 'minuta' : 'minuto';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n } else {\n result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n }\n return result;\n case 'h':\n return withoutSuffix ? 'ena ura' : 'eno uro';\n case 'hh':\n if (number === 1) {\n result += withoutSuffix ? 'ura' : 'uro';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'uri' : 'urama';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'ure' : 'urami';\n } else {\n result += withoutSuffix || isFuture ? 'ur' : 'urami';\n }\n return result;\n case 'd':\n return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n case 'dd':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n } else {\n result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n }\n return result;\n case 'M':\n return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n case 'MM':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n } else {\n result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n }\n return result;\n case 'y':\n return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n case 'yy':\n if (number === 1) {\n result += withoutSuffix || isFuture ? 'leto' : 'letom';\n } else if (number === 2) {\n result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n } else if (number < 5) {\n result += withoutSuffix || isFuture ? 'leta' : 'leti';\n } else {\n result += withoutSuffix || isFuture ? 'let' : 'leti';\n }\n return result;\n }\n }\n\n moment.defineLocale('sl', {\n months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM YYYY',\n LLL : 'D. MMMM YYYY H:mm',\n LLLL : 'dddd, D. MMMM YYYY H:mm'\n },\n calendar : {\n sameDay : '[danes ob] LT',\n nextDay : '[jutri ob] LT',\n\n nextWeek : function () {\n switch (this.day()) {\n case 0:\n return '[v] [nedeljo] [ob] LT';\n case 3:\n return '[v] [sredo] [ob] LT';\n case 6:\n return '[v] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[v] dddd [ob] LT';\n }\n },\n lastDay : '[včeraj ob] LT',\n lastWeek : function () {\n switch (this.day()) {\n case 0:\n return '[prejšnjo] [nedeljo] [ob] LT';\n case 3:\n return '[prejšnjo] [sredo] [ob] LT';\n case 6:\n return '[prejšnjo] [soboto] [ob] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[prejšnji] dddd [ob] LT';\n }\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'čez %s',\n past : 'pred %s',\n s : processRelativeTime$6,\n ss : processRelativeTime$6,\n m : processRelativeTime$6,\n mm : processRelativeTime$6,\n h : processRelativeTime$6,\n hh : processRelativeTime$6,\n d : processRelativeTime$6,\n dd : processRelativeTime$6,\n M : processRelativeTime$6,\n MM : processRelativeTime$6,\n y : processRelativeTime$6,\n yy : processRelativeTime$6\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('sq', {\n months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /PD|MD/,\n isPM: function (input) {\n return input.charAt(0) === 'M';\n },\n meridiem : function (hours, minutes, isLower) {\n return hours < 12 ? 'PD' : 'MD';\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Sot në] LT',\n nextDay : '[Nesër në] LT',\n nextWeek : 'dddd [në] LT',\n lastDay : '[Dje në] LT',\n lastWeek : 'dddd [e kaluar në] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'në %s',\n past : '%s më parë',\n s : 'disa sekonda',\n ss : '%d sekonda',\n m : 'një minutë',\n mm : '%d minuta',\n h : 'një orë',\n hh : '%d orë',\n d : 'një ditë',\n dd : '%d ditë',\n M : 'një muaj',\n MM : '%d muaj',\n y : 'një vit',\n yy : '%d vite'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var translator$1 = {\n words: { //Different grammatical cases\n ss: ['секунда', 'секунде', 'секунди'],\n m: ['један минут', 'једне минуте'],\n mm: ['минут', 'минуте', 'минута'],\n h: ['један сат', 'једног сата'],\n hh: ['сат', 'сата', 'сати'],\n dd: ['дан', 'дана', 'дана'],\n MM: ['месец', 'месеца', 'месеци'],\n yy: ['година', 'године', 'година']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator$1.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n monthsParseExact: true,\n weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[данас у] LT',\n nextDay: '[сутра у] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[у] [недељу] [у] LT';\n case 3:\n return '[у] [среду] [у] LT';\n case 6:\n return '[у] [суботу] [у] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[у] dddd [у] LT';\n }\n },\n lastDay : '[јуче у] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[прошле] [недеље] [у] LT',\n '[прошлог] [понедељка] [у] LT',\n '[прошлог] [уторка] [у] LT',\n '[прошле] [среде] [у] LT',\n '[прошлог] [четвртка] [у] LT',\n '[прошлог] [петка] [у] LT',\n '[прошле] [суботе] [у] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : 'пре %s',\n s : 'неколико секунди',\n ss : translator$1.translate,\n m : translator$1.translate,\n mm : translator$1.translate,\n h : translator$1.translate,\n hh : translator$1.translate,\n d : 'дан',\n dd : translator$1.translate,\n M : 'месец',\n MM : translator$1.translate,\n y : 'годину',\n yy : translator$1.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var translator$2 = {\n words: { //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jedne minute'],\n mm: ['minut', 'minute', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n dd: ['dan', 'dana', 'dana'],\n MM: ['mesec', 'meseca', 'meseci'],\n yy: ['godina', 'godine', 'godina']\n },\n correctGrammaticalCase: function (number, wordKey) {\n return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n },\n translate: function (number, withoutSuffix, key) {\n var wordKey = translator$2.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);\n }\n }\n };\n\n moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n monthsParseExact: true,\n weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n weekdaysParseExact : true,\n longDateFormat: {\n LT: 'H:mm',\n LTS : 'H:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'D. MMMM YYYY',\n LLL: 'D. MMMM YYYY H:mm',\n LLLL: 'dddd, D. MMMM YYYY H:mm'\n },\n calendar: {\n sameDay: '[danas u] LT',\n nextDay: '[sutra u] LT',\n nextWeek: function () {\n switch (this.day()) {\n case 0:\n return '[u] [nedelju] [u] LT';\n case 3:\n return '[u] [sredu] [u] LT';\n case 6:\n return '[u] [subotu] [u] LT';\n case 1:\n case 2:\n case 4:\n case 5:\n return '[u] dddd [u] LT';\n }\n },\n lastDay : '[juče u] LT',\n lastWeek : function () {\n var lastWeekDays = [\n '[prošle] [nedelje] [u] LT',\n '[prošlog] [ponedeljka] [u] LT',\n '[prošlog] [utorka] [u] LT',\n '[prošle] [srede] [u] LT',\n '[prošlog] [četvrtka] [u] LT',\n '[prošlog] [petka] [u] LT',\n '[prošle] [subote] [u] LT'\n ];\n return lastWeekDays[this.day()];\n },\n sameElse : 'L'\n },\n relativeTime : {\n future : 'za %s',\n past : 'pre %s',\n s : 'nekoliko sekundi',\n ss : translator$2.translate,\n m : translator$2.translate,\n mm : translator$2.translate,\n h : translator$2.translate,\n hh : translator$2.translate,\n d : 'dan',\n dd : translator$2.translate,\n M : 'mesec',\n MM : translator$2.translate,\n y : 'godinu',\n yy : translator$2.translate\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('ss', {\n months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Namuhla nga] LT',\n nextDay : '[Kusasa nga] LT',\n nextWeek : 'dddd [nga] LT',\n lastDay : '[Itolo nga] LT',\n lastWeek : 'dddd [leliphelile] [nga] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'nga %s',\n past : 'wenteka nga %s',\n s : 'emizuzwana lomcane',\n ss : '%d mzuzwana',\n m : 'umzuzu',\n mm : '%d emizuzu',\n h : 'lihora',\n hh : '%d emahora',\n d : 'lilanga',\n dd : '%d emalanga',\n M : 'inyanga',\n MM : '%d tinyanga',\n y : 'umnyaka',\n yy : '%d iminyaka'\n },\n meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n meridiem : function (hours, minutes, isLower) {\n if (hours < 11) {\n return 'ekuseni';\n } else if (hours < 15) {\n return 'emini';\n } else if (hours < 19) {\n return 'entsambama';\n } else {\n return 'ebusuku';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'ekuseni') {\n return hour;\n } else if (meridiem === 'emini') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n if (hour === 0) {\n return 0;\n }\n return hour + 12;\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : '%d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('sv', {\n months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY-MM-DD',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY [kl.] HH:mm',\n LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Idag] LT',\n nextDay: '[Imorgon] LT',\n lastDay: '[Igår] LT',\n nextWeek: '[På] dddd LT',\n lastWeek: '[I] dddd[s] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'om %s',\n past : 'för %s sedan',\n s : 'några sekunder',\n ss : '%d sekunder',\n m : 'en minut',\n mm : '%d minuter',\n h : 'en timme',\n hh : '%d timmar',\n d : 'en dag',\n dd : '%d dagar',\n M : 'en månad',\n MM : '%d månader',\n y : 'ett år',\n yy : '%d år'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'e' :\n (b === 1) ? 'a' :\n (b === 2) ? 'a' :\n (b === 3) ? 'e' : 'e';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('sw', {\n months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[leo saa] LT',\n nextDay : '[kesho saa] LT',\n nextWeek : '[wiki ijayo] dddd [saat] LT',\n lastDay : '[jana] LT',\n lastWeek : '[wiki iliyopita] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s baadaye',\n past : 'tokea %s',\n s : 'hivi punde',\n ss : 'sekunde %d',\n m : 'dakika moja',\n mm : 'dakika %d',\n h : 'saa limoja',\n hh : 'masaa %d',\n d : 'siku moja',\n dd : 'masiku %d',\n M : 'mwezi mmoja',\n MM : 'miezi %d',\n y : 'mwaka mmoja',\n yy : 'miaka %d'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var symbolMap$f = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n }, numberMap$e = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n };\n\n moment.defineLocale('ta', {\n months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, HH:mm',\n LLLL : 'dddd, D MMMM YYYY, HH:mm'\n },\n calendar : {\n sameDay : '[இன்று] LT',\n nextDay : '[நாளை] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[நேற்று] LT',\n lastWeek : '[கடந்த வாரம்] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s இல்',\n past : '%s முன்',\n s : 'ஒரு சில விநாடிகள்',\n ss : '%d விநாடிகள்',\n m : 'ஒரு நிமிடம்',\n mm : '%d நிமிடங்கள்',\n h : 'ஒரு மணி நேரம்',\n hh : '%d மணி நேரம்',\n d : 'ஒரு நாள்',\n dd : '%d நாட்கள்',\n M : 'ஒரு மாதம்',\n MM : '%d மாதங்கள்',\n y : 'ஒரு வருடம்',\n yy : '%d ஆண்டுகள்'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n ordinal : function (number) {\n return number + 'வது';\n },\n preparse: function (string) {\n return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n return numberMap$e[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$f[match];\n });\n },\n // refer http://ta.wikipedia.org/s/1er1\n meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n meridiem : function (hour, minute, isLower) {\n if (hour < 2) {\n return ' யாமம்';\n } else if (hour < 6) {\n return ' வைகறை'; // வைகறை\n } else if (hour < 10) {\n return ' காலை'; // காலை\n } else if (hour < 14) {\n return ' நண்பகல்'; // நண்பகல்\n } else if (hour < 18) {\n return ' எற்பாடு'; // எற்பாடு\n } else if (hour < 22) {\n return ' மாலை'; // மாலை\n } else {\n return ' யாமம்';\n }\n },\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'யாமம்') {\n return hour < 2 ? hour : hour + 12;\n } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n return hour;\n } else if (meridiem === 'நண்பகல்') {\n return hour >= 10 ? hour : hour + 12;\n } else {\n return hour + 12;\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('te', {\n months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n monthsParseExact : true,\n weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n longDateFormat : {\n LT : 'A h:mm',\n LTS : 'A h:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY, A h:mm',\n LLLL : 'dddd, D MMMM YYYY, A h:mm'\n },\n calendar : {\n sameDay : '[నేడు] LT',\n nextDay : '[రేపు] LT',\n nextWeek : 'dddd, LT',\n lastDay : '[నిన్న] LT',\n lastWeek : '[గత] dddd, LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s లో',\n past : '%s క్రితం',\n s : 'కొన్ని క్షణాలు',\n ss : '%d సెకన్లు',\n m : 'ఒక నిమిషం',\n mm : '%d నిమిషాలు',\n h : 'ఒక గంట',\n hh : '%d గంటలు',\n d : 'ఒక రోజు',\n dd : '%d రోజులు',\n M : 'ఒక నెల',\n MM : '%d నెలలు',\n y : 'ఒక సంవత్సరం',\n yy : '%d సంవత్సరాలు'\n },\n dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n ordinal : '%dవ',\n meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'రాత్రి') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'ఉదయం') {\n return hour;\n } else if (meridiem === 'మధ్యాహ్నం') {\n return hour >= 10 ? hour : hour + 12;\n } else if (meridiem === 'సాయంత్రం') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'రాత్రి';\n } else if (hour < 10) {\n return 'ఉదయం';\n } else if (hour < 17) {\n return 'మధ్యాహ్నం';\n } else if (hour < 20) {\n return 'సాయంత్రం';\n } else {\n return 'రాత్రి';\n }\n },\n week : {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 6th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('tet', {\n months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Ohin iha] LT',\n nextDay: '[Aban iha] LT',\n nextWeek: 'dddd [iha] LT',\n lastDay: '[Horiseik iha] LT',\n lastWeek: 'dddd [semana kotuk] [iha] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'iha %s',\n past : '%s liuba',\n s : 'minutu balun',\n ss : 'minutu %d',\n m : 'minutu ida',\n mm : 'minutu %d',\n h : 'oras ida',\n hh : 'oras %d',\n d : 'loron ida',\n dd : 'loron %d',\n M : 'fulan ida',\n MM : 'fulan %d',\n y : 'tinan ida',\n yy : 'tinan %d'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var suffixes$3 = {\n 0: '-ум',\n 1: '-ум',\n 2: '-юм',\n 3: '-юм',\n 4: '-ум',\n 5: '-ум',\n 6: '-ум',\n 7: '-ум',\n 8: '-ум',\n 9: '-ум',\n 10: '-ум',\n 12: '-ум',\n 13: '-ум',\n 20: '-ум',\n 30: '-юм',\n 40: '-ум',\n 50: '-ум',\n 60: '-ум',\n 70: '-ум',\n 80: '-ум',\n 90: '-ум',\n 100: '-ум'\n };\n\n moment.defineLocale('tg', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[Имрӯз соати] LT',\n nextDay : '[Пагоҳ соати] LT',\n lastDay : '[Дирӯз соати] LT',\n nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'баъди %s',\n past : '%s пеш',\n s : 'якчанд сония',\n m : 'як дақиқа',\n mm : '%d дақиқа',\n h : 'як соат',\n hh : '%d соат',\n d : 'як рӯз',\n dd : '%d рӯз',\n M : 'як моҳ',\n MM : '%d моҳ',\n y : 'як сол',\n yy : '%d сол'\n },\n meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'шаб') {\n return hour < 4 ? hour : hour + 12;\n } else if (meridiem === 'субҳ') {\n return hour;\n } else if (meridiem === 'рӯз') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === 'бегоҳ') {\n return hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'шаб';\n } else if (hour < 11) {\n return 'субҳ';\n } else if (hour < 16) {\n return 'рӯз';\n } else if (hour < 19) {\n return 'бегоҳ';\n } else {\n return 'шаб';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n ordinal: function (number) {\n var a = number % 10,\n b = number >= 100 ? 100 : null;\n return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 1th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('th', {\n months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n monthsParseExact: true,\n weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'H:mm',\n LTS : 'H:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY เวลา H:mm',\n LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n },\n meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n isPM: function (input) {\n return input === 'หลังเที่ยง';\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'ก่อนเที่ยง';\n } else {\n return 'หลังเที่ยง';\n }\n },\n calendar : {\n sameDay : '[วันนี้ เวลา] LT',\n nextDay : '[พรุ่งนี้ เวลา] LT',\n nextWeek : 'dddd[หน้า เวลา] LT',\n lastDay : '[เมื่อวานนี้ เวลา] LT',\n lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'อีก %s',\n past : '%sที่แล้ว',\n s : 'ไม่กี่วินาที',\n ss : '%d วินาที',\n m : '1 นาที',\n mm : '%d นาที',\n h : '1 ชั่วโมง',\n hh : '%d ชั่วโมง',\n d : '1 วัน',\n dd : '%d วัน',\n M : '1 เดือน',\n MM : '%d เดือน',\n y : '1 ปี',\n yy : '%d ปี'\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('tl-ph', {\n months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'MM/D/YYYY',\n LL : 'MMMM D, YYYY',\n LLL : 'MMMM D, YYYY HH:mm',\n LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n },\n calendar : {\n sameDay: 'LT [ngayong araw]',\n nextDay: '[Bukas ng] LT',\n nextWeek: 'LT [sa susunod na] dddd',\n lastDay: 'LT [kahapon]',\n lastWeek: 'LT [noong nakaraang] dddd',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'sa loob ng %s',\n past : '%s ang nakalipas',\n s : 'ilang segundo',\n ss : '%d segundo',\n m : 'isang minuto',\n mm : '%d minuto',\n h : 'isang oras',\n hh : '%d oras',\n d : 'isang araw',\n dd : '%d araw',\n M : 'isang buwan',\n MM : '%d buwan',\n y : 'isang taon',\n yy : '%d taon'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n function translateFuture(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'leS' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'waQ' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'nem' :\n time + ' pIq';\n return time;\n }\n\n function translatePast(output) {\n var time = output;\n time = (output.indexOf('jaj') !== -1) ?\n time.slice(0, -3) + 'Hu’' :\n (output.indexOf('jar') !== -1) ?\n time.slice(0, -3) + 'wen' :\n (output.indexOf('DIS') !== -1) ?\n time.slice(0, -3) + 'ben' :\n time + ' ret';\n return time;\n }\n\n function translate$a(number, withoutSuffix, string, isFuture) {\n var numberNoun = numberAsNoun(number);\n switch (string) {\n case 'ss':\n return numberNoun + ' lup';\n case 'mm':\n return numberNoun + ' tup';\n case 'hh':\n return numberNoun + ' rep';\n case 'dd':\n return numberNoun + ' jaj';\n case 'MM':\n return numberNoun + ' jar';\n case 'yy':\n return numberNoun + ' DIS';\n }\n }\n\n function numberAsNoun(number) {\n var hundred = Math.floor((number % 1000) / 100),\n ten = Math.floor((number % 100) / 10),\n one = number % 10,\n word = '';\n if (hundred > 0) {\n word += numbersNouns[hundred] + 'vatlh';\n }\n if (ten > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n }\n if (one > 0) {\n word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n }\n return (word === '') ? 'pagh' : word;\n }\n\n moment.defineLocale('tlh', {\n 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('_'),\n 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('_'),\n monthsParseExact : true,\n weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[DaHjaj] LT',\n nextDay: '[wa’leS] LT',\n nextWeek: 'LLL',\n lastDay: '[wa’Hu’] LT',\n lastWeek: 'LLL',\n sameElse: 'L'\n },\n relativeTime : {\n future : translateFuture,\n past : translatePast,\n s : 'puS lup',\n ss : translate$a,\n m : 'wa’ tup',\n mm : translate$a,\n h : 'wa’ rep',\n hh : translate$a,\n d : 'wa’ jaj',\n dd : translate$a,\n M : 'wa’ jar',\n MM : translate$a,\n y : 'wa’ DIS',\n yy : translate$a\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n var suffixes$4 = {\n 1: '\\'inci',\n 5: '\\'inci',\n 8: '\\'inci',\n 70: '\\'inci',\n 80: '\\'inci',\n 2: '\\'nci',\n 7: '\\'nci',\n 20: '\\'nci',\n 50: '\\'nci',\n 3: '\\'üncü',\n 4: '\\'üncü',\n 100: '\\'üncü',\n 6: '\\'ncı',\n 9: '\\'uncu',\n 10: '\\'uncu',\n 30: '\\'uncu',\n 60: '\\'ıncı',\n 90: '\\'ıncı'\n };\n\n moment.defineLocale('tr', {\n months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[bugün saat] LT',\n nextDay : '[yarın saat] LT',\n nextWeek : '[gelecek] dddd [saat] LT',\n lastDay : '[dün] LT',\n lastWeek : '[geçen] dddd [saat] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s sonra',\n past : '%s önce',\n s : 'birkaç saniye',\n ss : '%d saniye',\n m : 'bir dakika',\n mm : '%d dakika',\n h : 'bir saat',\n hh : '%d saat',\n d : 'bir gün',\n dd : '%d gün',\n M : 'bir ay',\n MM : '%d ay',\n y : 'bir yıl',\n yy : '%d yıl'\n },\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'Do':\n case 'DD':\n return number;\n default:\n if (number === 0) { // special case for zero\n return number + '\\'ıncı';\n }\n var a = number % 10,\n b = number % 100 - a,\n c = number >= 100 ? 100 : null;\n return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n // This is currently too difficult (maybe even impossible) to add.\n moment.defineLocale('tzl', {\n months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n longDateFormat : {\n LT : 'HH.mm',\n LTS : 'HH.mm.ss',\n L : 'DD.MM.YYYY',\n LL : 'D. MMMM [dallas] YYYY',\n LLL : 'D. MMMM [dallas] YYYY HH.mm',\n LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n },\n meridiemParse: /d\\'o|d\\'a/i,\n isPM : function (input) {\n return 'd\\'o' === input.toLowerCase();\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours > 11) {\n return isLower ? 'd\\'o' : 'D\\'O';\n } else {\n return isLower ? 'd\\'a' : 'D\\'A';\n }\n },\n calendar : {\n sameDay : '[oxhi à] LT',\n nextDay : '[demà à] LT',\n nextWeek : 'dddd [à] LT',\n lastDay : '[ieiri à] LT',\n lastWeek : '[sür el] dddd [lasteu à] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'osprei %s',\n past : 'ja%s',\n s : processRelativeTime$7,\n ss : processRelativeTime$7,\n m : processRelativeTime$7,\n mm : processRelativeTime$7,\n h : processRelativeTime$7,\n hh : processRelativeTime$7,\n d : processRelativeTime$7,\n dd : processRelativeTime$7,\n M : processRelativeTime$7,\n MM : processRelativeTime$7,\n y : processRelativeTime$7,\n yy : processRelativeTime$7\n },\n dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n ordinal : '%d.',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n function processRelativeTime$7(number, withoutSuffix, key, isFuture) {\n var format = {\n 's': ['viensas secunds', '\\'iensas secunds'],\n 'ss': [number + ' secunds', '' + number + ' secunds'],\n 'm': ['\\'n míut', '\\'iens míut'],\n 'mm': [number + ' míuts', '' + number + ' míuts'],\n 'h': ['\\'n þora', '\\'iensa þora'],\n 'hh': [number + ' þoras', '' + number + ' þoras'],\n 'd': ['\\'n ziua', '\\'iensa ziua'],\n 'dd': [number + ' ziuas', '' + number + ' ziuas'],\n 'M': ['\\'n mes', '\\'iens mes'],\n 'MM': [number + ' mesen', '' + number + ' mesen'],\n 'y': ['\\'n ar', '\\'iens ar'],\n 'yy': [number + ' ars', '' + number + ' ars']\n };\n return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n }\n\n //! moment.js locale configuration\n\n moment.defineLocale('tzm-latn', {\n months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[asdkh g] LT',\n nextDay: '[aska g] LT',\n nextWeek: 'dddd [g] LT',\n lastDay: '[assant g] LT',\n lastWeek: 'dddd [g] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'dadkh s yan %s',\n past : 'yan %s',\n s : 'imik',\n ss : '%d imik',\n m : 'minuḍ',\n mm : '%d minuḍ',\n h : 'saɛa',\n hh : '%d tassaɛin',\n d : 'ass',\n dd : '%d ossan',\n M : 'ayowr',\n MM : '%d iyyirn',\n y : 'asgas',\n yy : '%d isgasn'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('tzm', {\n months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS: 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n nextWeek: 'dddd [ⴴ] LT',\n lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n lastWeek: 'dddd [ⴴ] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n past : 'ⵢⴰⵏ %s',\n s : 'ⵉⵎⵉⴽ',\n ss : '%d ⵉⵎⵉⴽ',\n m : 'ⵎⵉⵏⵓⴺ',\n mm : '%d ⵎⵉⵏⵓⴺ',\n h : 'ⵙⴰⵄⴰ',\n hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n d : 'ⴰⵙⵙ',\n dd : '%d oⵙⵙⴰⵏ',\n M : 'ⴰⵢoⵓⵔ',\n MM : '%d ⵉⵢⵢⵉⵔⵏ',\n y : 'ⴰⵙⴳⴰⵙ',\n yy : '%d ⵉⵙⴳⴰⵙⵏ'\n },\n week : {\n dow : 6, // Saturday is the first day of the week.\n doy : 12 // The week that contains Jan 12th is the first week of the year.\n }\n });\n\n //! moment.js language configuration\n\n moment.defineLocale('ug-cn', {\n months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n '_'\n ),\n weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n '_'\n ),\n weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'YYYY-MM-DD',\n LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n },\n meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n meridiem === 'يېرىم كېچە' ||\n meridiem === 'سەھەر' ||\n meridiem === 'چۈشتىن بۇرۇن'\n ) {\n return hour;\n } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n return hour + 12;\n } else {\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return 'يېرىم كېچە';\n } else if (hm < 900) {\n return 'سەھەر';\n } else if (hm < 1130) {\n return 'چۈشتىن بۇرۇن';\n } else if (hm < 1230) {\n return 'چۈش';\n } else if (hm < 1800) {\n return 'چۈشتىن كېيىن';\n } else {\n return 'كەچ';\n }\n },\n calendar: {\n sameDay: '[بۈگۈن سائەت] LT',\n nextDay: '[ئەتە سائەت] LT',\n nextWeek: '[كېلەركى] dddd [سائەت] LT',\n lastDay: '[تۆنۈگۈن] LT',\n lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n sameElse: 'L'\n },\n relativeTime: {\n future: '%s كېيىن',\n past: '%s بۇرۇن',\n s: 'نەچچە سېكونت',\n ss: '%d سېكونت',\n m: 'بىر مىنۇت',\n mm: '%d مىنۇت',\n h: 'بىر سائەت',\n hh: '%d سائەت',\n d: 'بىر كۈن',\n dd: '%d كۈن',\n M: 'بىر ئاي',\n MM: '%d ئاي',\n y: 'بىر يىل',\n yy: '%d يىل'\n },\n\n dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '-كۈنى';\n case 'w':\n case 'W':\n return number + '-ھەپتە';\n default:\n return number;\n }\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week: {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow: 1, // Monday is the first day of the week.\n doy: 7 // The week that contains Jan 1st is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n function plural$6(word, num) {\n var forms = word.split('_');\n 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]);\n }\n function relativeTimeWithPlural$4(number, withoutSuffix, key) {\n var format = {\n 'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n 'dd': 'день_дні_днів',\n 'MM': 'місяць_місяці_місяців',\n 'yy': 'рік_роки_років'\n };\n if (key === 'm') {\n return withoutSuffix ? 'хвилина' : 'хвилину';\n }\n else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n }\n else {\n return number + ' ' + plural$6(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\n\n if (m === true) {\n return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n 'accusative' :\n ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n 'genitive' :\n 'nominative');\n return weekdays[nounCase][m.day()];\n }\n function processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n }\n\n moment.defineLocale('uk', {\n months : {\n 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n },\n monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n weekdays : weekdaysCaseReplace,\n weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD.MM.YYYY',\n LL : 'D MMMM YYYY р.',\n LLL : 'D MMMM YYYY р., HH:mm',\n LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n },\n calendar : {\n sameDay: processHoursFunction('[Сьогодні '),\n nextDay: processHoursFunction('[Завтра '),\n lastDay: processHoursFunction('[Вчора '),\n nextWeek: processHoursFunction('[У] dddd ['),\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n case 3:\n case 5:\n case 6:\n return processHoursFunction('[Минулої] dddd [').call(this);\n case 1:\n case 2:\n case 4:\n return processHoursFunction('[Минулого] dddd [').call(this);\n }\n },\n sameElse: 'L'\n },\n relativeTime : {\n future : 'за %s',\n past : '%s тому',\n s : 'декілька секунд',\n ss : relativeTimeWithPlural$4,\n m : relativeTimeWithPlural$4,\n mm : relativeTimeWithPlural$4,\n h : 'годину',\n hh : relativeTimeWithPlural$4,\n d : 'день',\n dd : relativeTimeWithPlural$4,\n M : 'місяць',\n MM : relativeTimeWithPlural$4,\n y : 'рік',\n yy : relativeTimeWithPlural$4\n },\n // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n meridiemParse: /ночі|ранку|дня|вечора/,\n isPM: function (input) {\n return /^(дня|вечора)$/.test(input);\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 4) {\n return 'ночі';\n } else if (hour < 12) {\n return 'ранку';\n } else if (hour < 17) {\n return 'дня';\n } else {\n return 'вечора';\n }\n },\n dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n ordinal: function (number, period) {\n switch (period) {\n case 'M':\n case 'd':\n case 'DDD':\n case 'w':\n case 'W':\n return number + '-й';\n case 'D':\n return number + '-го';\n default:\n return number;\n }\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n var months$9 = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n ];\n var days$1 = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n ];\n\n moment.defineLocale('ur', {\n months : months$9,\n monthsShort : months$9,\n weekdays : days$1,\n weekdaysShort : days$1,\n weekdaysMin : days$1,\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd، D MMMM YYYY HH:mm'\n },\n meridiemParse: /صبح|شام/,\n isPM : function (input) {\n return 'شام' === input;\n },\n meridiem : function (hour, minute, isLower) {\n if (hour < 12) {\n return 'صبح';\n }\n return 'شام';\n },\n calendar : {\n sameDay : '[آج بوقت] LT',\n nextDay : '[کل بوقت] LT',\n nextWeek : 'dddd [بوقت] LT',\n lastDay : '[گذشتہ روز بوقت] LT',\n lastWeek : '[گذشتہ] dddd [بوقت] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : '%s بعد',\n past : '%s قبل',\n s : 'چند سیکنڈ',\n ss : '%d سیکنڈ',\n m : 'ایک منٹ',\n mm : '%d منٹ',\n h : 'ایک گھنٹہ',\n hh : '%d گھنٹے',\n d : 'ایک دن',\n dd : '%d دن',\n M : 'ایک ماہ',\n MM : '%d ماہ',\n y : 'ایک سال',\n yy : '%d سال'\n },\n preparse: function (string) {\n return string.replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/,/g, '،');\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('uz-latn', {\n months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Bugun soat] LT [da]',\n nextDay : '[Ertaga] LT [da]',\n nextWeek : 'dddd [kuni soat] LT [da]',\n lastDay : '[Kecha soat] LT [da]',\n lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Yaqin %s ichida',\n past : 'Bir necha %s oldin',\n s : 'soniya',\n ss : '%d soniya',\n m : 'bir daqiqa',\n mm : '%d daqiqa',\n h : 'bir soat',\n hh : '%d soat',\n d : 'bir kun',\n dd : '%d kun',\n M : 'bir oy',\n MM : '%d oy',\n y : 'bir yil',\n yy : '%d yil'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 7th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('uz', {\n months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'D MMMM YYYY, dddd HH:mm'\n },\n calendar : {\n sameDay : '[Бугун соат] LT [да]',\n nextDay : '[Эртага] LT [да]',\n nextWeek : 'dddd [куни соат] LT [да]',\n lastDay : '[Кеча соат] LT [да]',\n lastWeek : '[Утган] dddd [куни соат] LT [да]',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'Якин %s ичида',\n past : 'Бир неча %s олдин',\n s : 'фурсат',\n ss : '%d фурсат',\n m : 'бир дакика',\n mm : '%d дакика',\n h : 'бир соат',\n hh : '%d соат',\n d : 'бир кун',\n dd : '%d кун',\n M : 'бир ой',\n MM : '%d ой',\n y : 'бир йил',\n yy : '%d йил'\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 7 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('vi', {\n 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('_'),\n monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n monthsParseExact : true,\n weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n weekdaysParseExact : true,\n meridiemParse: /sa|ch/i,\n isPM : function (input) {\n return /^ch$/i.test(input);\n },\n meridiem : function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'sa' : 'SA';\n } else {\n return isLower ? 'ch' : 'CH';\n }\n },\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM [năm] YYYY',\n LLL : 'D MMMM [năm] YYYY HH:mm',\n LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n l : 'DD/M/YYYY',\n ll : 'D MMM YYYY',\n lll : 'D MMM YYYY HH:mm',\n llll : 'ddd, D MMM YYYY HH:mm'\n },\n calendar : {\n sameDay: '[Hôm nay lúc] LT',\n nextDay: '[Ngày mai lúc] LT',\n nextWeek: 'dddd [tuần tới lúc] LT',\n lastDay: '[Hôm qua lúc] LT',\n lastWeek: 'dddd [tuần rồi lúc] LT',\n sameElse: 'L'\n },\n relativeTime : {\n future : '%s tới',\n past : '%s trước',\n s : 'vài giây',\n ss : '%d giây' ,\n m : 'một phút',\n mm : '%d phút',\n h : 'một giờ',\n hh : '%d giờ',\n d : 'một ngày',\n dd : '%d ngày',\n M : 'một tháng',\n MM : '%d tháng',\n y : 'một năm',\n yy : '%d năm'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}/,\n ordinal : function (number) {\n return number;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('x-pseudo', {\n 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('_'),\n monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n monthsParseExact : true,\n weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n weekdaysParseExact : true,\n longDateFormat : {\n LT : 'HH:mm',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY HH:mm',\n LLLL : 'dddd, D MMMM YYYY HH:mm'\n },\n calendar : {\n sameDay : '[T~ódá~ý át] LT',\n nextDay : '[T~ómó~rró~w át] LT',\n nextWeek : 'dddd [át] LT',\n lastDay : '[Ý~ést~érdá~ý át] LT',\n lastWeek : '[L~ást] dddd [át] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'í~ñ %s',\n past : '%s á~gó',\n s : 'á ~féw ~sécó~ñds',\n ss : '%d s~écóñ~ds',\n m : 'á ~míñ~úté',\n mm : '%d m~íñú~tés',\n h : 'á~ñ hó~úr',\n hh : '%d h~óúrs',\n d : 'á ~dáý',\n dd : '%d d~áýs',\n M : 'á ~móñ~th',\n MM : '%d m~óñt~hs',\n y : 'á ~ýéár',\n yy : '%d ý~éárs'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal : function (number) {\n var b = number % 10,\n output = (~~(number % 100 / 10) === 1) ? 'th' :\n (b === 1) ? 'st' :\n (b === 2) ? 'nd' :\n (b === 3) ? 'rd' : 'th';\n return number + output;\n },\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('yo', {\n months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n longDateFormat : {\n LT : 'h:mm A',\n LTS : 'h:mm:ss A',\n L : 'DD/MM/YYYY',\n LL : 'D MMMM YYYY',\n LLL : 'D MMMM YYYY h:mm A',\n LLLL : 'dddd, D MMMM YYYY h:mm A'\n },\n calendar : {\n sameDay : '[Ònì ni] LT',\n nextDay : '[Ọ̀la ni] LT',\n nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n lastDay : '[Àna ni] LT',\n lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n sameElse : 'L'\n },\n relativeTime : {\n future : 'ní %s',\n past : '%s kọjá',\n s : 'ìsẹjú aayá die',\n ss :'aayá %d',\n m : 'ìsẹjú kan',\n mm : 'ìsẹjú %d',\n h : 'wákati kan',\n hh : 'wákati %d',\n d : 'ọjọ́ kan',\n dd : 'ọjọ́ %d',\n M : 'osù kan',\n MM : 'osù %d',\n y : 'ọdún kan',\n yy : 'ọdún %d'\n },\n dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n ordinal : 'ọjọ́ %d',\n week : {\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-cn', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日Ah点mm分',\n LLLL : 'YYYY年M月D日ddddAh点mm分',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' ||\n meridiem === '上午') {\n return hour;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n } else {\n // '中午'\n return hour >= 11 ? hour : hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd':\n case 'D':\n case 'DDD':\n return number + '日';\n case 'M':\n return number + '月';\n case 'w':\n case 'W':\n return number + '周';\n default:\n return number;\n }\n },\n relativeTime : {\n future : '%s内',\n past : '%s前',\n s : '几秒',\n ss : '%d 秒',\n m : '1 分钟',\n mm : '%d 分钟',\n h : '1 小时',\n hh : '%d 小时',\n d : '1 天',\n dd : '%d 天',\n M : '1 个月',\n MM : '%d 个月',\n y : '1 年',\n yy : '%d 年'\n },\n week : {\n // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n dow : 1, // Monday is the first day of the week.\n doy : 4 // The week that contains Jan 4th is the first week of the year.\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-hk', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天]LT',\n nextDay : '[明天]LT',\n nextWeek : '[下]ddddLT',\n lastDay : '[昨天]LT',\n lastWeek : '[上]ddddLT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n //! moment.js locale configuration\n\n moment.defineLocale('zh-tw', {\n months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n longDateFormat : {\n LT : 'HH:mm',\n LTS : 'HH:mm:ss',\n L : 'YYYY/MM/DD',\n LL : 'YYYY年M月D日',\n LLL : 'YYYY年M月D日 HH:mm',\n LLLL : 'YYYY年M月D日dddd HH:mm',\n l : 'YYYY/M/D',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日dddd HH:mm'\n },\n meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n meridiemHour : function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n return hour;\n } else if (meridiem === '中午') {\n return hour >= 11 ? hour : hour + 12;\n } else if (meridiem === '下午' || meridiem === '晚上') {\n return hour + 12;\n }\n },\n meridiem : function (hour, minute, isLower) {\n var hm = hour * 100 + minute;\n if (hm < 600) {\n return '凌晨';\n } else if (hm < 900) {\n return '早上';\n } else if (hm < 1130) {\n return '上午';\n } else if (hm < 1230) {\n return '中午';\n } else if (hm < 1800) {\n return '下午';\n } else {\n return '晚上';\n }\n },\n calendar : {\n sameDay : '[今天] LT',\n nextDay : '[明天] LT',\n nextWeek : '[下]dddd LT',\n lastDay : '[昨天] LT',\n lastWeek : '[上]dddd LT',\n sameElse : 'L'\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n ordinal : function (number, period) {\n switch (period) {\n case 'd' :\n case 'D' :\n case 'DDD' :\n return number + '日';\n case 'M' :\n return number + '月';\n case 'w' :\n case 'W' :\n return number + '週';\n default :\n return number;\n }\n },\n relativeTime : {\n future : '%s內',\n past : '%s前',\n s : '幾秒',\n ss : '%d 秒',\n m : '1 分鐘',\n mm : '%d 分鐘',\n h : '1 小時',\n hh : '%d 小時',\n d : '1 天',\n dd : '%d 天',\n M : '1 個月',\n MM : '%d 個月',\n y : '1 年',\n yy : '%d 年'\n }\n });\n\n moment.locale('en');\n return moment;\n\n})(moment);","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {Part} from './part.js';\n\nconst directives = new WeakMap();\n\n// tslint:disable-next-line:no-any\nexport type DirectiveFactory = (...args: any[]) => object;\n\nexport type DirectiveFn = (part: Part) => void;\n\n/**\n * Brands a function as a directive factory function so that lit-html will call\n * the function during template rendering, rather than passing as a value.\n *\n * A _directive_ is a function that takes a Part as an argument. It has the\n * signature: `(part: Part) => void`.\n *\n * A directive _factory_ is a function that takes arguments for data and\n * configuration and returns a directive. Users of directive usually refer to\n * the directive factory as the directive. For example, \"The repeat directive\".\n *\n * Usually a template author will invoke a directive factory in their template\n * with relevant arguments, which will then return a directive function.\n *\n * Here's an example of using the `repeat()` directive factory that takes an\n * array and a function to render an item:\n *\n * ```js\n * html`
    <${repeat(items, (item) => html`
  • ${item}
  • `)}
`\n * ```\n *\n * When `repeat` is invoked, it returns a directive function that closes over\n * `items` and the template function. When the outer template is rendered, the\n * return directive function is called with the Part for the expression.\n * `repeat` then performs it's custom logic to render multiple items.\n *\n * @param f The directive factory function. Must be a function that returns a\n * function of the signature `(part: Part) => void`. The returned function will\n * be called with the part object.\n *\n * @example\n *\n * import {directive, html} from 'lit-html';\n *\n * const immutable = directive((v) => (part) => {\n * if (part.value !== v) {\n * part.setValue(v)\n * }\n * });\n */\nexport const directive = (f: F): F =>\n ((...args: unknown[]) => {\n const d = f(...args);\n directives.set(d, true);\n return d;\n }) as F;\n\nexport const isDirective = (o: unknown): o is DirectiveFn => {\n return typeof o === 'function' && directives.has(o);\n};\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\ninterface MaybePolyfilledCe extends CustomElementRegistry {\n readonly polyfillWrapFlushCallback?: object;\n}\n\n/**\n * True if the custom elements polyfill is in use.\n */\nexport const isCEPolyfill = window.customElements !== undefined &&\n (window.customElements as MaybePolyfilledCe).polyfillWrapFlushCallback !==\n undefined;\n\n/**\n * Reparents nodes, starting from `start` (inclusive) to `end` (exclusive),\n * into another container (could be the same container), before `before`. If\n * `before` is null, it appends the nodes to the container.\n */\nexport const reparentNodes =\n (container: Node,\n start: Node|null,\n end: Node|null = null,\n before: Node|null = null): void => {\n while (start !== end) {\n const n = start!.nextSibling;\n container.insertBefore(start!, before);\n start = n;\n }\n };\n\n/**\n * Removes nodes, starting from `start` (inclusive) to `end` (exclusive), from\n * `container`.\n */\nexport const removeNodes =\n (container: Node, start: Node|null, end: Node|null = null): void => {\n while (start !== end) {\n const n = start!.nextSibling;\n container.removeChild(start!);\n start = n;\n }\n };\n","/**\n * @license\n * Copyright (c) 2018 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\n/**\n * The Part interface represents a dynamic part of a template instance rendered\n * by lit-html.\n */\nexport interface Part {\n readonly value: unknown;\n\n /**\n * Sets the current part value, but does not write it to the DOM.\n * @param value The value that will be committed.\n */\n setValue(value: unknown): void;\n\n /**\n * Commits the current part value, causing it to actually be written to the\n * DOM.\n *\n * Directives are run at the start of `commit`, so that if they call\n * `part.setValue(...)` synchronously that value will be used in the current\n * commit, and there's no need to call `part.commit()` within the directive.\n * If directives set a part value asynchronously, then they must call\n * `part.commit()` manually.\n */\n commit(): void;\n}\n\n/**\n * A sentinel value that signals that a value was handled by a directive and\n * should not be written to the DOM.\n */\nexport const noChange = {};\n\n/**\n * A sentinel value that signals a NodePart to fully clear its content.\n */\nexport const nothing = {};\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {TemplateResult} from './template-result.js';\n\n/**\n * An expression marker with embedded unique key to avoid collision with\n * possible text in templates.\n */\nexport const marker = `{{lit-${String(Math.random()).slice(2)}}}`;\n\n/**\n * An expression marker used text-positions, multi-binding attributes, and\n * attributes with markup-like text values.\n */\nexport const nodeMarker = ``;\n\nexport const markerRegex = new RegExp(`${marker}|${nodeMarker}`);\n\n/**\n * Suffix appended to all bound attribute names.\n */\nexport const boundAttributeSuffix = '$lit$';\n\n/**\n * An updateable Template that tracks the location of dynamic parts.\n */\nexport class Template {\n readonly parts: TemplatePart[] = [];\n readonly element: HTMLTemplateElement;\n\n constructor(result: TemplateResult, element: HTMLTemplateElement) {\n this.element = element;\n\n const nodesToRemove: Node[] = [];\n const stack: Node[] = [];\n // Edge needs all 4 parameters present; IE11 needs 3rd parameter to be null\n const walker = document.createTreeWalker(\n element.content,\n 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */,\n null,\n false);\n // Keeps track of the last index associated with a part. We try to delete\n // unnecessary nodes, but we never want to associate two different parts\n // to the same index. They must have a constant node between.\n let lastPartIndex = 0;\n let index = -1;\n let partIndex = 0;\n const {strings, values: {length}} = result;\n while (partIndex < length) {\n const node = walker.nextNode() as Element | Comment | Text | null;\n if (node === null) {\n // We've exhausted the content inside a nested template element.\n // Because we still have parts (the outer for-loop), we know:\n // - There is a template in the stack\n // - The walker will find a nextNode outside the template\n walker.currentNode = stack.pop()!;\n continue;\n }\n index++;\n\n if (node.nodeType === 1 /* Node.ELEMENT_NODE */) {\n if ((node as Element).hasAttributes()) {\n const attributes = (node as Element).attributes;\n const {length} = attributes;\n // Per\n // https://developer.mozilla.org/en-US/docs/Web/API/NamedNodeMap,\n // attributes are not guaranteed to be returned in document order.\n // In particular, Edge/IE can return them out of order, so we cannot\n // assume a correspondence between part index and attribute index.\n let count = 0;\n for (let i = 0; i < length; i++) {\n if (endsWith(attributes[i].name, boundAttributeSuffix)) {\n count++;\n }\n }\n while (count-- > 0) {\n // Get the template literal section leading up to the first\n // expression in this attribute\n const stringForPart = strings[partIndex];\n // Find the attribute name\n const name = lastAttributeNameRegex.exec(stringForPart)![2];\n // Find the corresponding attribute\n // All bound attributes have had a suffix added in\n // TemplateResult#getHTML to opt out of special attribute\n // handling. To look up the attribute value we also need to add\n // the suffix.\n const attributeLookupName =\n name.toLowerCase() + boundAttributeSuffix;\n const attributeValue =\n (node as Element).getAttribute(attributeLookupName)!;\n (node as Element).removeAttribute(attributeLookupName);\n const statics = attributeValue.split(markerRegex);\n this.parts.push({type: 'attribute', index, name, strings: statics});\n partIndex += statics.length - 1;\n }\n }\n if ((node as Element).tagName === 'TEMPLATE') {\n stack.push(node);\n walker.currentNode = (node as HTMLTemplateElement).content;\n }\n } else if (node.nodeType === 3 /* Node.TEXT_NODE */) {\n const data = (node as Text).data;\n if (data.indexOf(marker) >= 0) {\n const parent = node.parentNode!;\n const strings = data.split(markerRegex);\n const lastIndex = strings.length - 1;\n // Generate a new text node for each literal section\n // These nodes are also used as the markers for node parts\n for (let i = 0; i < lastIndex; i++) {\n let insert: Node;\n let s = strings[i];\n if (s === '') {\n insert = createMarker();\n } else {\n const match = lastAttributeNameRegex.exec(s);\n if (match !== null && endsWith(match[2], boundAttributeSuffix)) {\n s = s.slice(0, match.index) + match[1] +\n match[2].slice(0, -boundAttributeSuffix.length) + match[3];\n }\n insert = document.createTextNode(s);\n }\n parent.insertBefore(insert, node);\n this.parts.push({type: 'node', index: ++index});\n }\n // If there's no text, we must insert a comment to mark our place.\n // Else, we can trust it will stick around after cloning.\n if (strings[lastIndex] === '') {\n parent.insertBefore(createMarker(), node);\n nodesToRemove.push(node);\n } else {\n (node as Text).data = strings[lastIndex];\n }\n // We have a part for each match found\n partIndex += lastIndex;\n }\n } else if (node.nodeType === 8 /* Node.COMMENT_NODE */) {\n if ((node as Comment).data === marker) {\n const parent = node.parentNode!;\n // Add a new marker node to be the startNode of the Part if any of\n // the following are true:\n // * We don't have a previousSibling\n // * The previousSibling is already the start of a previous part\n if (node.previousSibling === null || index === lastPartIndex) {\n index++;\n parent.insertBefore(createMarker(), node);\n }\n lastPartIndex = index;\n this.parts.push({type: 'node', index});\n // If we don't have a nextSibling, keep this node so we have an end.\n // Else, we can remove it to save future costs.\n if (node.nextSibling === null) {\n (node as Comment).data = '';\n } else {\n nodesToRemove.push(node);\n index--;\n }\n partIndex++;\n } else {\n let i = -1;\n while ((i = (node as Comment).data.indexOf(marker, i + 1)) !== -1) {\n // Comment node has a binding marker inside, make an inactive part\n // The binding won't work, but subsequent bindings will\n // TODO (justinfagnani): consider whether it's even worth it to\n // make bindings in comments work\n this.parts.push({type: 'node', index: -1});\n partIndex++;\n }\n }\n }\n }\n\n // Remove text binding nodes after the walk to not disturb the TreeWalker\n for (const n of nodesToRemove) {\n n.parentNode!.removeChild(n);\n }\n }\n}\n\nconst endsWith = (str: string, suffix: string): boolean => {\n const index = str.length - suffix.length;\n return index >= 0 && str.slice(index) === suffix;\n};\n\n/**\n * A placeholder for a dynamic expression in an HTML template.\n *\n * There are two built-in part types: AttributePart and NodePart. NodeParts\n * always represent a single dynamic expression, while AttributeParts may\n * represent as many expressions are contained in the attribute.\n *\n * A Template's parts are mutable, so parts can be replaced or modified\n * (possibly to implement different template semantics). The contract is that\n * parts can only be replaced, not removed, added or reordered, and parts must\n * always consume the correct number of values in their `update()` method.\n *\n * TODO(justinfagnani): That requirement is a little fragile. A\n * TemplateInstance could instead be more careful about which values it gives\n * to Part.update().\n */\nexport type TemplatePart = {\n readonly type: 'node',\n index: number\n}|{readonly type: 'attribute', index: number, readonly name: string, readonly strings: ReadonlyArray};\n\nexport const isTemplatePartActive = (part: TemplatePart) => part.index !== -1;\n\n// Allows `document.createComment('')` to be renamed for a\n// small manual size-savings.\nexport const createMarker = () => document.createComment('');\n\n/**\n * This regex extracts the attribute name preceding an attribute-position\n * expression. It does this by matching the syntax allowed for attributes\n * against the string literal directly preceding the expression, assuming that\n * the expression is in an attribute-value position.\n *\n * See attributes in the HTML spec:\n * https://www.w3.org/TR/html5/syntax.html#elements-attributes\n *\n * \" \\x09\\x0a\\x0c\\x0d\" are HTML space characters:\n * https://www.w3.org/TR/html5/infrastructure.html#space-characters\n *\n * \"\\0-\\x1F\\x7F-\\x9F\" are Unicode control characters, which includes every\n * space character except \" \".\n *\n * So an attribute is:\n * * The name: any character except a control character, space character, ('),\n * (\"), \">\", \"=\", or \"/\"\n * * Followed by zero or more space characters\n * * Followed by \"=\"\n * * Followed by zero or more space characters\n * * Followed by:\n * * Any character except space, ('), (\"), \"<\", \">\", \"=\", (`), or\n * * (\") then any non-(\"), or\n * * (') then any non-(')\n */\nexport const lastAttributeNameRegex =\n /([ \\x09\\x0a\\x0c\\x0d])([^\\0-\\x1F\\x7F-\\x9F \"'>=/]+)([ \\x09\\x0a\\x0c\\x0d]*=[ \\x09\\x0a\\x0c\\x0d]*(?:[^ \\x09\\x0a\\x0c\\x0d\"'`<>=]*|\"[^\"]*|'[^']*))$/;\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {isCEPolyfill} from './dom.js';\nimport {Part} from './part.js';\nimport {RenderOptions} from './render-options.js';\nimport {TemplateProcessor} from './template-processor.js';\nimport {isTemplatePartActive, Template, TemplatePart} from './template.js';\n\n/**\n * An instance of a `Template` that can be attached to the DOM and updated\n * with new values.\n */\nexport class TemplateInstance {\n private readonly __parts: Array = [];\n readonly processor: TemplateProcessor;\n readonly options: RenderOptions;\n readonly template: Template;\n\n constructor(\n template: Template, processor: TemplateProcessor,\n options: RenderOptions) {\n this.template = template;\n this.processor = processor;\n this.options = options;\n }\n\n update(values: ReadonlyArray) {\n let i = 0;\n for (const part of this.__parts) {\n if (part !== undefined) {\n part.setValue(values[i]);\n }\n i++;\n }\n for (const part of this.__parts) {\n if (part !== undefined) {\n part.commit();\n }\n }\n }\n\n _clone(): DocumentFragment {\n // There are a number of steps in the lifecycle of a template instance's\n // DOM fragment:\n // 1. Clone - create the instance fragment\n // 2. Adopt - adopt into the main document\n // 3. Process - find part markers and create parts\n // 4. Upgrade - upgrade custom elements\n // 5. Update - set node, attribute, property, etc., values\n // 6. Connect - connect to the document. Optional and outside of this\n // method.\n //\n // We have a few constraints on the ordering of these steps:\n // * We need to upgrade before updating, so that property values will pass\n // through any property setters.\n // * We would like to process before upgrading so that we're sure that the\n // cloned fragment is inert and not disturbed by self-modifying DOM.\n // * We want custom elements to upgrade even in disconnected fragments.\n //\n // Given these constraints, with full custom elements support we would\n // prefer the order: Clone, Process, Adopt, Upgrade, Update, Connect\n //\n // But Safari dooes not implement CustomElementRegistry#upgrade, so we\n // can not implement that order and still have upgrade-before-update and\n // upgrade disconnected fragments. So we instead sacrifice the\n // process-before-upgrade constraint, since in Custom Elements v1 elements\n // must not modify their light DOM in the constructor. We still have issues\n // when co-existing with CEv0 elements like Polymer 1, and with polyfills\n // that don't strictly adhere to the no-modification rule because shadow\n // DOM, which may be created in the constructor, is emulated by being placed\n // in the light DOM.\n //\n // The resulting order is on native is: Clone, Adopt, Upgrade, Process,\n // Update, Connect. document.importNode() performs Clone, Adopt, and Upgrade\n // in one step.\n //\n // The Custom Elements v1 polyfill supports upgrade(), so the order when\n // polyfilled is the more ideal: Clone, Process, Adopt, Upgrade, Update,\n // Connect.\n\n const fragment = isCEPolyfill ?\n this.template.element.content.cloneNode(true) as DocumentFragment :\n document.importNode(this.template.element.content, true);\n\n const stack: Node[] = [];\n const parts = this.template.parts;\n // Edge needs all 4 parameters present; IE11 needs 3rd parameter to be null\n const walker = document.createTreeWalker(\n fragment,\n 133 /* NodeFilter.SHOW_{ELEMENT|COMMENT|TEXT} */,\n null,\n false);\n let partIndex = 0;\n let nodeIndex = 0;\n let part: TemplatePart;\n let node = walker.nextNode();\n // Loop through all the nodes and parts of a template\n while (partIndex < parts.length) {\n part = parts[partIndex];\n if (!isTemplatePartActive(part)) {\n this.__parts.push(undefined);\n partIndex++;\n continue;\n }\n\n // Progress the tree walker until we find our next part's node.\n // Note that multiple parts may share the same node (attribute parts\n // on a single element), so this loop may not run at all.\n while (nodeIndex < part.index) {\n nodeIndex++;\n if (node!.nodeName === 'TEMPLATE') {\n stack.push(node!);\n walker.currentNode = (node as HTMLTemplateElement).content;\n }\n if ((node = walker.nextNode()) === null) {\n // We've exhausted the content inside a nested template element.\n // Because we still have parts (the outer for-loop), we know:\n // - There is a template in the stack\n // - The walker will find a nextNode outside the template\n walker.currentNode = stack.pop()!;\n node = walker.nextNode();\n }\n }\n\n // We've arrived at our part's node.\n if (part.type === 'node') {\n const part = this.processor.handleTextExpression(this.options);\n part.insertAfterNode(node!.previousSibling!);\n this.__parts.push(part);\n } else {\n this.__parts.push(...this.processor.handleAttributeExpressions(\n node as Element, part.name, part.strings, this.options));\n }\n partIndex++;\n }\n\n if (isCEPolyfill) {\n document.adoptNode(fragment);\n customElements.upgrade(fragment);\n }\n return fragment;\n }\n}\n","/**\n * @license\n * Copyright (c) 2017 The Polymer Project Authors. All rights reserved.\n * This code may only be used under the BSD style license found at\n * http://polymer.github.io/LICENSE.txt\n * The complete set of authors may be found at\n * http://polymer.github.io/AUTHORS.txt\n * The complete set of contributors may be found at\n * http://polymer.github.io/CONTRIBUTORS.txt\n * Code distributed by Google as part of the polymer project is also\n * subject to an additional IP rights grant found at\n * http://polymer.github.io/PATENTS.txt\n */\n\n/**\n * @module lit-html\n */\n\nimport {reparentNodes} from './dom.js';\nimport {TemplateProcessor} from './template-processor.js';\nimport {boundAttributeSuffix, lastAttributeNameRegex, marker, nodeMarker} from './template.js';\n\nconst commentMarker = ` ${marker} `;\n\n/**\n * The return type of `html`, which holds a Template and the values from\n * interpolated expressions.\n */\nexport class TemplateResult {\n readonly strings: TemplateStringsArray;\n readonly values: ReadonlyArray;\n readonly type: string;\n readonly processor: TemplateProcessor;\n\n constructor(\n strings: TemplateStringsArray, values: ReadonlyArray,\n type: string, processor: TemplateProcessor) {\n this.strings = strings;\n this.values = values;\n this.type = type;\n this.processor = processor;\n }\n\n /**\n * Returns a string of HTML used to create a `