{"version":3,"file":"js/427-f242002b0b34eeb386e5.js","mappings":"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","sources":["webpack://mh-web/./node_modules/moment/locale/fa.js","webpack://mh-web/./node_modules/moment/locale/sd.js","webpack://mh-web/./node_modules/moment/locale/zh-hk.js","webpack://mh-web/./node_modules/moment/locale/et.js","webpack://mh-web/./node_modules/moment/locale/sr-cyrl.js","webpack://mh-web/./node_modules/moment/locale/eu.js","webpack://mh-web/./node_modules/moment/locale/sk.js","webpack://mh-web/./node_modules/moment/locale/ku-kmr.js","webpack://mh-web/./node_modules/moment/locale/ar-ps.js","webpack://mh-web/./node_modules/moment/locale/ca.js","webpack://mh-web/./node_modules/moment/locale/ne.js","webpack://mh-web/./node_modules/moment/locale/en-in.js","webpack://mh-web/./node_modules/moment/locale/ta.js","webpack://mh-web/./node_modules/moment/locale/br.js","webpack://mh-web/./node_modules/moment/locale/he.js","webpack://mh-web/./node_modules/moment/locale/te.js","webpack://mh-web/./node_modules/moment/locale/lo.js","webpack://mh-web/./node_modules/moment/locale/uk.js","webpack://mh-web/./node_modules/moment/locale/hy-am.js","webpack://mh-web/./node_modules/moment/locale/bn-bd.js","webpack://mh-web/./node_modules/moment/locale/si.js","webpack://mh-web/./node_modules/moment/locale/es-mx.js","webpack://mh-web/./node_modules/moment/locale/es-do.js","webpack://mh-web/./node_modules/moment/locale/vi.js","webpack://mh-web/./node_modules/moment/locale/it-ch.js","webpack://mh-web/./node_modules/moment/locale/nb.js","webpack://mh-web/./node_modules/moment/locale/ja.js","webpack://mh-web/./node_modules/moment/locale/ro.js","webpack://mh-web/./node_modules/moment/locale/ar-ma.js","webpack://mh-web/./node_modules/moment/locale/af.js","webpack://mh-web/./node_modules/moment/locale/de-at.js","webpack://mh-web/./node_modules/moment/locale/hr.js","webpack://mh-web/./node_modules/moment/locale/fr-ca.js","webpack://mh-web/./node_modules/moment/locale/kk.js","webpack://mh-web/./node_modules/moment/locale/en-ca.js","webpack://mh-web/./node_modules/moment/locale/tet.js","webpack://mh-web/./node_modules/moment/locale/be.js","webpack://mh-web/./node_modules/moment/locale/tl-ph.js","webpack://mh-web/./node_modules/moment/locale/pa-in.js","webpack://mh-web/./node_modules/moment/locale/mk.js","webpack://mh-web/./node_modules/moment/locale/tlh.js","webpack://mh-web/./node_modules/moment/locale/zh-mo.js","webpack://mh-web/./node_modules/moment/locale/bo.js","webpack://mh-web/./node_modules/moment/locale/gom-deva.js","webpack://mh-web/./node_modules/moment/locale/eo.js","webpack://mh-web/./node_modules/moment/locale/se.js","webpack://mh-web/./node_modules/moment/locale/fy.js","webpack://mh-web/./node_modules/moment/locale/fr-ch.js","webpack://mh-web/./node_modules/moment/locale/sw.js","webpack://mh-web/./node_modules/moment/locale/sv.js","webpack://mh-web/./node_modules/moment/locale/ar-dz.js","webpack://mh-web/./node_modules/moment/locale/ga.js","webpack://mh-web/./node_modules/moment/locale/ka.js","webpack://mh-web/./node_modules/moment/locale/mi.js","webpack://mh-web/./node_modules/moment/locale/ar-ly.js","webpack://mh-web/./node_modules/moment/locale/en-sg.js","webpack://mh-web/./node_modules/daterangepicker/daterangepicker.js","webpack://mh-web/./node_modules/moment/locale/nl-be.js","webpack://mh-web/./node_modules/moment/locale/hi.js","webpack://mh-web/./node_modules/moment/locale/bs.js","webpack://mh-web/./node_modules/daterangepicker/node_modules/jquery/dist/jquery.js","webpack://mh-web/./node_modules/moment/locale/sr.js","webpack://mh-web/./node_modules/moment/locale/lt.js","webpack://mh-web/./node_modules/moment/locale/sl.js","webpack://mh-web/./node_modules/moment/locale/bg.js","webpack://mh-web/./node_modules/moment/locale/pt-br.js","webpack://mh-web/./node_modules/moment/locale/ug-cn.js","webpack://mh-web/./node_modules/moment/locale/zh-tw.js","webpack://mh-web/./node_modules/moment/locale/fo.js","webpack://mh-web/./node_modules/moment/locale/zh-cn.js","webpack://mh-web/./node_modules/moment/locale/en-au.js","webpack://mh-web/./node_modules/moment/locale/nn.js","webpack://mh-web/./node_modules/moment/locale/el.js","webpack://mh-web/./node_modules/moment/locale/de-ch.js","webpack://mh-web/./node_modules/moment/locale/bm.js","webpack://mh-web/./node_modules/moment/locale/th.js","webpack://mh-web/./node_modules/moment/locale/ss.js","webpack://mh-web/./node_modules/moment/locale/en-gb.js","webpack://mh-web/./node_modules/moment/locale/cs.js","webpack://mh-web/./node_modules/moment/locale/es-us.js","webpack://mh-web/./node_modules/moment/locale/uz.js","webpack://mh-web/./node_modules/moment/locale/ur.js","webpack://mh-web/./node_modules/moment/locale/me.js","webpack://mh-web/./node_modules/moment/locale/ar-kw.js","webpack://mh-web/./node_modules/moment/locale/tk.js","webpack://mh-web/./node_modules/moment/locale/dv.js","webpack://mh-web/./node_modules/moment/locale/bn.js","webpack://mh-web/./node_modules/moment/locale/ar.js","webpack://mh-web/./node_modules/moment/locale/ko.js","webpack://mh-web/./node_modules/moment/locale/x-pseudo.js","webpack://mh-web/./node_modules/moment/locale/cy.js","webpack://mh-web/./node_modules/moment/locale/en-il.js","webpack://mh-web/./node_modules/moment/locale/en-ie.js","webpack://mh-web/./node_modules/moment/locale/oc-lnc.js","webpack://mh-web/./node_modules/moment/locale/lv.js","webpack://mh-web/./node_modules/moment/locale/gd.js","webpack://mh-web/./node_modules/moment/locale/my.js","webpack://mh-web/./node_modules/moment/locale/uz-latn.js","webpack://mh-web/./node_modules/moment/locale/ms.js","webpack://mh-web/./node_modules/moment/locale/cv.js","webpack://mh-web/./node_modules/moment/locale/ml.js","webpack://mh-web/./node_modules/moment/locale/id.js","webpack://mh-web/./node_modules/moment/locale/mt.js","webpack://mh-web/./node_modules/moment/locale/gl.js","webpack://mh-web/./node_modules/moment/locale/de.js","webpack://mh-web/./node_modules/moment/locale/ky.js","webpack://mh-web/./node_modules/moment/locale/en-nz.js","webpack://mh-web/./node_modules/moment/locale/lb.js","webpack://mh-web/./node_modules/moment/locale/pt.js","webpack://mh-web/./node_modules/moment/locale/tzl.js","webpack://mh-web/./node_modules/moment/locale/tzm.js","webpack://mh-web/./node_modules/moment/locale/yo.js","webpack://mh-web/./node_modules/moment/locale/ru.js","webpack://mh-web/./node_modules/moment/locale/ar-sa.js","webpack://mh-web/./node_modules/moment/locale/kn.js","webpack://mh-web/./node_modules/moment/locale/tr.js","webpack://mh-web/./node_modules/moment/locale/fr.js","webpack://mh-web/./node_modules/moment/locale/mr.js","webpack://mh-web/./node_modules/moment/locale/tg.js","webpack://mh-web/./node_modules/moment/locale/sq.js","webpack://mh-web/./node_modules/moment/locale/it.js","webpack://mh-web/./node_modules/moment/locale/is.js","webpack://mh-web/./node_modules/moment/locale/jv.js","webpack://mh-web/./node_modules/moment/locale/ar-tn.js","webpack://mh-web/./node_modules/moment/locale/fi.js","webpack://mh-web/./node_modules/moment/locale/hu.js","webpack://mh-web/./node_modules/moment/locale/ms-my.js","webpack://mh-web/./node_modules/moment/locale/nl.js","webpack://mh-web/./node_modules/moment/locale/gom-latn.js","webpack://mh-web/./node_modules/moment/locale/da.js","webpack://mh-web/./node_modules/moment/locale/pl.js","webpack://mh-web/./node_modules/moment/locale/gu.js","webpack://mh-web/./node_modules/moment/moment.js","webpack://mh-web/./node_modules/moment/locale/az.js","webpack://mh-web/./node_modules/moment/locale/fil.js","webpack://mh-web/./node_modules/moment/locale/km.js","webpack://mh-web/./node_modules/moment/locale/es.js","webpack://mh-web/./node_modules/moment/locale/tzm-latn.js","webpack://mh-web/./node_modules/moment/locale/ku.js","webpack://mh-web/./node_modules/moment/locale/mn.js"],"sourcesContent":["//! moment.js locale configuration\n//! locale : Persian [fa]\n//! author : Ebrahim Byagowi : https://github.com/ebraminio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: 'Û±',\n 2: 'Û²',\n 3: 'Û³',\n 4: 'Û´',\n 5: 'Ûµ',\n 6: 'Û¶',\n 7: 'Û·',\n 8: 'Û¸',\n 9: 'Û¹',\n 0: 'Û°',\n },\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 var fa = moment.defineLocale('fa', {\n months: 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n monthsShort:\n 'ژانویه_Ùوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(\n '_'\n ),\n weekdays:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\n weekdaysShort:\n 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split(\n '_'\n ),\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\n .replace(/[Û°-Û¹]/g, function (match) {\n return numberMap[match];\n })\n .replace(/ØŒ/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\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 return fa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sindhi [sd]\n//! author : Narain Sagar : https://github.com/narainsagar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوري',\n 'Ùيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءÙ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر',\n ],\n days = ['آچر', 'سومر', 'اڱارو', 'اربع', 'خميس', 'جمع', 'ڇنڇر'];\n\n var sd = moment.defineLocale('sd', {\n months: months,\n monthsShort: months,\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 return sd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Hong Kong) [zh-hk]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Konstantin : https://github.com/skfd\n//! author : Anthony : https://github.com/anthonylau\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhHk = moment.defineLocale('zh-hk', {\n months: '一月_二月_三月_四月_五月_å…月_七月_八月_ä¹æœˆ_å月_å一月_å二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\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 < 1200) {\n return '上åˆ';\n } else if (hm === 1200) {\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 return zhHk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Estonian [et]\n//! author : Henry Kehlmann : https://github.com/madhenry\n//! improvements : Illimar Tambek : https://github.com/ragulka\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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 var et = moment.defineLocale('et', {\n months: 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split(\n '_'\n ),\n monthsShort:\n 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n weekdays:\n 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split(\n '_'\n ),\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,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: '%d päeva',\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 return et;\n\n})));\n","//! moment.js locale configuration\n//! locale : Serbian Cyrillic [sr-cyrl]\n//! author : Milan JanaÄković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['Ñекунда', 'Ñекунде', 'Ñекунди'],\n m: ['један минут', 'једног минута'],\n mm: ['минут', 'минута', 'минута'],\n h: ['један Ñат', 'једног Ñата'],\n hh: ['Ñат', 'Ñата', 'Ñати'],\n d: ['један дан', 'једног дана'],\n dd: ['дан', 'дана', 'дана'],\n M: ['један меÑец', 'једног меÑеца'],\n MM: ['меÑец', 'меÑеца', 'меÑеци'],\n y: ['једну годину', 'једне године'],\n yy: ['годину', 'године', 'година'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'једна година';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'годину') {\n return number + ' година';\n }\n\n return number + ' ' + word;\n },\n };\n\n var srCyrl = moment.defineLocale('sr-cyrl', {\n months: 'јануар_фебруар_март_април_мај_јун_јул_авгуÑÑ‚_Ñептембар_октобар_новембар_децембар'.split(\n '_'\n ),\n monthsShort:\n 'јан._феб._мар._апр._мај_јун_јул_авг._Ñеп._окт._нов._дец.'.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: 'D. M. 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.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\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 1st is the first week of the year.\n },\n });\n\n return srCyrl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Basque [eu]\n//! author : Eneko Illarramendi : https://github.com/eillarra\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eu = moment.defineLocale('eu', {\n months: 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split(\n '_'\n ),\n monthsShort:\n 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split(\n '_'\n ),\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 return eu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovak [sk]\n//! author : Martin Minka : https://github.com/k2s\n//! based on work of petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months =\n 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split(\n '_'\n ),\n monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n function plural(n) {\n return n > 1 && n < 5;\n }\n function translate(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(number) ? 'sekundy' : 'sekúnd');\n } else {\n return result + 'sekundami';\n }\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(number) ? 'minúty' : 'minút');\n } else {\n return result + 'minútami';\n }\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(number) ? 'hodiny' : 'hodÃn');\n } else {\n return result + 'hodinami';\n }\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(number) ? 'dni' : 'dnÃ');\n } else {\n return result + 'dňami';\n }\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(number) ? 'mesiace' : 'mesiacov');\n } else {\n return result + 'mesiacmi';\n }\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(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n }\n }\n\n var sk = moment.defineLocale('sk', {\n months: months,\n monthsShort: monthsShort,\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,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return sk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Kurdish [ku-kmr]\n//! authors : Mazlum Özdogan : https://github.com/mergehez\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(num, withoutSuffix, key, isFuture) {\n var format = {\n s: ['çend sanîye', 'çend sanîyeyan'],\n ss: [num + ' sanîye', num + ' sanîyeyan'],\n m: ['deqîqeyek', 'deqîqeyekê'],\n mm: [num + ' deqîqe', num + ' deqîqeyan'],\n h: ['saetek', 'saetekê'],\n hh: [num + ' saet', num + ' saetan'],\n d: ['rojek', 'rojekê'],\n dd: [num + ' roj', num + ' rojan'],\n w: ['hefteyek', 'hefteyekê'],\n ww: [num + ' hefte', num + ' hefteyan'],\n M: ['mehek', 'mehekê'],\n MM: [num + ' meh', num + ' mehan'],\n y: ['salek', 'salekê'],\n yy: [num + ' sal', num + ' salan'],\n };\n return withoutSuffix ? format[key][0] : format[key][1];\n }\n // function obliqueNumSuffix(num) {\n // if(num.includes(':'))\n // num = parseInt(num.split(':')[0]);\n // else\n // num = parseInt(num);\n // return num == 0 || num % 10 == 1 ? 'ê'\n // : (num > 10 && num % 10 == 0 ? 'î' : 'an');\n // }\n function ezafeNumSuffix(num) {\n num = '' + num;\n var l = num.substring(num.length - 1),\n ll = num.length > 1 ? num.substring(num.length - 2) : '';\n if (\n !(ll == 12 || ll == 13) &&\n (l == '2' || l == '3' || ll == '50' || l == '70' || l == '80')\n )\n return 'yê';\n return 'ê';\n }\n\n var kuKmr = moment.defineLocale('ku-kmr', {\n // According to the spelling rules defined by the work group of Weqfa Mezopotamyayê (Mesopotamia Foundation)\n // this should be: 'Kanûna Paşîn_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_ÃŽlon_Çirîya Pêşîn_Çirîya Paşîn_Kanûna Pêşîn'\n // But the names below are more well known and handy\n months: 'Rêbendan_Sibat_Adar_Nîsan_Gulan_Hezîran_Tîrmeh_Tebax_ÃŽlon_Cotmeh_Mijdar_Berfanbar'.split(\n '_'\n ),\n monthsShort: 'Rêb_Sib_Ada_Nîs_Gul_Hez_Tîr_Teb_ÃŽlo_Cot_Mij_Ber'.split('_'),\n monthsParseExact: true,\n weekdays: 'YekÅŸem_DuÅŸem_Sêşem_ÇarÅŸem_PêncÅŸem_ÃŽn_Åžemî'.split('_'),\n weekdaysShort: 'Yek_Du_Sê_Çar_Pên_ÃŽn_Åžem'.split('_'),\n weekdaysMin: 'Ye_Du_Sê_Ça_Pê_ÃŽn_Åže'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'bn' : 'BN';\n } else {\n return isLower ? 'pn' : 'PN';\n }\n },\n meridiemParse: /bn|BN|pn|PN/,\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD.MM.YYYY',\n LL: 'Do MMMM[a] YYYY[an]',\n LLL: 'Do MMMM[a] YYYY[an] HH:mm',\n LLLL: 'dddd, Do MMMM[a] YYYY[an] HH:mm',\n ll: 'Do MMM[.] YYYY[an]',\n lll: 'Do MMM[.] YYYY[an] HH:mm',\n llll: 'ddd[.], Do MMM[.] YYYY[an] HH:mm',\n },\n calendar: {\n sameDay: '[ÃŽro di saet] LT [de]',\n nextDay: '[Sibê di saet] LT [de]',\n nextWeek: 'dddd [di saet] LT [de]',\n lastDay: '[Duh di saet] LT [de]',\n lastWeek: 'dddd[a borî di saet] LT [de]',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'di %s de',\n past: 'berî %s',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n w: processRelativeTime,\n ww: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(?:yê|ê|\\.)/,\n ordinal: function (num, period) {\n var p = period.toLowerCase();\n if (p.includes('w') || p.includes('m')) return num + '.';\n\n return num + ezafeNumSuffix(num);\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 return kuKmr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Palestine) [ar-ps]\n//! author : Majd Al-Shihabi : https://github.com/majdal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: 'Ù¡',\n 2: 'Ù¢',\n 3: 'Ù£',\n 4: 'Ù¤',\n 5: 'Ù¥',\n 6: 'Ù¦',\n 7: 'Ù§',\n 8: 'Ù¨',\n 9: 'Ù©',\n 0: 'Ù ',\n },\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 var arPs = moment.defineLocale('ar-ps', {\n months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_Øزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(\n '_'\n ),\n monthsShort:\n 'ك٢_شباط_آذار_نيسان_أيّار_Øزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.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\n .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .split('') // reversed since negative lookbehind not supported everywhere\n .reverse()\n .join('')\n .replace(/[١٢](?![\\u062a\\u0643])/g, function (match) {\n return numberMap[match];\n })\n .split('')\n .reverse()\n .join('')\n .replace(/ØŒ/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\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 return arPs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Catalan [ca]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ca = moment.defineLocale('ca', {\n months: {\n standalone:\n 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split(\n '_'\n ),\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 '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split(\n '_'\n ),\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 (\n '[el] dddd [passat a ' +\n (this.hours() !== 1 ? 'les' : 'la') +\n '] LT'\n );\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 =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\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 return ca;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nepalese [ne]\n//! author : suvash : https://github.com/suvash\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: 'à¥',\n 8: '८',\n 9: '९',\n 0: '०',\n },\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 var ne = moment.defineLocale('ne', {\n months: 'जनवरी_फेबà¥à¤°à¥à¤µà¤°à¥€_मारà¥à¤š_अपà¥à¤°à¤¿à¤²_मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ_अगषà¥à¤Ÿ_सेपà¥à¤Ÿà¥‡à¤®à¥à¤¬à¤°_अकà¥à¤Ÿà¥‹à¤¬à¤°_नोà¤à¥‡à¤®à¥à¤¬à¤°_डिसेमà¥à¤¬à¤°'.split(\n '_'\n ),\n monthsShort:\n 'जन._फेबà¥à¤°à¥._मारà¥à¤š_अपà¥à¤°à¤¿._मई_जà¥à¤¨_जà¥à¤²à¤¾à¤ˆ._अग._सेपà¥à¤Ÿ._अकà¥à¤Ÿà¥‹._नोà¤à¥‡._डिसे.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'आइतबार_सोमबार_मङà¥à¤—लबार_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤•à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return ne;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (India) [en-in]\n//! author : Jatin Agrawal : https://github.com/jatinag22\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIn = moment.defineLocale('en-in', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n week: {\n dow: 0, // Sunday is the first day of the week.\n doy: 6, // The week that contains Jan 1st is the first week of the year.\n },\n });\n\n return enIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tamil [ta]\n//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '௧',\n 2: '௨',\n 3: '௩',\n 4: '௪',\n 5: '௫',\n 6: '௬',\n 7: 'à¯',\n 8: '௮',\n 9: '௯',\n 0: '௦',\n },\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 var ta = moment.defineLocale('ta', {\n months: 'ஜனவரி_பிபà¯à®°à®µà®°à®¿_மாரà¯à®šà¯_à®à®ªà¯à®°à®²à¯_மே_ஜூனà¯_ஜூலை_ஆகஸà¯à®Ÿà¯_செபà¯à®Ÿà¯†à®®à¯à®ªà®°à¯_அகà¯à®Ÿà¯‡à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_டிசமà¯à®ªà®°à¯'.split(\n '_'\n ),\n monthsShort:\n 'ஜனவரி_பிபà¯à®°à®µà®°à®¿_மாரà¯à®šà¯_à®à®ªà¯à®°à®²à¯_மே_ஜூனà¯_ஜூலை_ஆகஸà¯à®Ÿà¯_செபà¯à®Ÿà¯†à®®à¯à®ªà®°à¯_அகà¯à®Ÿà¯‡à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_டிசமà¯à®ªà®°à¯'.split(\n '_'\n ),\n weekdays:\n 'ஞாயிறà¯à®±à¯à®•à¯à®•à®¿à®´à®®à¯ˆ_திஙà¯à®•à®Ÿà¯à®•à®¿à®´à®®à¯ˆ_செவà¯à®µà®¾à®¯à¯à®•à®¿à®´à®®à¯ˆ_பà¯à®¤à®©à¯à®•à®¿à®´à®®à¯ˆ_வியாழகà¯à®•à®¿à®´à®®à¯ˆ_வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ_சனிகà¯à®•à®¿à®´à®®à¯ˆ'.split(\n '_'\n ),\n weekdaysShort: 'ஞாயிறà¯_திஙà¯à®•à®³à¯_செவà¯à®µà®¾à®¯à¯_பà¯à®¤à®©à¯_வியாழனà¯_வெளà¯à®³à®¿_சனி'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return ta;\n\n})));\n","//! moment.js locale configuration\n//! locale : Breton [br]\n//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var monthsParse = [\n /^gen/i,\n /^c[ʼ\\']hwe/i,\n /^meu/i,\n /^ebr/i,\n /^mae/i,\n /^(mez|eve)/i,\n /^gou/i,\n /^eos/i,\n /^gwe/i,\n /^her/i,\n /^du/i,\n /^ker/i,\n ],\n monthsRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu|gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n monthsStrictRegex =\n /^(genver|c[ʼ\\']hwevrer|meurzh|ebrel|mae|mezheven|gouere|eost|gwengolo|here|du|kerzu)/i,\n monthsShortStrictRegex =\n /^(gen|c[ʼ\\']hwe|meu|ebr|mae|eve|gou|eos|gwe|her|du|ker)/i,\n fullWeekdaysParse = [\n /^sul/i,\n /^lun/i,\n /^meurzh/i,\n /^merc[ʼ\\']her/i,\n /^yaou/i,\n /^gwener/i,\n /^sadorn/i,\n ],\n shortWeekdaysParse = [\n /^Sul/i,\n /^Lun/i,\n /^Meu/i,\n /^Mer/i,\n /^Yao/i,\n /^Gwe/i,\n /^Sad/i,\n ],\n minWeekdaysParse = [\n /^Su/i,\n /^Lu/i,\n /^Me([^r]|$)/i,\n /^Mer/i,\n /^Ya/i,\n /^Gw/i,\n /^Sa/i,\n ];\n\n var br = moment.defineLocale('br', {\n months: 'Genver_Cʼhwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split(\n '_'\n ),\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 weekdaysParse: minWeekdaysParse,\n fullWeekdaysParse: fullWeekdaysParse,\n shortWeekdaysParse: shortWeekdaysParse,\n minWeekdaysParse: minWeekdaysParse,\n\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n longDateFormat: {\n LT: 'HH:mm',\n LTS: 'HH:mm:ss',\n L: 'DD/MM/YYYY',\n LL: 'D [a viz] MMMM YYYY',\n LLL: 'D [a viz] MMMM YYYY HH:mm',\n LLLL: 'dddd, D [a viz] MMMM YYYY HH:mm',\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 meridiemParse: /a.m.|g.m./, // goude merenn | a-raok merenn\n isPM: function (token) {\n return token === 'g.m.';\n },\n meridiem: function (hour, minute, isLower) {\n return hour < 12 ? 'a.m.' : 'g.m.';\n },\n });\n\n return br;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hebrew [he]\n//! author : Tomer Cohen : https://github.com/tomer\n//! author : Moshe Simantov : https://github.com/DevelopmentIL\n//! author : Tal Ater : https://github.com/TalAter\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var he = moment.defineLocale('he', {\n months: '×™× ×•×ר_פברו×ר_מרץ_×פריל_מ××™_×™×•× ×™_יולי_×וגוסט_ספטמבר_×וקטובר_× ×•×‘×ž×‘×¨_דצמבר'.split(\n '_'\n ),\n monthsShort:\n '×™× ×•×³_פבר׳_מרץ_×פר׳_מ××™_×™×•× ×™_יולי_×וג׳_ספט׳_×וק׳_× ×•×‘×³_דצמ׳'.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:\n /××—×”\"צ|×œ×¤× ×”\"צ|×חרי הצהריי×|×œ×¤× ×™ הצהריי×|×œ×¤× ×•×ª בוקר|בבוקר|בערב/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 return he;\n\n})));\n","//! moment.js locale configuration\n//! locale : Telugu [te]\n//! author : Krishna Chaitanya Thota : https://github.com/kcthota\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var te = moment.defineLocale('te', {\n months: 'జనవరి_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°šà°¿_à°à°ªà±à°°à°¿à°²à±_మే_జూనà±_à°œà±à°²à±ˆ_ఆగసà±à°Ÿà±_సెపà±à°Ÿà±†à°‚బరà±_à°…à°•à±à°Ÿà±‹à°¬à°°à±_నవంబరà±_డిసెంబరà±'.split(\n '_'\n ),\n monthsShort:\n 'జన._à°«à°¿à°¬à±à°°._మారà±à°šà°¿_à°à°ªà±à°°à°¿._మే_జూనà±_à°œà±à°²à±ˆ_ఆగ._సెపà±._à°…à°•à±à°Ÿà±‹._నవ._డిసె.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ఆదివారం_సోమవారం_మంగళవారం_à°¬à±à°§à°µà°¾à°°à°‚_à°—à±à°°à±à°µà°¾à°°à°‚_à°¶à±à°•à±à°°à°µà°¾à°°à°‚_శనివారం'.split(\n '_'\n ),\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 return te;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lao [lo]\n//! author : Ryan Hart : https://github.com/ryanhart2\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var lo = moment.defineLocale('lo', {\n months: 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.split(\n '_'\n ),\n monthsShort:\n 'ມັງàºàºàº™_àºàº¸àº¡àºžàº²_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_àºà»àº¥àº°àºàº»àº”_ສິງຫາ_àºàº±àº™àºàº²_ຕຸລາ_ພະຈິàº_ທັນວາ'.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: '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 return lo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Ukrainian [uk]\n//! author : zemlanin : https://github.com/zemlanin\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : 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 } else if (key === 'h') {\n return withoutSuffix ? 'година' : 'годину';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n function weekdaysCaseReplace(m, format) {\n var weekdays = {\n nominative:\n 'неділÑ_понеділок_вівторок_Ñереда_четвер_п’ÑтницÑ_Ñубота'.split(\n '_'\n ),\n accusative:\n 'неділю_понеділок_вівторок_Ñереду_четвер_п’Ñтницю_Ñуботу'.split(\n '_'\n ),\n genitive:\n 'неділі_понеділка_вівторка_Ñереди_четверга_п’Ñтниці_Ñуботи'.split(\n '_'\n ),\n },\n nounCase;\n\n if (m === true) {\n return weekdays['nominative']\n .slice(1, 7)\n .concat(weekdays['nominative'].slice(0, 1));\n }\n if (!m) {\n return weekdays['nominative'];\n }\n\n 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 var uk = moment.defineLocale('uk', {\n months: {\n format: 'ÑічнÑ_лютого_березнÑ_квітнÑ_травнÑ_червнÑ_липнÑ_ÑерпнÑ_вереÑнÑ_жовтнÑ_лиÑтопада_груднÑ'.split(\n '_'\n ),\n standalone:\n 'Ñічень_лютий_березень_квітень_травень_червень_липень_Ñерпень_вереÑень_жовтень_лиÑтопад_грудень'.split(\n '_'\n ),\n },\n monthsShort: 'Ñіч_лют_бер_квіт_трав_черв_лип_Ñерп_вер_жовт_лиÑÑ‚_груд'.split(\n '_'\n ),\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,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'годину',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n M: 'міÑÑць',\n MM: relativeTimeWithPlural,\n y: 'рік',\n yy: relativeTimeWithPlural,\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 return uk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Armenian [hy-am]\n//! author : Armendarabyan : https://github.com/armendarabyan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var hyAm = moment.defineLocale('hy-am', {\n months: {\n format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split(\n '_'\n ),\n standalone:\n 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.split(\n '_'\n ),\n },\n monthsShort: 'Õ°Õ¶Õ¾_ÖƒÕ¿Ö€_Õ´Ö€Õ¿_Õ¡ÕºÖ€_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö…Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'),\n weekdays:\n 'Õ¯Õ«Ö€Õ¡Õ¯Õ«_Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«_Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸Ö‚Ö€Õ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split(\n '_'\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 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 return hyAm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali (Bangladesh) [bn-bd]\n//! author : Asraf Hossain Patoary : https://github.com/ashwoolford\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: 'à§',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\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 var bnBd = moment.defineLocale('bn-bd', {\n months: 'জানà§à§Ÿà¦¾à¦°à¦¿_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নà¦à§‡à¦®à§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split(\n '_'\n ),\n monthsShort:\n 'জানà§_ফেবà§à¦°à§_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নà¦à§‡_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙà§à¦—লবার_বà§à¦§à¦¬à¦¾à¦°_বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦•à§à¦°à¦¬à¦¾à¦°_শনিবার'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\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;\n } else if (meridiem === 'দà§à¦ªà§à¦°') {\n return hour >= 3 ? hour : hour + 12;\n } else if (meridiem === 'বিকাল') {\n return hour + 12;\n } else if (meridiem === 'সনà§à¦§à§à¦¯à¦¾') {\n return hour + 12;\n }\n },\n\n meridiem: function (hour, minute, isLower) {\n if (hour < 4) {\n return 'রাত';\n } else if (hour < 6) {\n return 'à¦à§‹à¦°';\n } else if (hour < 12) {\n return 'সকাল';\n } else if (hour < 15) {\n return 'দà§à¦ªà§à¦°';\n } else if (hour < 18) {\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 return bnBd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Sinhalese [si]\n//! author : Sampath Sitinamaluwa : https://github.com/sampathsris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n /*jshint -W100*/\n var si = moment.defineLocale('si', {\n months: 'ජනවà·à¶»à·’_පෙබරවà·à¶»à·’_මà·à¶»à·Šà¶à·”_අප්â€à¶»à·šà¶½à·Š_මà·à¶ºà·’_ජූනි_ජූලි_අගà·à·ƒà·Šà¶à·”_à·ƒà·à¶´à·Šà¶à·à¶¸à·Šà¶¶à¶»à·Š_ඔක්à¶à·à¶¶à¶»à·Š_නොවà·à¶¸à·Šà¶¶à¶»à·Š_දෙසà·à¶¸à·Šà¶¶à¶»à·Š'.split(\n '_'\n ),\n monthsShort: 'ජන_පෙබ_මà·à¶»à·Š_අප්_මà·à¶ºà·’_ජූනි_ජූලි_අගà·_à·ƒà·à¶´à·Š_ඔක්_නොවà·_දෙසà·'.split(\n '_'\n ),\n weekdays:\n 'ඉරිදà·_සඳුදà·_අඟහරුවà·à¶¯à·_බදà·à¶¯à·_බ්â€à¶»à·„ස්පà¶à·’න්දà·_සිකුරà·à¶¯à·_සෙනසුරà·à¶¯à·'.split(\n '_'\n ),\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 return si;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Mexico) [es-mx]\n//! author : JC Franco : https://github.com/jcfranco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(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 var esMx = moment.defineLocale('es-mx', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\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 w: 'una semana',\n ww: '%d semanas',\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n invalidDate: 'Fecha inválida',\n });\n\n return esMx;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (Dominican Republic) [es-do]\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(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 var esDo = moment.defineLocale('es-do', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\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 w: 'una semana',\n ww: '%d semanas',\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 return esDo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Vietnamese [vi]\n//! author : Bang Nguyen : https://github.com/bangnk\n//! author : Chien Kira : https://github.com/chienkira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var vi = 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 '_'\n ),\n monthsShort:\n 'Thg 01_Thg 02_Thg 03_Thg 04_Thg 05_Thg 06_Thg 07_Thg 08_Thg 09_Thg 10_Thg 11_Thg 12'.split(\n '_'\n ),\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 '_'\n ),\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 trÆ°á»›c 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 w: 'má»™t tuần',\n ww: '%d tuần',\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 return vi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian (Switzerland) [it-ch]\n//! author : xfh : https://github.com/xfh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var itCh = moment.defineLocale('it-ch', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\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 '_'\n ),\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 return itCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Norwegian BokmÃ¥l [nb]\n//! authors : Espen Hovlandsdal : https://github.com/rexxars\n//! Sigurd Gartmann : https://github.com/sigurdga\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nb = moment.defineLocale('nb', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._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: 'én time',\n hh: '%d timer',\n d: 'én dag',\n dd: '%d dager',\n w: 'én uke',\n ww: '%d uker',\n M: 'én 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 return nb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Japanese [ja]\n//! author : LI Long : https://github.com/baryon\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ja = moment.defineLocale('ja', {\n eras: [\n {\n since: '2019-05-01',\n offset: 1,\n name: '令和',\n narrow: 'ã‹¿',\n abbr: 'R',\n },\n {\n since: '1989-01-08',\n until: '2019-04-30',\n offset: 1,\n name: 'å¹³æˆ',\n narrow: 'ã»',\n abbr: 'H',\n },\n {\n since: '1926-12-25',\n until: '1989-01-07',\n offset: 1,\n name: 'æ˜å’Œ',\n narrow: 'ã¼',\n abbr: 'S',\n },\n {\n since: '1912-07-30',\n until: '1926-12-24',\n offset: 1,\n name: '大æ£',\n narrow: 'ã½',\n abbr: 'T',\n },\n {\n since: '1873-01-01',\n until: '1912-07-29',\n offset: 6,\n name: '明治',\n narrow: 'ã¾',\n abbr: 'M',\n },\n {\n since: '0001-01-01',\n until: '1873-12-31',\n offset: 1,\n name: '西暦',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: '紀元å‰',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n eraYearOrdinalRegex: /(å…ƒ|\\d+)å¹´/,\n eraYearOrdinalParse: function (input, match) {\n return match[1] === 'å…ƒ' ? 1 : parseInt(match[1] || input, 10);\n },\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 '_'\n ),\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 'y':\n return number === 1 ? '元年' : number + 'å¹´';\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 return ja;\n\n})));\n","//! moment.js locale configuration\n//! locale : Romanian [ro]\n//! author : Vlad Gurdiga : https://github.com/gurdiga\n//! author : Valentin Agachi : https://github.com/avaly\n//! author : Emanuel Cepoi : https://github.com/cepem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: 'secunde',\n mm: 'minute',\n hh: 'ore',\n dd: 'zile',\n ww: 'săptămâni',\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 var ro = moment.defineLocale('ro', {\n months: 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split(\n '_'\n ),\n monthsShort:\n 'ian._feb._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split(\n '_'\n ),\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,\n m: 'un minut',\n mm: relativeTimeWithPlural,\n h: 'o oră',\n hh: relativeTimeWithPlural,\n d: 'o zi',\n dd: relativeTimeWithPlural,\n w: 'o săptămână',\n ww: relativeTimeWithPlural,\n M: 'o lună',\n MM: relativeTimeWithPlural,\n y: 'un an',\n yy: relativeTimeWithPlural,\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 return ro;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Morocco) [ar-ma]\n//! author : ElFadili Yassine : https://github.com/ElFadiliY\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arMa = moment.defineLocale('ar-ma', {\n months: 'يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.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 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 return arMa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Afrikaans [af]\n//! author : Werner Mollentze : https://github.com/wernerm\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var af = moment.defineLocale('af', {\n months: 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split(\n '_'\n ),\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 '_'\n ),\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 (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\n ); // 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 return af;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Austria) [de-at]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Martin Groller : https://github.com/MadMG\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 w: ['eine Woche', 'einer Woche'],\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 var deAt = moment.defineLocale('de-at', {\n months: 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\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 w: processRelativeTime,\n ww: '%d Wochen',\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 return deAt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Croatian [hr]\n//! author : Bojan Marković : https://github.com/bmarkovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var hr = moment.defineLocale('hr', {\n months: {\n format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split(\n '_'\n ),\n standalone:\n 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split(\n '_'\n ),\n },\n monthsShort:\n 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split(\n '_'\n ),\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: 'Do MMMM YYYY',\n LLL: 'Do MMMM YYYY H:mm',\n LLLL: 'dddd, Do 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 return '[proÅ¡lu] [nedjelju] [u] LT';\n case 3:\n return '[proÅ¡lu] [srijedu] [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 return hr;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Canada) [fr-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCa = moment.defineLocale('fr-ca', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\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 return frCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kazakh [kk]\n//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\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 var kk = moment.defineLocale('kk', {\n months: 'қаңтар_ақпан_наурыз_Ñәуір_мамыр_мауÑым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқÑан'.split(\n '_'\n ),\n monthsShort: 'қаң_ақп_нау_Ñәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n weekdays: 'жекÑенбі_дүйÑенбі_ÑейÑенбі_ÑәрÑенбі_бейÑенбі_жұма_Ñенбі'.split(\n '_'\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 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[number] || suffixes[a] || suffixes[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 return kk;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Canada) [en-ca]\n//! author : Jonathan Abourbih : https://github.com/jonbca\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enCa = moment.defineLocale('en-ca', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enCa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tetun Dili (East Timor) [tet]\n//! author : Joshua Brooks : https://github.com/joshbrooks\n//! author : Onorio De J. Afonso : https://github.com/marobo\n//! author : Sonia Simoes : https://github.com/soniasimoes\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tet = moment.defineLocale('tet', {\n months: 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split(\n '_'\n ),\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: 'segundu balun',\n ss: 'segundu %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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : '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 return tet;\n\n})));\n","//! moment.js locale configuration\n//! locale : Belarusian [be]\n//! author : Dmitry Demidov : https://github.com/demidov91\n//! author: Praleska: http://praleska.pro/\n//! Author : Menelion Elensúle : https://github.com/Oire\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : 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 } else if (key === 'h') {\n return withoutSuffix ? 'гадзіна' : 'гадзіну';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n\n var be = moment.defineLocale('be', {\n months: {\n format: 'ÑтудзенÑ_лютага_Ñакавіка_краÑавіка_траўнÑ_чÑрвенÑ_ліпенÑ_жніўнÑ_вераÑнÑ_каÑтрычніка_ліÑтапада_ÑнежнÑ'.split(\n '_'\n ),\n standalone:\n 'Ñтудзень_люты_Ñакавік_краÑавік_травень_чÑрвень_ліпень_жнівень_вераÑень_каÑтрычнік_ліÑтапад_Ñнежань'.split(\n '_'\n ),\n },\n monthsShort:\n 'Ñтуд_лют_Ñак_краÑ_трав_чÑрв_ліп_жнів_вер_каÑÑ‚_ліÑÑ‚_Ñнеж'.split('_'),\n weekdays: {\n format: 'нÑдзелю_панÑдзелак_аўторак_Ñераду_чацвер_пÑтніцу_Ñуботу'.split(\n '_'\n ),\n standalone:\n 'нÑдзелÑ_панÑдзелак_аўторак_Ñерада_чацвер_пÑтніца_Ñубота'.split(\n '_'\n ),\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) &&\n number % 100 !== 12 &&\n number % 100 !== 13\n ? number + '-Ñ–'\n : 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 return be;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tagalog (Philippines) [tl-ph]\n//! author : Dan Hagman : https://github.com/hagmandan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tlPh = moment.defineLocale('tl-ph', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\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 '_'\n ),\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 return tlPh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Punjabi (India) [pa-in]\n//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '੧',\n 2: '੨',\n 3: 'à©©',\n 4: '੪',\n 5: 'à©«',\n 6: '੬',\n 7: 'à©',\n 8: 'à©®',\n 9: '੯',\n 0: '੦',\n },\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 var paIn = 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 '_'\n ),\n monthsShort:\n 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪà©à¨°à©ˆà¨²_ਮਈ_ਜੂਨ_ਜà©à¨²à¨¾à¨ˆ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split(\n '_'\n ),\n weekdays: 'à¨à¨¤à¨µà¨¾à¨°_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬà©à¨§à¨µà¨¾à¨°_ਵੀਰਵਾਰ_ਸ਼à©à©±à¨•à¨°à¨µà¨¾à¨°_ਸ਼ਨੀਚਰਵਾਰ'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return paIn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Macedonian [mk]\n//! author : Borislav Mickov : https://github.com/B0k0\n//! author : Sashko Todorov : https://github.com/bkyceh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mk = moment.defineLocale('mk', {\n months: 'јануари_февруари_март_април_мај_јуни_јули_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'јан_фев_мар_апр_мај_јун_јул_авг_Ñеп_окт_ное_дек'.split('_'),\n weekdays: 'недела_понеделник_вторник_Ñреда_четврток_петок_Ñабота'.split(\n '_'\n ),\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 return mk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Klingon [tlh]\n//! author : Dominika Kruk : https://github.com/amaranthrose\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 =\n 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 =\n 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(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 var tlh = 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 '_'\n ),\n monthsShort:\n '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 '_'\n ),\n monthsParseExact: true,\n weekdays: 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split(\n '_'\n ),\n weekdaysShort:\n 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n weekdaysMin:\n '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,\n m: 'wa’ tup',\n mm: translate,\n h: 'wa’ rep',\n hh: translate,\n d: 'wa’ jaj',\n dd: translate,\n M: 'wa’ jar',\n MM: translate,\n y: 'wa’ DIS',\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return tlh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Macau) [zh-mo]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n//! author : Tan Yuanhong : https://github.com/le0tan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhMo = moment.defineLocale('zh-mo', {\n months: '一月_二月_三月_四月_五月_å…月_七月_八月_ä¹æœˆ_å月_å一月_å二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\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å¹´M月Dæ—¥',\n LLL: 'YYYYå¹´M月Dæ—¥ HH:mm',\n LLLL: 'YYYYå¹´M月Dæ—¥dddd HH:mm',\n l: 'D/M/YYYY',\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 return zhMo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tibetan [bo]\n//! author : Thupten N. Chakrishar : https://github.com/vajradog\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '༡',\n 2: '༢',\n 3: '༣',\n 4: '༤',\n 5: '༥',\n 6: '༦',\n 7: '༧',\n 8: '༨',\n 9: '༩',\n 0: '༠',\n },\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 var bo = moment.defineLocale('bo', {\n months: 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split(\n '_'\n ),\n monthsShort:\n 'ཟླ་1_ཟླ་2_ཟླ་3_ཟླ་4_ཟླ་5_ཟླ་6_ཟླ་7_ཟླ་8_ཟླ་9_ཟླ་10_ཟླ་11_ཟླ་12'.split(\n '_'\n ),\n monthsShortRegex: /^(ཟླ་\\d{1,2})/,\n monthsParseExact: true,\n weekdays:\n 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split(\n '_'\n ),\n weekdaysShort: 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'མཚན་མོ' && hour >= 4) ||\n (meridiem === 'ཉིན་གུང' && hour < 5) ||\n meridiem === 'དགོང་དག'\n ) {\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 return bo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Devanagari script [gom-deva]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['थोडया सॅकंडांनी', 'थोडे सॅकंड'],\n ss: [number + ' सॅकंडांनी', number + ' सॅकंड'],\n m: ['à¤à¤•à¤¾ मिणटान', 'à¤à¤• मिनूट'],\n mm: [number + ' मिणटांनी', number + ' मिणटां'],\n h: ['à¤à¤•à¤¾ वरान', 'à¤à¤• वर'],\n hh: [number + ' वरांनी', number + ' वरां'],\n d: ['à¤à¤•à¤¾ दिसान', 'à¤à¤• दीस'],\n dd: [number + ' दिसांनी', number + ' दीस'],\n M: ['à¤à¤•à¤¾ मà¥à¤¹à¤¯à¤¨à¥à¤¯à¤¾à¤¨', 'à¤à¤• मà¥à¤¹à¤¯à¤¨à¥‹'],\n MM: [number + ' मà¥à¤¹à¤¯à¤¨à¥à¤¯à¤¾à¤¨à¥€', number + ' मà¥à¤¹à¤¯à¤¨à¥‡'],\n y: ['à¤à¤•à¤¾ वरà¥à¤¸à¤¾à¤¨', 'à¤à¤• वरà¥à¤¸'],\n yy: [number + ' वरà¥à¤¸à¤¾à¤‚नी', number + ' वरà¥à¤¸à¤¾à¤‚'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomDeva = moment.defineLocale('gom-deva', {\n months: {\n standalone:\n 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¥€à¤²_मे_जून_जà¥à¤²à¤¯_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split(\n '_'\n ),\n format: 'जानेवारीचà¥à¤¯à¤¾_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€à¤šà¥à¤¯à¤¾_मारà¥à¤šà¤¾à¤šà¥à¤¯à¤¾_à¤à¤ªà¥à¤°à¥€à¤²à¤¾à¤šà¥à¤¯à¤¾_मेयाचà¥à¤¯à¤¾_जूनाचà¥à¤¯à¤¾_जà¥à¤²à¤¯à¤¾à¤šà¥à¤¯à¤¾_ऑगसà¥à¤Ÿà¤¾à¤šà¥à¤¯à¤¾_सपà¥à¤Ÿà¥‡à¤‚बराचà¥à¤¯à¤¾_ऑकà¥à¤Ÿà¥‹à¤¬à¤°à¤¾à¤šà¥à¤¯à¤¾_नोवà¥à¤¹à¥‡à¤‚बराचà¥à¤¯à¤¾_डिसेंबराचà¥à¤¯à¤¾'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'जाने._फेबà¥à¤°à¥._मारà¥à¤š_à¤à¤ªà¥à¤°à¥€._मे_जून_जà¥à¤²._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split(\n '_'\n ),\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, MMMM Do, YYYY, A h:mm [वाजतां]',\n llll: 'ddd, D MMM 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: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\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: function (number, period) {\n switch (period) {\n // the ordinal 'वेर' only applies to day of the month\n case 'D':\n return number + 'वेर';\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: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\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 > 12 ? 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 < 12) {\n return 'सकाळीं';\n } else if (hour < 16) {\n return 'दनपारां';\n } else if (hour < 20) {\n return 'सांजे';\n } else {\n return 'राती';\n }\n },\n });\n\n return gomDeva;\n\n})));\n","//! moment.js locale configuration\n//! locale : Esperanto [eo]\n//! author : Colin Dean : https://github.com/colindean\n//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia\n//! comment : miestasmia corrected the translation by colindean\n//! comment : Vivakvo corrected the translation by colindean and miestasmia\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var eo = moment.defineLocale('eo', {\n months: 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mart_apr_maj_jun_jul_aÅg_sept_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: '[la] D[-an de] MMMM, YYYY',\n LLL: '[la] D[-an de] MMMM, YYYY HH:mm',\n LLLL: 'dddd[n], [la] D[-an de] MMMM, YYYY HH:mm',\n llll: 'ddd, [la] D[-an de] MMM, 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[n je] LT',\n lastDay: '[HieraÅ je] LT',\n lastWeek: '[pasintan] dddd[n je] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'post %s',\n past: 'antaÅ %s',\n s: 'kelkaj sekundoj',\n ss: '%d sekundoj',\n m: 'unu minuto',\n mm: '%d minutoj',\n h: 'unu horo',\n hh: '%d horoj',\n d: 'unu tago', //ne 'diurno', ĉar estas uzita por proksimumo\n dd: '%d tagoj',\n M: 'unu monato',\n MM: '%d monatoj',\n y: 'unu 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 return eo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Northern Sami [se]\n//! authors : BÃ¥rd Rolstad Henriksen : https://github.com/karamell\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var se = 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 '_'\n ),\n monthsShort:\n 'oÄ‘Ä‘j_guov_njuk_cuo_mies_geas_suoi_borg_ÄakÄ_golg_skáb_juov'.split('_'),\n weekdays:\n 'sotnabeaivi_vuossárga_maÅ‹Å‹ebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split(\n '_'\n ),\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 return se;\n\n})));\n","//! moment.js locale configuration\n//! locale : Frisian [fy]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n var fy = moment.defineLocale('fy', {\n months: 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split(\n '_'\n ),\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 '_'\n ),\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 (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\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 return fy;\n\n})));\n","//! moment.js locale configuration\n//! locale : French (Switzerland) [fr-ch]\n//! author : Gaspard Bucher : https://github.com/gaspard\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var frCh = moment.defineLocale('fr-ch', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\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 return frCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swahili [sw]\n//! author : Fahad Kassim : https://github.com/fadsel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sw = moment.defineLocale('sw', {\n months: 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split(\n '_'\n ),\n monthsShort: 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n weekdays:\n 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split(\n '_'\n ),\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 A',\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: 'siku %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 return sw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Swedish [sv]\n//! author : Jens Alm : https://github.com/ulmus\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sv = moment.defineLocale('sv', {\n months: 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split(\n '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? ':e'\n : b === 1\n ? ':a'\n : b === 2\n ? ':a'\n : b === 3\n ? ':e'\n : ':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 return sv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Algeria) [ar-dz]\n//! author : Amine Roukh: https://github.com/Amine27\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n//! author : Noureddine LOUAHEDJ : https://github.com/noureddinem\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واØدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واØدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واØدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واØد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واØد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واØد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\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 },\n months = [\n 'جانÙÙŠ',\n 'ÙÙŠÙري',\n 'مارس',\n 'Ø£Ùريل',\n 'ماي',\n 'جوان',\n 'جويلية',\n 'أوت',\n 'سبتمبر',\n 'أكتوبر',\n 'نوÙمبر',\n 'ديسمبر',\n ];\n\n var arDz = moment.defineLocale('ar-dz', {\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 postformat: function (string) {\n return string.replace(/,/g, 'ØŒ');\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 return arDz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Irish or Irish Gaelic [ga]\n//! author : André Silva : https://github.com/askpt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Eanáir',\n 'Feabhra',\n 'Márta',\n 'Aibreán',\n 'Bealtaine',\n 'Meitheamh',\n 'Iúil',\n 'Lúnasa',\n 'Meán Fómhair',\n 'Deireadh Fómhair',\n 'Samhain',\n 'Nollaig',\n ],\n monthsShort = [\n 'Ean',\n 'Feabh',\n 'Márt',\n 'Aib',\n 'Beal',\n 'Meith',\n 'Iúil',\n 'Lún',\n 'M.F.',\n 'D.F.',\n 'Samh',\n 'Noll',\n ],\n weekdays = [\n 'Dé Domhnaigh',\n 'Dé Luain',\n 'Dé Máirt',\n 'Dé Céadaoin',\n 'Déardaoin',\n 'Dé hAoine',\n 'Dé Sathairn',\n ],\n weekdaysShort = ['Domh', 'Luan', 'Máirt', 'Céad', 'Déar', 'Aoine', 'Sath'],\n weekdaysMin = ['Do', 'Lu', 'Má', 'Cé', 'Dé', 'A', 'Sa'];\n\n var ga = moment.defineLocale('ga', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\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é ag] 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Ãonna',\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 return ga;\n\n})));\n","//! moment.js locale configuration\n//! locale : Georgian [ka]\n//! author : Irakli Janiashvili : https://github.com/IrakliJani\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ka = moment.defineLocale('ka', {\n months: 'იáƒáƒœáƒ•áƒáƒ ი_თებერვáƒáƒšáƒ˜_მáƒáƒ ტი_áƒáƒžáƒ ილი_მáƒáƒ˜áƒ¡áƒ˜_ივნისი_ივლისი_áƒáƒ’ვისტáƒ_სექტემბერი_áƒáƒ¥áƒ¢áƒáƒ›áƒ‘ერი_ნáƒáƒ”მბერი_დეკემბერი'.split(\n '_'\n ),\n monthsShort: 'იáƒáƒœ_თებ_მáƒáƒ _áƒáƒžáƒ _მáƒáƒ˜_ივნ_ივლ_áƒáƒ’ვ_სექ_áƒáƒ¥áƒ¢_ნáƒáƒ”_დეკ'.split('_'),\n weekdays: {\n standalone:\n 'კვირáƒ_áƒáƒ შáƒáƒ‘áƒáƒ—ი_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ი_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ი_ხუთშáƒáƒ‘áƒáƒ—ი_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვი_შáƒáƒ‘áƒáƒ—ი'.split(\n '_'\n ),\n format: 'კვირáƒáƒ¡_áƒáƒ შáƒáƒ‘áƒáƒ—ს_სáƒáƒ›áƒ¨áƒáƒ‘áƒáƒ—ს_áƒáƒ—ხშáƒáƒ‘áƒáƒ—ს_ხუთშáƒáƒ‘áƒáƒ—ს_პáƒáƒ áƒáƒ¡áƒ™áƒ”ვს_შáƒáƒ‘áƒáƒ—ს'.split(\n '_'\n ),\n isFormat: /(წინáƒ|შემდეგ)/,\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: '[შემდეგ] dddd LT[-ზე]',\n lastWeek: '[წინáƒ] dddd LT-ზე',\n sameElse: 'L',\n },\n relativeTime: {\n future: function (s) {\n return s.replace(\n /(წáƒáƒ›|წუთ|სáƒáƒáƒ—|წელ|დღ|თვ)(ი|ე)/,\n function ($0, $1, $2) {\n return $2 === 'ი' ? $1 + 'ში' : $1 + $2 + 'ში';\n }\n );\n },\n past: function (s) {\n if (/(წáƒáƒ›áƒ˜|წუთი|სáƒáƒáƒ—ი|დღე|თვე)/.test(s)) {\n return s.replace(/(ი|ე)$/, 'ის წინ');\n }\n if (/წელი/.test(s)) {\n return s.replace(/წელი$/, 'წლის წინ');\n }\n return s;\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 (\n number < 20 ||\n (number <= 100 && number % 20 === 0) ||\n number % 100 === 0\n ) {\n return 'მე-' + number;\n }\n return number + '-ე';\n },\n week: {\n dow: 1,\n doy: 7,\n },\n });\n\n return ka;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maori [mi]\n//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mi = 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 '_'\n ),\n monthsShort:\n 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split(\n '_'\n ),\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 return mi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Libya) [ar-ly]\n//! author : Ali Hmer: https://github.com/kikoanis\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واØدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واØدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واØدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واØد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واØد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واØد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\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 },\n months = [\n 'يناير',\n 'Ùبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوÙمبر',\n 'ديسمبر',\n ];\n\n var arLy = 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\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\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 return arLy;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Singapore) [en-sg]\n//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enSg = moment.defineLocale('en-sg', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : '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 return enSg;\n\n})));\n","/**\r\n* @version: 3.1\r\n* @author: Dan Grossman http://www.dangrossman.info/\r\n* @copyright: Copyright (c) 2012-2019 Dan Grossman. All rights reserved.\r\n* @license: Licensed under the MIT license. See http://www.opensource.org/licenses/mit-license.php\r\n* @website: http://www.daterangepicker.com/\r\n*/\r\n// Following the UMD template https://github.com/umdjs/umd/blob/master/templates/returnExportsGlobal.js\r\n(function (root, factory) {\r\n if (typeof define === 'function' && define.amd) {\r\n // AMD. Make globaly available as well\r\n define(['moment', 'jquery'], function (moment, jquery) {\r\n if (!jquery.fn) jquery.fn = {}; // webpack server rendering\r\n if (typeof moment !== 'function' && moment.hasOwnProperty('default')) moment = moment['default']\r\n return factory(moment, jquery);\r\n });\r\n } else if (typeof module === 'object' && module.exports) {\r\n // Node / Browserify\r\n //isomorphic issue\r\n var jQuery = (typeof window != 'undefined') ? window.jQuery : undefined;\r\n if (!jQuery) {\r\n jQuery = require('jquery');\r\n if (!jQuery.fn) jQuery.fn = {};\r\n }\r\n var moment = (typeof window != 'undefined' && typeof window.moment != 'undefined') ? window.moment : require('moment');\r\n module.exports = factory(moment, jQuery);\r\n } else {\r\n // Browser globals\r\n root.daterangepicker = factory(root.moment, root.jQuery);\r\n }\r\n}(this, function(moment, $) {\r\n var DateRangePicker = function(element, options, cb) {\r\n\r\n //default settings for options\r\n this.parentEl = 'body';\r\n this.element = $(element);\r\n this.startDate = moment().startOf('day');\r\n this.endDate = moment().endOf('day');\r\n this.minDate = false;\r\n this.maxDate = false;\r\n this.maxSpan = false;\r\n this.autoApply = false;\r\n this.singleDatePicker = false;\r\n this.showDropdowns = false;\r\n this.minYear = moment().subtract(100, 'year').format('YYYY');\r\n this.maxYear = moment().add(100, 'year').format('YYYY');\r\n this.showWeekNumbers = false;\r\n this.showISOWeekNumbers = false;\r\n this.showCustomRangeLabel = true;\r\n this.timePicker = false;\r\n this.timePicker24Hour = false;\r\n this.timePickerIncrement = 1;\r\n this.timePickerSeconds = false;\r\n this.linkedCalendars = true;\r\n this.autoUpdateInput = true;\r\n this.alwaysShowCalendars = false;\r\n this.ranges = {};\r\n\r\n this.opens = 'right';\r\n if (this.element.hasClass('pull-right'))\r\n this.opens = 'left';\r\n\r\n this.drops = 'down';\r\n if (this.element.hasClass('dropup'))\r\n this.drops = 'up';\r\n\r\n this.buttonClasses = 'btn btn-sm';\r\n this.applyButtonClasses = 'btn-primary';\r\n this.cancelButtonClasses = 'btn-default';\r\n\r\n this.locale = {\r\n direction: 'ltr',\r\n format: moment.localeData().longDateFormat('L'),\r\n separator: ' - ',\r\n applyLabel: 'Apply',\r\n cancelLabel: 'Cancel',\r\n weekLabel: 'W',\r\n customRangeLabel: 'Custom Range',\r\n daysOfWeek: moment.weekdaysMin(),\r\n monthNames: moment.monthsShort(),\r\n firstDay: moment.localeData().firstDayOfWeek()\r\n };\r\n\r\n this.callback = function() { };\r\n\r\n //some state information\r\n this.isShowing = false;\r\n this.leftCalendar = {};\r\n this.rightCalendar = {};\r\n\r\n //custom options from user\r\n if (typeof options !== 'object' || options === null)\r\n options = {};\r\n\r\n //allow setting options with data attributes\r\n //data-api options will be overwritten with custom javascript options\r\n options = $.extend(this.element.data(), options);\r\n\r\n //html template for the picker UI\r\n if (typeof options.template !== 'string' && !(options.template instanceof $))\r\n options.template =\r\n '<div class=\"daterangepicker\">' +\r\n '<div class=\"ranges\"></div>' +\r\n '<div class=\"drp-calendar left\">' +\r\n '<div class=\"calendar-table\"></div>' +\r\n '<div class=\"calendar-time\"></div>' +\r\n '</div>' +\r\n '<div class=\"drp-calendar right\">' +\r\n '<div class=\"calendar-table\"></div>' +\r\n '<div class=\"calendar-time\"></div>' +\r\n '</div>' +\r\n '<div class=\"drp-buttons\">' +\r\n '<span class=\"drp-selected\"></span>' +\r\n '<button class=\"cancelBtn\" type=\"button\"></button>' +\r\n '<button class=\"applyBtn\" disabled=\"disabled\" type=\"button\"></button> ' +\r\n '</div>' +\r\n '</div>';\r\n\r\n this.parentEl = (options.parentEl && $(options.parentEl).length) ? $(options.parentEl) : $(this.parentEl);\r\n this.container = $(options.template).appendTo(this.parentEl);\r\n\r\n //\r\n // handle all the possible options overriding defaults\r\n //\r\n\r\n if (typeof options.locale === 'object') {\r\n\r\n if (typeof options.locale.direction === 'string')\r\n this.locale.direction = options.locale.direction;\r\n\r\n if (typeof options.locale.format === 'string')\r\n this.locale.format = options.locale.format;\r\n\r\n if (typeof options.locale.separator === 'string')\r\n this.locale.separator = options.locale.separator;\r\n\r\n if (typeof options.locale.daysOfWeek === 'object')\r\n this.locale.daysOfWeek = options.locale.daysOfWeek.slice();\r\n\r\n if (typeof options.locale.monthNames === 'object')\r\n this.locale.monthNames = options.locale.monthNames.slice();\r\n\r\n if (typeof options.locale.firstDay === 'number')\r\n this.locale.firstDay = options.locale.firstDay;\r\n\r\n if (typeof options.locale.applyLabel === 'string')\r\n this.locale.applyLabel = options.locale.applyLabel;\r\n\r\n if (typeof options.locale.cancelLabel === 'string')\r\n this.locale.cancelLabel = options.locale.cancelLabel;\r\n\r\n if (typeof options.locale.weekLabel === 'string')\r\n this.locale.weekLabel = options.locale.weekLabel;\r\n\r\n if (typeof options.locale.customRangeLabel === 'string'){\r\n //Support unicode chars in the custom range name.\r\n var elem = document.createElement('textarea');\r\n elem.innerHTML = options.locale.customRangeLabel;\r\n var rangeHtml = elem.value;\r\n this.locale.customRangeLabel = rangeHtml;\r\n }\r\n }\r\n this.container.addClass(this.locale.direction);\r\n\r\n if (typeof options.startDate === 'string')\r\n this.startDate = moment(options.startDate, this.locale.format);\r\n\r\n if (typeof options.endDate === 'string')\r\n this.endDate = moment(options.endDate, this.locale.format);\r\n\r\n if (typeof options.minDate === 'string')\r\n this.minDate = moment(options.minDate, this.locale.format);\r\n\r\n if (typeof options.maxDate === 'string')\r\n this.maxDate = moment(options.maxDate, this.locale.format);\r\n\r\n if (typeof options.startDate === 'object')\r\n this.startDate = moment(options.startDate);\r\n\r\n if (typeof options.endDate === 'object')\r\n this.endDate = moment(options.endDate);\r\n\r\n if (typeof options.minDate === 'object')\r\n this.minDate = moment(options.minDate);\r\n\r\n if (typeof options.maxDate === 'object')\r\n this.maxDate = moment(options.maxDate);\r\n\r\n // sanity check for bad options\r\n if (this.minDate && this.startDate.isBefore(this.minDate))\r\n this.startDate = this.minDate.clone();\r\n\r\n // sanity check for bad options\r\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\r\n this.endDate = this.maxDate.clone();\r\n\r\n if (typeof options.applyButtonClasses === 'string')\r\n this.applyButtonClasses = options.applyButtonClasses;\r\n\r\n if (typeof options.applyClass === 'string') //backwards compat\r\n this.applyButtonClasses = options.applyClass;\r\n\r\n if (typeof options.cancelButtonClasses === 'string')\r\n this.cancelButtonClasses = options.cancelButtonClasses;\r\n\r\n if (typeof options.cancelClass === 'string') //backwards compat\r\n this.cancelButtonClasses = options.cancelClass;\r\n\r\n if (typeof options.maxSpan === 'object')\r\n this.maxSpan = options.maxSpan;\r\n\r\n if (typeof options.dateLimit === 'object') //backwards compat\r\n this.maxSpan = options.dateLimit;\r\n\r\n if (typeof options.opens === 'string')\r\n this.opens = options.opens;\r\n\r\n if (typeof options.drops === 'string')\r\n this.drops = options.drops;\r\n\r\n if (typeof options.showWeekNumbers === 'boolean')\r\n this.showWeekNumbers = options.showWeekNumbers;\r\n\r\n if (typeof options.showISOWeekNumbers === 'boolean')\r\n this.showISOWeekNumbers = options.showISOWeekNumbers;\r\n\r\n if (typeof options.buttonClasses === 'string')\r\n this.buttonClasses = options.buttonClasses;\r\n\r\n if (typeof options.buttonClasses === 'object')\r\n this.buttonClasses = options.buttonClasses.join(' ');\r\n\r\n if (typeof options.showDropdowns === 'boolean')\r\n this.showDropdowns = options.showDropdowns;\r\n\r\n if (typeof options.minYear === 'number')\r\n this.minYear = options.minYear;\r\n\r\n if (typeof options.maxYear === 'number')\r\n this.maxYear = options.maxYear;\r\n\r\n if (typeof options.showCustomRangeLabel === 'boolean')\r\n this.showCustomRangeLabel = options.showCustomRangeLabel;\r\n\r\n if (typeof options.singleDatePicker === 'boolean') {\r\n this.singleDatePicker = options.singleDatePicker;\r\n if (this.singleDatePicker)\r\n this.endDate = this.startDate.clone();\r\n }\r\n\r\n if (typeof options.timePicker === 'boolean')\r\n this.timePicker = options.timePicker;\r\n\r\n if (typeof options.timePickerSeconds === 'boolean')\r\n this.timePickerSeconds = options.timePickerSeconds;\r\n\r\n if (typeof options.timePickerIncrement === 'number')\r\n this.timePickerIncrement = options.timePickerIncrement;\r\n\r\n if (typeof options.timePicker24Hour === 'boolean')\r\n this.timePicker24Hour = options.timePicker24Hour;\r\n\r\n if (typeof options.autoApply === 'boolean')\r\n this.autoApply = options.autoApply;\r\n\r\n if (typeof options.autoUpdateInput === 'boolean')\r\n this.autoUpdateInput = options.autoUpdateInput;\r\n\r\n if (typeof options.linkedCalendars === 'boolean')\r\n this.linkedCalendars = options.linkedCalendars;\r\n\r\n if (typeof options.isInvalidDate === 'function')\r\n this.isInvalidDate = options.isInvalidDate;\r\n\r\n if (typeof options.isCustomDate === 'function')\r\n this.isCustomDate = options.isCustomDate;\r\n\r\n if (typeof options.alwaysShowCalendars === 'boolean')\r\n this.alwaysShowCalendars = options.alwaysShowCalendars;\r\n\r\n // update day names order to firstDay\r\n if (this.locale.firstDay != 0) {\r\n var iterator = this.locale.firstDay;\r\n while (iterator > 0) {\r\n this.locale.daysOfWeek.push(this.locale.daysOfWeek.shift());\r\n iterator--;\r\n }\r\n }\r\n\r\n var start, end, range;\r\n\r\n //if no start/end dates set, check if an input element contains initial values\r\n if (typeof options.startDate === 'undefined' && typeof options.endDate === 'undefined') {\r\n if ($(this.element).is(':text')) {\r\n var val = $(this.element).val(),\r\n split = val.split(this.locale.separator);\r\n\r\n start = end = null;\r\n\r\n if (split.length == 2) {\r\n start = moment(split[0], this.locale.format);\r\n end = moment(split[1], this.locale.format);\r\n } else if (this.singleDatePicker && val !== \"\") {\r\n start = moment(val, this.locale.format);\r\n end = moment(val, this.locale.format);\r\n }\r\n if (start !== null && end !== null) {\r\n this.setStartDate(start);\r\n this.setEndDate(end);\r\n }\r\n }\r\n }\r\n\r\n if (typeof options.ranges === 'object') {\r\n for (range in options.ranges) {\r\n\r\n if (typeof options.ranges[range][0] === 'string')\r\n start = moment(options.ranges[range][0], this.locale.format);\r\n else\r\n start = moment(options.ranges[range][0]);\r\n\r\n if (typeof options.ranges[range][1] === 'string')\r\n end = moment(options.ranges[range][1], this.locale.format);\r\n else\r\n end = moment(options.ranges[range][1]);\r\n\r\n // If the start or end date exceed those allowed by the minDate or maxSpan\r\n // options, shorten the range to the allowable period.\r\n if (this.minDate && start.isBefore(this.minDate))\r\n start = this.minDate.clone();\r\n\r\n var maxDate = this.maxDate;\r\n if (this.maxSpan && maxDate && start.clone().add(this.maxSpan).isAfter(maxDate))\r\n maxDate = start.clone().add(this.maxSpan);\r\n if (maxDate && end.isAfter(maxDate))\r\n end = maxDate.clone();\r\n\r\n // If the end of the range is before the minimum or the start of the range is\r\n // after the maximum, don't display this range option at all.\r\n if ((this.minDate && end.isBefore(this.minDate, this.timepicker ? 'minute' : 'day'))\r\n || (maxDate && start.isAfter(maxDate, this.timepicker ? 'minute' : 'day')))\r\n continue;\r\n\r\n //Support unicode chars in the range names.\r\n var elem = document.createElement('textarea');\r\n elem.innerHTML = range;\r\n var rangeHtml = elem.value;\r\n\r\n this.ranges[rangeHtml] = [start, end];\r\n }\r\n\r\n var list = '<ul>';\r\n for (range in this.ranges) {\r\n list += '<li data-range-key=\"' + range + '\">' + range + '</li>';\r\n }\r\n if (this.showCustomRangeLabel) {\r\n list += '<li data-range-key=\"' + this.locale.customRangeLabel + '\">' + this.locale.customRangeLabel + '</li>';\r\n }\r\n list += '</ul>';\r\n this.container.find('.ranges').prepend(list);\r\n }\r\n\r\n if (typeof cb === 'function') {\r\n this.callback = cb;\r\n }\r\n\r\n if (!this.timePicker) {\r\n this.startDate = this.startDate.startOf('day');\r\n this.endDate = this.endDate.endOf('day');\r\n this.container.find('.calendar-time').hide();\r\n }\r\n\r\n //can't be used together for now\r\n if (this.timePicker && this.autoApply)\r\n this.autoApply = false;\r\n\r\n if (this.autoApply) {\r\n this.container.addClass('auto-apply');\r\n }\r\n\r\n if (typeof options.ranges === 'object')\r\n this.container.addClass('show-ranges');\r\n\r\n if (this.singleDatePicker) {\r\n this.container.addClass('single');\r\n this.container.find('.drp-calendar.left').addClass('single');\r\n this.container.find('.drp-calendar.left').show();\r\n this.container.find('.drp-calendar.right').hide();\r\n if (!this.timePicker && this.autoApply) {\r\n this.container.addClass('auto-apply');\r\n }\r\n }\r\n\r\n if ((typeof options.ranges === 'undefined' && !this.singleDatePicker) || this.alwaysShowCalendars) {\r\n this.container.addClass('show-calendar');\r\n }\r\n\r\n this.container.addClass('opens' + this.opens);\r\n\r\n //apply CSS classes and labels to buttons\r\n this.container.find('.applyBtn, .cancelBtn').addClass(this.buttonClasses);\r\n if (this.applyButtonClasses.length)\r\n this.container.find('.applyBtn').addClass(this.applyButtonClasses);\r\n if (this.cancelButtonClasses.length)\r\n this.container.find('.cancelBtn').addClass(this.cancelButtonClasses);\r\n this.container.find('.applyBtn').html(this.locale.applyLabel);\r\n this.container.find('.cancelBtn').html(this.locale.cancelLabel);\r\n\r\n //\r\n // event listeners\r\n //\r\n\r\n this.container.find('.drp-calendar')\r\n .on('click.daterangepicker', '.prev', $.proxy(this.clickPrev, this))\r\n .on('click.daterangepicker', '.next', $.proxy(this.clickNext, this))\r\n .on('mousedown.daterangepicker', 'td.available', $.proxy(this.clickDate, this))\r\n .on('mouseenter.daterangepicker', 'td.available', $.proxy(this.hoverDate, this))\r\n .on('change.daterangepicker', 'select.yearselect', $.proxy(this.monthOrYearChanged, this))\r\n .on('change.daterangepicker', 'select.monthselect', $.proxy(this.monthOrYearChanged, this))\r\n .on('change.daterangepicker', 'select.hourselect,select.minuteselect,select.secondselect,select.ampmselect', $.proxy(this.timeChanged, this));\r\n\r\n this.container.find('.ranges')\r\n .on('click.daterangepicker', 'li', $.proxy(this.clickRange, this));\r\n\r\n this.container.find('.drp-buttons')\r\n .on('click.daterangepicker', 'button.applyBtn', $.proxy(this.clickApply, this))\r\n .on('click.daterangepicker', 'button.cancelBtn', $.proxy(this.clickCancel, this));\r\n\r\n if (this.element.is('input') || this.element.is('button')) {\r\n this.element.on({\r\n 'click.daterangepicker': $.proxy(this.show, this),\r\n 'focus.daterangepicker': $.proxy(this.show, this),\r\n 'keyup.daterangepicker': $.proxy(this.elementChanged, this),\r\n 'keydown.daterangepicker': $.proxy(this.keydown, this) //IE 11 compatibility\r\n });\r\n } else {\r\n this.element.on('click.daterangepicker', $.proxy(this.toggle, this));\r\n this.element.on('keydown.daterangepicker', $.proxy(this.toggle, this));\r\n }\r\n\r\n //\r\n // if attached to a text input, set the initial value\r\n //\r\n\r\n this.updateElement();\r\n\r\n };\r\n\r\n DateRangePicker.prototype = {\r\n\r\n constructor: DateRangePicker,\r\n\r\n setStartDate: function(startDate) {\r\n if (typeof startDate === 'string')\r\n this.startDate = moment(startDate, this.locale.format);\r\n\r\n if (typeof startDate === 'object')\r\n this.startDate = moment(startDate);\r\n\r\n if (!this.timePicker)\r\n this.startDate = this.startDate.startOf('day');\r\n\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n\r\n if (this.minDate && this.startDate.isBefore(this.minDate)) {\r\n this.startDate = this.minDate.clone();\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.round(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n }\r\n\r\n if (this.maxDate && this.startDate.isAfter(this.maxDate)) {\r\n this.startDate = this.maxDate.clone();\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.startDate.minute(Math.floor(this.startDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n }\r\n\r\n if (!this.isShowing)\r\n this.updateElement();\r\n\r\n this.updateMonthsInView();\r\n },\r\n\r\n setEndDate: function(endDate) {\r\n if (typeof endDate === 'string')\r\n this.endDate = moment(endDate, this.locale.format);\r\n\r\n if (typeof endDate === 'object')\r\n this.endDate = moment(endDate);\r\n\r\n if (!this.timePicker)\r\n this.endDate = this.endDate.endOf('day');\r\n\r\n if (this.timePicker && this.timePickerIncrement)\r\n this.endDate.minute(Math.round(this.endDate.minute() / this.timePickerIncrement) * this.timePickerIncrement);\r\n\r\n if (this.endDate.isBefore(this.startDate))\r\n this.endDate = this.startDate.clone();\r\n\r\n if (this.maxDate && this.endDate.isAfter(this.maxDate))\r\n this.endDate = this.maxDate.clone();\r\n\r\n if (this.maxSpan && this.startDate.clone().add(this.maxSpan).isBefore(this.endDate))\r\n this.endDate = this.startDate.clone().add(this.maxSpan);\r\n\r\n this.previousRightTime = this.endDate.clone();\r\n\r\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\r\n\r\n if (!this.isShowing)\r\n this.updateElement();\r\n\r\n this.updateMonthsInView();\r\n },\r\n\r\n isInvalidDate: function() {\r\n return false;\r\n },\r\n\r\n isCustomDate: function() {\r\n return false;\r\n },\r\n\r\n updateView: function() {\r\n if (this.timePicker) {\r\n this.renderTimePicker('left');\r\n this.renderTimePicker('right');\r\n if (!this.endDate) {\r\n this.container.find('.right .calendar-time select').prop('disabled', true).addClass('disabled');\r\n } else {\r\n this.container.find('.right .calendar-time select').prop('disabled', false).removeClass('disabled');\r\n }\r\n }\r\n if (this.endDate)\r\n this.container.find('.drp-selected').html(this.startDate.format(this.locale.format) + this.locale.separator + this.endDate.format(this.locale.format));\r\n this.updateMonthsInView();\r\n this.updateCalendars();\r\n this.updateFormInputs();\r\n },\r\n\r\n updateMonthsInView: function() {\r\n if (this.endDate) {\r\n\r\n //if both dates are visible already, do nothing\r\n if (!this.singleDatePicker && this.leftCalendar.month && this.rightCalendar.month &&\r\n (this.startDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.startDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\r\n &&\r\n (this.endDate.format('YYYY-MM') == this.leftCalendar.month.format('YYYY-MM') || this.endDate.format('YYYY-MM') == this.rightCalendar.month.format('YYYY-MM'))\r\n ) {\r\n return;\r\n }\r\n\r\n this.leftCalendar.month = this.startDate.clone().date(2);\r\n if (!this.linkedCalendars && (this.endDate.month() != this.startDate.month() || this.endDate.year() != this.startDate.year())) {\r\n this.rightCalendar.month = this.endDate.clone().date(2);\r\n } else {\r\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\r\n }\r\n\r\n } else {\r\n if (this.leftCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM') && this.rightCalendar.month.format('YYYY-MM') != this.startDate.format('YYYY-MM')) {\r\n this.leftCalendar.month = this.startDate.clone().date(2);\r\n this.rightCalendar.month = this.startDate.clone().date(2).add(1, 'month');\r\n }\r\n }\r\n if (this.maxDate && this.linkedCalendars && !this.singleDatePicker && this.rightCalendar.month > this.maxDate) {\r\n this.rightCalendar.month = this.maxDate.clone().date(2);\r\n this.leftCalendar.month = this.maxDate.clone().date(2).subtract(1, 'month');\r\n }\r\n },\r\n\r\n updateCalendars: function() {\r\n\r\n if (this.timePicker) {\r\n var hour, minute, second;\r\n if (this.endDate) {\r\n hour = parseInt(this.container.find('.left .hourselect').val(), 10);\r\n minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);\r\n }\r\n second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.left .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n } else {\r\n hour = parseInt(this.container.find('.right .hourselect').val(), 10);\r\n minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);\r\n }\r\n second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.right .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n }\r\n this.leftCalendar.month.hour(hour).minute(minute).second(second);\r\n this.rightCalendar.month.hour(hour).minute(minute).second(second);\r\n }\r\n\r\n this.renderCalendar('left');\r\n this.renderCalendar('right');\r\n\r\n //highlight any predefined range matching the current start and end dates\r\n this.container.find('.ranges li').removeClass('active');\r\n if (this.endDate == null) return;\r\n\r\n this.calculateChosenLabel();\r\n },\r\n\r\n renderCalendar: function(side) {\r\n\r\n //\r\n // Build the matrix of dates that will populate the calendar\r\n //\r\n\r\n var calendar = side == 'left' ? this.leftCalendar : this.rightCalendar;\r\n var month = calendar.month.month();\r\n var year = calendar.month.year();\r\n var hour = calendar.month.hour();\r\n var minute = calendar.month.minute();\r\n var second = calendar.month.second();\r\n var daysInMonth = moment([year, month]).daysInMonth();\r\n var firstDay = moment([year, month, 1]);\r\n var lastDay = moment([year, month, daysInMonth]);\r\n var lastMonth = moment(firstDay).subtract(1, 'month').month();\r\n var lastYear = moment(firstDay).subtract(1, 'month').year();\r\n var daysInLastMonth = moment([lastYear, lastMonth]).daysInMonth();\r\n var dayOfWeek = firstDay.day();\r\n\r\n //initialize a 6 rows x 7 columns array for the calendar\r\n var calendar = [];\r\n calendar.firstDay = firstDay;\r\n calendar.lastDay = lastDay;\r\n\r\n for (var i = 0; i < 6; i++) {\r\n calendar[i] = [];\r\n }\r\n\r\n //populate the calendar with date objects\r\n var startDay = daysInLastMonth - dayOfWeek + this.locale.firstDay + 1;\r\n if (startDay > daysInLastMonth)\r\n startDay -= 7;\r\n\r\n if (dayOfWeek == this.locale.firstDay)\r\n startDay = daysInLastMonth - 6;\r\n\r\n var curDate = moment([lastYear, lastMonth, startDay, 12, minute, second]);\r\n\r\n var col, row;\r\n for (var i = 0, col = 0, row = 0; i < 42; i++, col++, curDate = moment(curDate).add(24, 'hour')) {\r\n if (i > 0 && col % 7 === 0) {\r\n col = 0;\r\n row++;\r\n }\r\n calendar[row][col] = curDate.clone().hour(hour).minute(minute).second(second);\r\n curDate.hour(12);\r\n\r\n if (this.minDate && calendar[row][col].format('YYYY-MM-DD') == this.minDate.format('YYYY-MM-DD') && calendar[row][col].isBefore(this.minDate) && side == 'left') {\r\n calendar[row][col] = this.minDate.clone();\r\n }\r\n\r\n if (this.maxDate && calendar[row][col].format('YYYY-MM-DD') == this.maxDate.format('YYYY-MM-DD') && calendar[row][col].isAfter(this.maxDate) && side == 'right') {\r\n calendar[row][col] = this.maxDate.clone();\r\n }\r\n\r\n }\r\n\r\n //make the calendar object available to hoverDate/clickDate\r\n if (side == 'left') {\r\n this.leftCalendar.calendar = calendar;\r\n } else {\r\n this.rightCalendar.calendar = calendar;\r\n }\r\n\r\n //\r\n // Display the calendar\r\n //\r\n\r\n var minDate = side == 'left' ? this.minDate : this.startDate;\r\n var maxDate = this.maxDate;\r\n var selected = side == 'left' ? this.startDate : this.endDate;\r\n var arrow = this.locale.direction == 'ltr' ? {left: 'chevron-left', right: 'chevron-right'} : {left: 'chevron-right', right: 'chevron-left'};\r\n\r\n var html = '<table class=\"table-condensed\">';\r\n html += '<thead>';\r\n html += '<tr>';\r\n\r\n // add empty cell for week number\r\n if (this.showWeekNumbers || this.showISOWeekNumbers)\r\n html += '<th></th>';\r\n\r\n if ((!minDate || minDate.isBefore(calendar.firstDay)) && (!this.linkedCalendars || side == 'left')) {\r\n html += '<th class=\"prev available\"><span></span></th>';\r\n } else {\r\n html += '<th></th>';\r\n }\r\n\r\n var dateHtml = this.locale.monthNames[calendar[1][1].month()] + calendar[1][1].format(\" YYYY\");\r\n\r\n if (this.showDropdowns) {\r\n var currentMonth = calendar[1][1].month();\r\n var currentYear = calendar[1][1].year();\r\n var maxYear = (maxDate && maxDate.year()) || (this.maxYear);\r\n var minYear = (minDate && minDate.year()) || (this.minYear);\r\n var inMinYear = currentYear == minYear;\r\n var inMaxYear = currentYear == maxYear;\r\n\r\n var monthHtml = '<select class=\"monthselect\">';\r\n for (var m = 0; m < 12; m++) {\r\n if ((!inMinYear || (minDate && m >= minDate.month())) && (!inMaxYear || (maxDate && m <= maxDate.month()))) {\r\n monthHtml += \"<option value='\" + m + \"'\" +\r\n (m === currentMonth ? \" selected='selected'\" : \"\") +\r\n \">\" + this.locale.monthNames[m] + \"</option>\";\r\n } else {\r\n monthHtml += \"<option value='\" + m + \"'\" +\r\n (m === currentMonth ? \" selected='selected'\" : \"\") +\r\n \" disabled='disabled'>\" + this.locale.monthNames[m] + \"</option>\";\r\n }\r\n }\r\n monthHtml += \"</select>\";\r\n\r\n var yearHtml = '<select class=\"yearselect\">';\r\n for (var y = minYear; y <= maxYear; y++) {\r\n yearHtml += '<option value=\"' + y + '\"' +\r\n (y === currentYear ? ' selected=\"selected\"' : '') +\r\n '>' + y + '</option>';\r\n }\r\n yearHtml += '</select>';\r\n\r\n dateHtml = monthHtml + yearHtml;\r\n }\r\n\r\n html += '<th colspan=\"5\" class=\"month\">' + dateHtml + '</th>';\r\n if ((!maxDate || maxDate.isAfter(calendar.lastDay)) && (!this.linkedCalendars || side == 'right' || this.singleDatePicker)) {\r\n html += '<th class=\"next available\"><span></span></th>';\r\n } else {\r\n html += '<th></th>';\r\n }\r\n\r\n html += '</tr>';\r\n html += '<tr>';\r\n\r\n // add week number label\r\n if (this.showWeekNumbers || this.showISOWeekNumbers)\r\n html += '<th class=\"week\">' + this.locale.weekLabel + '</th>';\r\n\r\n $.each(this.locale.daysOfWeek, function(index, dayOfWeek) {\r\n html += '<th>' + dayOfWeek + '</th>';\r\n });\r\n\r\n html += '</tr>';\r\n html += '</thead>';\r\n html += '<tbody>';\r\n\r\n //adjust maxDate to reflect the maxSpan setting in order to\r\n //grey out end dates beyond the maxSpan\r\n if (this.endDate == null && this.maxSpan) {\r\n var maxLimit = this.startDate.clone().add(this.maxSpan).endOf('day');\r\n if (!maxDate || maxLimit.isBefore(maxDate)) {\r\n maxDate = maxLimit;\r\n }\r\n }\r\n\r\n for (var row = 0; row < 6; row++) {\r\n html += '<tr>';\r\n\r\n // add week number\r\n if (this.showWeekNumbers)\r\n html += '<td class=\"week\">' + calendar[row][0].week() + '</td>';\r\n else if (this.showISOWeekNumbers)\r\n html += '<td class=\"week\">' + calendar[row][0].isoWeek() + '</td>';\r\n\r\n for (var col = 0; col < 7; col++) {\r\n\r\n var classes = [];\r\n\r\n //highlight today's date\r\n if (calendar[row][col].isSame(new Date(), \"day\"))\r\n classes.push('today');\r\n\r\n //highlight weekends\r\n if (calendar[row][col].isoWeekday() > 5)\r\n classes.push('weekend');\r\n\r\n //grey out the dates in other months displayed at beginning and end of this calendar\r\n if (calendar[row][col].month() != calendar[1][1].month())\r\n classes.push('off', 'ends');\r\n\r\n //don't allow selection of dates before the minimum date\r\n if (this.minDate && calendar[row][col].isBefore(this.minDate, 'day'))\r\n classes.push('off', 'disabled');\r\n\r\n //don't allow selection of dates after the maximum date\r\n if (maxDate && calendar[row][col].isAfter(maxDate, 'day'))\r\n classes.push('off', 'disabled');\r\n\r\n //don't allow selection of date if a custom function decides it's invalid\r\n if (this.isInvalidDate(calendar[row][col]))\r\n classes.push('off', 'disabled');\r\n\r\n //highlight the currently selected start date\r\n if (calendar[row][col].format('YYYY-MM-DD') == this.startDate.format('YYYY-MM-DD'))\r\n classes.push('active', 'start-date');\r\n\r\n //highlight the currently selected end date\r\n if (this.endDate != null && calendar[row][col].format('YYYY-MM-DD') == this.endDate.format('YYYY-MM-DD'))\r\n classes.push('active', 'end-date');\r\n\r\n //highlight dates in-between the selected dates\r\n if (this.endDate != null && calendar[row][col] > this.startDate && calendar[row][col] < this.endDate)\r\n classes.push('in-range');\r\n\r\n //apply custom classes for this date\r\n var isCustom = this.isCustomDate(calendar[row][col]);\r\n if (isCustom !== false) {\r\n if (typeof isCustom === 'string')\r\n classes.push(isCustom);\r\n else\r\n Array.prototype.push.apply(classes, isCustom);\r\n }\r\n\r\n var cname = '', disabled = false;\r\n for (var i = 0; i < classes.length; i++) {\r\n cname += classes[i] + ' ';\r\n if (classes[i] == 'disabled')\r\n disabled = true;\r\n }\r\n if (!disabled)\r\n cname += 'available';\r\n\r\n html += '<td class=\"' + cname.replace(/^\\s+|\\s+$/g, '') + '\" data-title=\"' + 'r' + row + 'c' + col + '\">' + calendar[row][col].date() + '</td>';\r\n\r\n }\r\n html += '</tr>';\r\n }\r\n\r\n html += '</tbody>';\r\n html += '</table>';\r\n\r\n this.container.find('.drp-calendar.' + side + ' .calendar-table').html(html);\r\n\r\n },\r\n\r\n renderTimePicker: function(side) {\r\n\r\n // Don't bother updating the time picker if it's currently disabled\r\n // because an end date hasn't been clicked yet\r\n if (side == 'right' && !this.endDate) return;\r\n\r\n var html, selected, minDate, maxDate = this.maxDate;\r\n\r\n if (this.maxSpan && (!this.maxDate || this.startDate.clone().add(this.maxSpan).isBefore(this.maxDate)))\r\n maxDate = this.startDate.clone().add(this.maxSpan);\r\n\r\n if (side == 'left') {\r\n selected = this.startDate.clone();\r\n minDate = this.minDate;\r\n } else if (side == 'right') {\r\n selected = this.endDate.clone();\r\n minDate = this.startDate;\r\n\r\n //Preserve the time already selected\r\n var timeSelector = this.container.find('.drp-calendar.right .calendar-time');\r\n if (timeSelector.html() != '') {\r\n\r\n selected.hour(!isNaN(selected.hour()) ? selected.hour() : timeSelector.find('.hourselect option:selected').val());\r\n selected.minute(!isNaN(selected.minute()) ? selected.minute() : timeSelector.find('.minuteselect option:selected').val());\r\n selected.second(!isNaN(selected.second()) ? selected.second() : timeSelector.find('.secondselect option:selected').val());\r\n\r\n if (!this.timePicker24Hour) {\r\n var ampm = timeSelector.find('.ampmselect option:selected').val();\r\n if (ampm === 'PM' && selected.hour() < 12)\r\n selected.hour(selected.hour() + 12);\r\n if (ampm === 'AM' && selected.hour() === 12)\r\n selected.hour(0);\r\n }\r\n\r\n }\r\n\r\n if (selected.isBefore(this.startDate))\r\n selected = this.startDate.clone();\r\n\r\n if (maxDate && selected.isAfter(maxDate))\r\n selected = maxDate.clone();\r\n\r\n }\r\n\r\n //\r\n // hours\r\n //\r\n\r\n html = '<select class=\"hourselect\">';\r\n\r\n var start = this.timePicker24Hour ? 0 : 1;\r\n var end = this.timePicker24Hour ? 23 : 12;\r\n\r\n for (var i = start; i <= end; i++) {\r\n var i_in_24 = i;\r\n if (!this.timePicker24Hour)\r\n i_in_24 = selected.hour() >= 12 ? (i == 12 ? 12 : i + 12) : (i == 12 ? 0 : i);\r\n\r\n var time = selected.clone().hour(i_in_24);\r\n var disabled = false;\r\n if (minDate && time.minute(59).isBefore(minDate))\r\n disabled = true;\r\n if (maxDate && time.minute(0).isAfter(maxDate))\r\n disabled = true;\r\n\r\n if (i_in_24 == selected.hour() && !disabled) {\r\n html += '<option value=\"' + i + '\" selected=\"selected\">' + i + '</option>';\r\n } else if (disabled) {\r\n html += '<option value=\"' + i + '\" disabled=\"disabled\" class=\"disabled\">' + i + '</option>';\r\n } else {\r\n html += '<option value=\"' + i + '\">' + i + '</option>';\r\n }\r\n }\r\n\r\n html += '</select> ';\r\n\r\n //\r\n // minutes\r\n //\r\n\r\n html += ': <select class=\"minuteselect\">';\r\n\r\n for (var i = 0; i < 60; i += this.timePickerIncrement) {\r\n var padded = i < 10 ? '0' + i : i;\r\n var time = selected.clone().minute(i);\r\n\r\n var disabled = false;\r\n if (minDate && time.second(59).isBefore(minDate))\r\n disabled = true;\r\n if (maxDate && time.second(0).isAfter(maxDate))\r\n disabled = true;\r\n\r\n if (selected.minute() == i && !disabled) {\r\n html += '<option value=\"' + i + '\" selected=\"selected\">' + padded + '</option>';\r\n } else if (disabled) {\r\n html += '<option value=\"' + i + '\" disabled=\"disabled\" class=\"disabled\">' + padded + '</option>';\r\n } else {\r\n html += '<option value=\"' + i + '\">' + padded + '</option>';\r\n }\r\n }\r\n\r\n html += '</select> ';\r\n\r\n //\r\n // seconds\r\n //\r\n\r\n if (this.timePickerSeconds) {\r\n html += ': <select class=\"secondselect\">';\r\n\r\n for (var i = 0; i < 60; i++) {\r\n var padded = i < 10 ? '0' + i : i;\r\n var time = selected.clone().second(i);\r\n\r\n var disabled = false;\r\n if (minDate && time.isBefore(minDate))\r\n disabled = true;\r\n if (maxDate && time.isAfter(maxDate))\r\n disabled = true;\r\n\r\n if (selected.second() == i && !disabled) {\r\n html += '<option value=\"' + i + '\" selected=\"selected\">' + padded + '</option>';\r\n } else if (disabled) {\r\n html += '<option value=\"' + i + '\" disabled=\"disabled\" class=\"disabled\">' + padded + '</option>';\r\n } else {\r\n html += '<option value=\"' + i + '\">' + padded + '</option>';\r\n }\r\n }\r\n\r\n html += '</select> ';\r\n }\r\n\r\n //\r\n // AM/PM\r\n //\r\n\r\n if (!this.timePicker24Hour) {\r\n html += '<select class=\"ampmselect\">';\r\n\r\n var am_html = '';\r\n var pm_html = '';\r\n\r\n if (minDate && selected.clone().hour(12).minute(0).second(0).isBefore(minDate))\r\n am_html = ' disabled=\"disabled\" class=\"disabled\"';\r\n\r\n if (maxDate && selected.clone().hour(0).minute(0).second(0).isAfter(maxDate))\r\n pm_html = ' disabled=\"disabled\" class=\"disabled\"';\r\n\r\n if (selected.hour() >= 12) {\r\n html += '<option value=\"AM\"' + am_html + '>AM</option><option value=\"PM\" selected=\"selected\"' + pm_html + '>PM</option>';\r\n } else {\r\n html += '<option value=\"AM\" selected=\"selected\"' + am_html + '>AM</option><option value=\"PM\"' + pm_html + '>PM</option>';\r\n }\r\n\r\n html += '</select>';\r\n }\r\n\r\n this.container.find('.drp-calendar.' + side + ' .calendar-time').html(html);\r\n\r\n },\r\n\r\n updateFormInputs: function() {\r\n\r\n if (this.singleDatePicker || (this.endDate && (this.startDate.isBefore(this.endDate) || this.startDate.isSame(this.endDate)))) {\r\n this.container.find('button.applyBtn').prop('disabled', false);\r\n } else {\r\n this.container.find('button.applyBtn').prop('disabled', true);\r\n }\r\n\r\n },\r\n\r\n move: function() {\r\n var parentOffset = { top: 0, left: 0 },\r\n containerTop,\r\n drops = this.drops;\r\n\r\n var parentRightEdge = $(window).width();\r\n if (!this.parentEl.is('body')) {\r\n parentOffset = {\r\n top: this.parentEl.offset().top - this.parentEl.scrollTop(),\r\n left: this.parentEl.offset().left - this.parentEl.scrollLeft()\r\n };\r\n parentRightEdge = this.parentEl[0].clientWidth + this.parentEl.offset().left;\r\n }\r\n\r\n switch (drops) {\r\n case 'auto':\r\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\r\n if (containerTop + this.container.outerHeight() >= this.parentEl[0].scrollHeight) {\r\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\r\n drops = 'up';\r\n }\r\n break;\r\n case 'up':\r\n containerTop = this.element.offset().top - this.container.outerHeight() - parentOffset.top;\r\n break;\r\n default:\r\n containerTop = this.element.offset().top + this.element.outerHeight() - parentOffset.top;\r\n break;\r\n }\r\n\r\n // Force the container to it's actual width\r\n this.container.css({\r\n top: 0,\r\n left: 0,\r\n right: 'auto'\r\n });\r\n var containerWidth = this.container.outerWidth();\r\n\r\n this.container.toggleClass('drop-up', drops == 'up');\r\n\r\n if (this.opens == 'left') {\r\n var containerRight = parentRightEdge - this.element.offset().left - this.element.outerWidth();\r\n if (containerWidth + containerRight > $(window).width()) {\r\n this.container.css({\r\n top: containerTop,\r\n right: 'auto',\r\n left: 9\r\n });\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n right: containerRight,\r\n left: 'auto'\r\n });\r\n }\r\n } else if (this.opens == 'center') {\r\n var containerLeft = this.element.offset().left - parentOffset.left + this.element.outerWidth() / 2\r\n - containerWidth / 2;\r\n if (containerLeft < 0) {\r\n this.container.css({\r\n top: containerTop,\r\n right: 'auto',\r\n left: 9\r\n });\r\n } else if (containerLeft + containerWidth > $(window).width()) {\r\n this.container.css({\r\n top: containerTop,\r\n left: 'auto',\r\n right: 0\r\n });\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n left: containerLeft,\r\n right: 'auto'\r\n });\r\n }\r\n } else {\r\n var containerLeft = this.element.offset().left - parentOffset.left;\r\n if (containerLeft + containerWidth > $(window).width()) {\r\n this.container.css({\r\n top: containerTop,\r\n left: 'auto',\r\n right: 0\r\n });\r\n } else {\r\n this.container.css({\r\n top: containerTop,\r\n left: containerLeft,\r\n right: 'auto'\r\n });\r\n }\r\n }\r\n },\r\n\r\n show: function(e) {\r\n if (this.isShowing) return;\r\n\r\n // Create a click proxy that is private to this instance of datepicker, for unbinding\r\n this._outsideClickProxy = $.proxy(function(e) { this.outsideClick(e); }, this);\r\n\r\n // Bind global datepicker mousedown for hiding and\r\n $(document)\r\n .on('mousedown.daterangepicker', this._outsideClickProxy)\r\n // also support mobile devices\r\n .on('touchend.daterangepicker', this._outsideClickProxy)\r\n // also explicitly play nice with Bootstrap dropdowns, which stopPropagation when clicking them\r\n .on('click.daterangepicker', '[data-toggle=dropdown]', this._outsideClickProxy)\r\n // and also close when focus changes to outside the picker (eg. tabbing between controls)\r\n .on('focusin.daterangepicker', this._outsideClickProxy);\r\n\r\n // Reposition the picker if the window is resized while it's open\r\n $(window).on('resize.daterangepicker', $.proxy(function(e) { this.move(e); }, this));\r\n\r\n this.oldStartDate = this.startDate.clone();\r\n this.oldEndDate = this.endDate.clone();\r\n this.previousRightTime = this.endDate.clone();\r\n\r\n this.updateView();\r\n this.container.show();\r\n this.move();\r\n this.element.trigger('show.daterangepicker', this);\r\n this.isShowing = true;\r\n },\r\n\r\n hide: function(e) {\r\n if (!this.isShowing) return;\r\n\r\n //incomplete date selection, revert to last values\r\n if (!this.endDate) {\r\n this.startDate = this.oldStartDate.clone();\r\n this.endDate = this.oldEndDate.clone();\r\n }\r\n\r\n //if a new date range was selected, invoke the user callback function\r\n if (!this.startDate.isSame(this.oldStartDate) || !this.endDate.isSame(this.oldEndDate))\r\n this.callback(this.startDate.clone(), this.endDate.clone(), this.chosenLabel);\r\n\r\n //if picker is attached to a text input, update it\r\n this.updateElement();\r\n\r\n $(document).off('.daterangepicker');\r\n $(window).off('.daterangepicker');\r\n this.container.hide();\r\n this.element.trigger('hide.daterangepicker', this);\r\n this.isShowing = false;\r\n },\r\n\r\n toggle: function(e) {\r\n if (this.isShowing) {\r\n this.hide();\r\n } else {\r\n this.show();\r\n }\r\n },\r\n\r\n outsideClick: function(e) {\r\n var target = $(e.target);\r\n // if the page is clicked anywhere except within the daterangerpicker/button\r\n // itself then call this.hide()\r\n if (\r\n // ie modal dialog fix\r\n e.type == \"focusin\" ||\r\n target.closest(this.element).length ||\r\n target.closest(this.container).length ||\r\n target.closest('.calendar-table').length\r\n ) return;\r\n this.hide();\r\n this.element.trigger('outsideClick.daterangepicker', this);\r\n },\r\n\r\n showCalendars: function() {\r\n this.container.addClass('show-calendar');\r\n this.move();\r\n this.element.trigger('showCalendar.daterangepicker', this);\r\n },\r\n\r\n hideCalendars: function() {\r\n this.container.removeClass('show-calendar');\r\n this.element.trigger('hideCalendar.daterangepicker', this);\r\n },\r\n\r\n clickRange: function(e) {\r\n var label = e.target.getAttribute('data-range-key');\r\n this.chosenLabel = label;\r\n if (label == this.locale.customRangeLabel) {\r\n this.showCalendars();\r\n } else {\r\n var dates = this.ranges[label];\r\n this.startDate = dates[0];\r\n this.endDate = dates[1];\r\n\r\n if (!this.timePicker) {\r\n this.startDate.startOf('day');\r\n this.endDate.endOf('day');\r\n }\r\n\r\n if (!this.alwaysShowCalendars)\r\n this.hideCalendars();\r\n this.clickApply();\r\n }\r\n },\r\n\r\n clickPrev: function(e) {\r\n var cal = $(e.target).parents('.drp-calendar');\r\n if (cal.hasClass('left')) {\r\n this.leftCalendar.month.subtract(1, 'month');\r\n if (this.linkedCalendars)\r\n this.rightCalendar.month.subtract(1, 'month');\r\n } else {\r\n this.rightCalendar.month.subtract(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n clickNext: function(e) {\r\n var cal = $(e.target).parents('.drp-calendar');\r\n if (cal.hasClass('left')) {\r\n this.leftCalendar.month.add(1, 'month');\r\n } else {\r\n this.rightCalendar.month.add(1, 'month');\r\n if (this.linkedCalendars)\r\n this.leftCalendar.month.add(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n hoverDate: function(e) {\r\n\r\n //ignore dates that can't be selected\r\n if (!$(e.target).hasClass('available')) return;\r\n\r\n var title = $(e.target).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(e.target).parents('.drp-calendar');\r\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\r\n\r\n //highlight the dates between the start date and the date being hovered as a potential end date\r\n var leftCalendar = this.leftCalendar;\r\n var rightCalendar = this.rightCalendar;\r\n var startDate = this.startDate;\r\n if (!this.endDate) {\r\n this.container.find('.drp-calendar tbody td').each(function(index, el) {\r\n\r\n //skip week numbers, only look at dates\r\n if ($(el).hasClass('week')) return;\r\n\r\n var title = $(el).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(el).parents('.drp-calendar');\r\n var dt = cal.hasClass('left') ? leftCalendar.calendar[row][col] : rightCalendar.calendar[row][col];\r\n\r\n if ((dt.isAfter(startDate) && dt.isBefore(date)) || dt.isSame(date, 'day')) {\r\n $(el).addClass('in-range');\r\n } else {\r\n $(el).removeClass('in-range');\r\n }\r\n\r\n });\r\n }\r\n\r\n },\r\n\r\n clickDate: function(e) {\r\n\r\n if (!$(e.target).hasClass('available')) return;\r\n\r\n var title = $(e.target).attr('data-title');\r\n var row = title.substr(1, 1);\r\n var col = title.substr(3, 1);\r\n var cal = $(e.target).parents('.drp-calendar');\r\n var date = cal.hasClass('left') ? this.leftCalendar.calendar[row][col] : this.rightCalendar.calendar[row][col];\r\n\r\n //\r\n // this function needs to do a few things:\r\n // * alternate between selecting a start and end date for the range,\r\n // * if the time picker is enabled, apply the hour/minute/second from the select boxes to the clicked date\r\n // * if autoapply is enabled, and an end date was chosen, apply the selection\r\n // * if single date picker mode, and time picker isn't enabled, apply the selection immediately\r\n // * if one of the inputs above the calendars was focused, cancel that manual input\r\n //\r\n\r\n if (this.endDate || date.isBefore(this.startDate, 'day')) { //picking start\r\n if (this.timePicker) {\r\n var hour = parseInt(this.container.find('.left .hourselect').val(), 10);\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.left .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n var minute = parseInt(this.container.find('.left .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.left .minuteselect option:last').val(), 10);\r\n }\r\n var second = this.timePickerSeconds ? parseInt(this.container.find('.left .secondselect').val(), 10) : 0;\r\n date = date.clone().hour(hour).minute(minute).second(second);\r\n }\r\n this.endDate = null;\r\n this.setStartDate(date.clone());\r\n } else if (!this.endDate && date.isBefore(this.startDate)) {\r\n //special case: clicking the same date for start/end,\r\n //but the time of the end date is before the start date\r\n this.setEndDate(this.startDate.clone());\r\n } else { // picking end\r\n if (this.timePicker) {\r\n var hour = parseInt(this.container.find('.right .hourselect').val(), 10);\r\n if (!this.timePicker24Hour) {\r\n var ampm = this.container.find('.right .ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n var minute = parseInt(this.container.find('.right .minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(this.container.find('.right .minuteselect option:last').val(), 10);\r\n }\r\n var second = this.timePickerSeconds ? parseInt(this.container.find('.right .secondselect').val(), 10) : 0;\r\n date = date.clone().hour(hour).minute(minute).second(second);\r\n }\r\n this.setEndDate(date.clone());\r\n if (this.autoApply) {\r\n this.calculateChosenLabel();\r\n this.clickApply();\r\n }\r\n }\r\n\r\n if (this.singleDatePicker) {\r\n this.setEndDate(this.startDate);\r\n if (!this.timePicker && this.autoApply)\r\n this.clickApply();\r\n }\r\n\r\n this.updateView();\r\n\r\n //This is to cancel the blur event handler if the mouse was in one of the inputs\r\n e.stopPropagation();\r\n\r\n },\r\n\r\n calculateChosenLabel: function () {\r\n var customRange = true;\r\n var i = 0;\r\n for (var range in this.ranges) {\r\n if (this.timePicker) {\r\n var format = this.timePickerSeconds ? \"YYYY-MM-DD HH:mm:ss\" : \"YYYY-MM-DD HH:mm\";\r\n //ignore times when comparing dates if time picker seconds is not enabled\r\n if (this.startDate.format(format) == this.ranges[range][0].format(format) && this.endDate.format(format) == this.ranges[range][1].format(format)) {\r\n customRange = false;\r\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\r\n break;\r\n }\r\n } else {\r\n //ignore times when comparing dates if time picker is not enabled\r\n if (this.startDate.format('YYYY-MM-DD') == this.ranges[range][0].format('YYYY-MM-DD') && this.endDate.format('YYYY-MM-DD') == this.ranges[range][1].format('YYYY-MM-DD')) {\r\n customRange = false;\r\n this.chosenLabel = this.container.find('.ranges li:eq(' + i + ')').addClass('active').attr('data-range-key');\r\n break;\r\n }\r\n }\r\n i++;\r\n }\r\n if (customRange) {\r\n if (this.showCustomRangeLabel) {\r\n this.chosenLabel = this.container.find('.ranges li:last').addClass('active').attr('data-range-key');\r\n } else {\r\n this.chosenLabel = null;\r\n }\r\n this.showCalendars();\r\n }\r\n },\r\n\r\n clickApply: function(e) {\r\n this.hide();\r\n this.element.trigger('apply.daterangepicker', this);\r\n },\r\n\r\n clickCancel: function(e) {\r\n this.startDate = this.oldStartDate;\r\n this.endDate = this.oldEndDate;\r\n this.hide();\r\n this.element.trigger('cancel.daterangepicker', this);\r\n },\r\n\r\n monthOrYearChanged: function(e) {\r\n var isLeft = $(e.target).closest('.drp-calendar').hasClass('left'),\r\n leftOrRight = isLeft ? 'left' : 'right',\r\n cal = this.container.find('.drp-calendar.'+leftOrRight);\r\n\r\n // Month must be Number for new moment versions\r\n var month = parseInt(cal.find('.monthselect').val(), 10);\r\n var year = cal.find('.yearselect').val();\r\n\r\n if (!isLeft) {\r\n if (year < this.startDate.year() || (year == this.startDate.year() && month < this.startDate.month())) {\r\n month = this.startDate.month();\r\n year = this.startDate.year();\r\n }\r\n }\r\n\r\n if (this.minDate) {\r\n if (year < this.minDate.year() || (year == this.minDate.year() && month < this.minDate.month())) {\r\n month = this.minDate.month();\r\n year = this.minDate.year();\r\n }\r\n }\r\n\r\n if (this.maxDate) {\r\n if (year > this.maxDate.year() || (year == this.maxDate.year() && month > this.maxDate.month())) {\r\n month = this.maxDate.month();\r\n year = this.maxDate.year();\r\n }\r\n }\r\n\r\n if (isLeft) {\r\n this.leftCalendar.month.month(month).year(year);\r\n if (this.linkedCalendars)\r\n this.rightCalendar.month = this.leftCalendar.month.clone().add(1, 'month');\r\n } else {\r\n this.rightCalendar.month.month(month).year(year);\r\n if (this.linkedCalendars)\r\n this.leftCalendar.month = this.rightCalendar.month.clone().subtract(1, 'month');\r\n }\r\n this.updateCalendars();\r\n },\r\n\r\n timeChanged: function(e) {\r\n\r\n var cal = $(e.target).closest('.drp-calendar'),\r\n isLeft = cal.hasClass('left');\r\n\r\n var hour = parseInt(cal.find('.hourselect').val(), 10);\r\n var minute = parseInt(cal.find('.minuteselect').val(), 10);\r\n if (isNaN(minute)) {\r\n minute = parseInt(cal.find('.minuteselect option:last').val(), 10);\r\n }\r\n var second = this.timePickerSeconds ? parseInt(cal.find('.secondselect').val(), 10) : 0;\r\n\r\n if (!this.timePicker24Hour) {\r\n var ampm = cal.find('.ampmselect').val();\r\n if (ampm === 'PM' && hour < 12)\r\n hour += 12;\r\n if (ampm === 'AM' && hour === 12)\r\n hour = 0;\r\n }\r\n\r\n if (isLeft) {\r\n var start = this.startDate.clone();\r\n start.hour(hour);\r\n start.minute(minute);\r\n start.second(second);\r\n this.setStartDate(start);\r\n if (this.singleDatePicker) {\r\n this.endDate = this.startDate.clone();\r\n } else if (this.endDate && this.endDate.format('YYYY-MM-DD') == start.format('YYYY-MM-DD') && this.endDate.isBefore(start)) {\r\n this.setEndDate(start.clone());\r\n }\r\n } else if (this.endDate) {\r\n var end = this.endDate.clone();\r\n end.hour(hour);\r\n end.minute(minute);\r\n end.second(second);\r\n this.setEndDate(end);\r\n }\r\n\r\n //update the calendars so all clickable dates reflect the new time component\r\n this.updateCalendars();\r\n\r\n //update the form inputs above the calendars with the new time\r\n this.updateFormInputs();\r\n\r\n //re-render the time pickers because changing one selection can affect what's enabled in another\r\n this.renderTimePicker('left');\r\n this.renderTimePicker('right');\r\n\r\n },\r\n\r\n elementChanged: function() {\r\n if (!this.element.is('input')) return;\r\n if (!this.element.val().length) return;\r\n\r\n var dateString = this.element.val().split(this.locale.separator),\r\n start = null,\r\n end = null;\r\n\r\n if (dateString.length === 2) {\r\n start = moment(dateString[0], this.locale.format);\r\n end = moment(dateString[1], this.locale.format);\r\n }\r\n\r\n if (this.singleDatePicker || start === null || end === null) {\r\n start = moment(this.element.val(), this.locale.format);\r\n end = start;\r\n }\r\n\r\n if (!start.isValid() || !end.isValid()) return;\r\n\r\n this.setStartDate(start);\r\n this.setEndDate(end);\r\n this.updateView();\r\n },\r\n\r\n keydown: function(e) {\r\n //hide on tab or enter\r\n if ((e.keyCode === 9) || (e.keyCode === 13)) {\r\n this.hide();\r\n }\r\n\r\n //hide on esc and prevent propagation\r\n if (e.keyCode === 27) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n this.hide();\r\n }\r\n },\r\n\r\n updateElement: function() {\r\n if (this.element.is('input') && this.autoUpdateInput) {\r\n var newValue = this.startDate.format(this.locale.format);\r\n if (!this.singleDatePicker) {\r\n newValue += this.locale.separator + this.endDate.format(this.locale.format);\r\n }\r\n if (newValue !== this.element.val()) {\r\n this.element.val(newValue).trigger('change');\r\n }\r\n }\r\n },\r\n\r\n remove: function() {\r\n this.container.remove();\r\n this.element.off('.daterangepicker');\r\n this.element.removeData();\r\n }\r\n\r\n };\r\n\r\n $.fn.daterangepicker = function(options, callback) {\r\n var implementOptions = $.extend(true, {}, $.fn.daterangepicker.defaultOptions, options);\r\n this.each(function() {\r\n var el = $(this);\r\n if (el.data('daterangepicker'))\r\n el.data('daterangepicker').remove();\r\n el.data('daterangepicker', new DateRangePicker(el, implementOptions, callback));\r\n });\r\n return this;\r\n };\r\n\r\n return DateRangePicker;\r\n\r\n}));\r\n","//! moment.js locale configuration\n//! locale : Dutch (Belgium) [nl-be]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(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 var nlBe = moment.defineLocale('nl-be', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\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\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n '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 (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\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 return nlBe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hindi [hi]\n//! author : Mayank Singhal : https://github.com/mayanksinghal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: 'à¥',\n 8: '८',\n 9: '९',\n 0: '०',\n },\n numberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n 'à¥': '7',\n '८': '8',\n '९': '9',\n '०': '0',\n },\n monthsParse = [\n /^जन/i,\n /^फ़र|फर/i,\n /^मारà¥à¤š/i,\n /^अपà¥à¤°à¥ˆ/i,\n /^मई/i,\n /^जून/i,\n /^जà¥à¤²/i,\n /^अग/i,\n /^सितं|सित/i,\n /^अकà¥à¤Ÿà¥‚/i,\n /^नव|नवं/i,\n /^दिसं|दिस/i,\n ],\n shortMonthsParse = [\n /^जन/i,\n /^फ़र/i,\n /^मारà¥à¤š/i,\n /^अपà¥à¤°à¥ˆ/i,\n /^मई/i,\n /^जून/i,\n /^जà¥à¤²/i,\n /^अग/i,\n /^सित/i,\n /^अकà¥à¤Ÿà¥‚/i,\n /^नव/i,\n /^दिस/i,\n ];\n\n var hi = moment.defineLocale('hi', {\n months: {\n format: 'जनवरी_फ़रवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितमà¥à¤¬à¤°_अकà¥à¤Ÿà¥‚बर_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split(\n '_'\n ),\n standalone:\n 'जनवरी_फरवरी_मारà¥à¤š_अपà¥à¤°à¥ˆà¤²_मई_जून_जà¥à¤²à¤¾à¤ˆ_अगसà¥à¤¤_सितंबर_अकà¥à¤Ÿà¥‚बर_नवंबर_दिसंबर'.split(\n '_'\n ),\n },\n monthsShort:\n 'जन._फ़र._मारà¥à¤š_अपà¥à¤°à¥ˆ._मई_जून_जà¥à¤²._अग._सित._अकà¥à¤Ÿà¥‚._नव._दिस.'.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\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: shortMonthsParse,\n\n monthsRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मारà¥à¤š?|अपà¥à¤°à¥ˆà¤²|अपà¥à¤°à¥ˆ\\.?|मई?|जून?|जà¥à¤²à¤¾à¤ˆ|जà¥à¤²\\.?|अगसà¥à¤¤|अग\\.?|सितमà¥à¤¬à¤°|सितंबर|सित\\.?|अकà¥à¤Ÿà¥‚बर|अकà¥à¤Ÿà¥‚\\.?|नवमà¥à¤¬à¤°|नवंबर|नव\\.?|दिसमà¥à¤¬à¤°|दिसंबर|दिस\\.?)/i,\n\n monthsShortRegex:\n /^(जनवरी|जन\\.?|फ़रवरी|फरवरी|फ़र\\.?|मारà¥à¤š?|अपà¥à¤°à¥ˆà¤²|अपà¥à¤°à¥ˆ\\.?|मई?|जून?|जà¥à¤²à¤¾à¤ˆ|जà¥à¤²\\.?|अगसà¥à¤¤|अग\\.?|सितमà¥à¤¬à¤°|सितंबर|सित\\.?|अकà¥à¤Ÿà¥‚बर|अकà¥à¤Ÿà¥‚\\.?|नवमà¥à¤¬à¤°|नवंबर|नव\\.?|दिसमà¥à¤¬à¤°|दिसंबर|दिस\\.?)/i,\n\n monthsStrictRegex:\n /^(जनवरी?|फ़रवरी|फरवरी?|मारà¥à¤š?|अपà¥à¤°à¥ˆà¤²?|मई?|जून?|जà¥à¤²à¤¾à¤ˆ?|अगसà¥à¤¤?|सितमà¥à¤¬à¤°|सितंबर|सित?\\.?|अकà¥à¤Ÿà¥‚बर|अकà¥à¤Ÿà¥‚\\.?|नवमà¥à¤¬à¤°|नवंबर?|दिसमà¥à¤¬à¤°|दिसंबर?)/i,\n\n monthsShortStrictRegex:\n /^(जन\\.?|फ़र\\.?|मारà¥à¤š?|अपà¥à¤°à¥ˆ\\.?|मई?|जून?|जà¥à¤²\\.?|अग\\.?|सित\\.?|अकà¥à¤Ÿà¥‚\\.?|नव\\.?|दिस\\.?)/i,\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 });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return hi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bosnian [bs]\n//! author : Nedim Cholich : https://github.com/frontyard\n//! author : Rasid Redzic : https://github.com/rasidre\n//! based on (hr) translation by Bojan Marković\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n switch (key) {\n case 'm':\n return withoutSuffix\n ? 'jedna minuta'\n : isFuture\n ? 'jednu minutu'\n : 'jedne minute';\n }\n }\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 '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' : 'jedan sat';\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 var bs = moment.defineLocale('bs', {\n months: 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split(\n '_'\n ),\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: processRelativeTime,\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 return bs;\n\n})));\n","/*!\n * jQuery JavaScript Library v3.7.1\n * https://jquery.com/\n *\n * Copyright OpenJS Foundation and other contributors\n * Released under the MIT license\n * https://jquery.org/license\n *\n * Date: 2023-08-28T13:37Z\n */\n( function( global, factory ) {\n\n\t\"use strict\";\n\n\tif ( typeof module === \"object\" && typeof module.exports === \"object\" ) {\n\n\t\t// For CommonJS and CommonJS-like environments where a proper `window`\n\t\t// is present, execute the factory and get jQuery.\n\t\t// For environments that do not have a `window` with a `document`\n\t\t// (such as Node.js), expose a factory as module.exports.\n\t\t// This accentuates the need for the creation of a real `window`.\n\t\t// e.g. var jQuery = require(\"jquery\")(window);\n\t\t// See ticket trac-14549 for more info.\n\t\tmodule.exports = global.document ?\n\t\t\tfactory( global, true ) :\n\t\t\tfunction( w ) {\n\t\t\t\tif ( !w.document ) {\n\t\t\t\t\tthrow new Error( \"jQuery requires a window with a document\" );\n\t\t\t\t}\n\t\t\t\treturn factory( w );\n\t\t\t};\n\t} else {\n\t\tfactory( global );\n\t}\n\n// Pass this if window is not defined yet\n} )( typeof window !== \"undefined\" ? window : this, function( window, noGlobal ) {\n\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\n// enough that all such attempts are guarded in a try block.\n\"use strict\";\n\nvar arr = [];\n\nvar getProto = Object.getPrototypeOf;\n\nvar slice = arr.slice;\n\nvar flat = arr.flat ? function( array ) {\n\treturn arr.flat.call( array );\n} : function( array ) {\n\treturn arr.concat.apply( [], array );\n};\n\n\nvar push = arr.push;\n\nvar indexOf = arr.indexOf;\n\nvar class2type = {};\n\nvar toString = class2type.toString;\n\nvar hasOwn = class2type.hasOwnProperty;\n\nvar fnToString = hasOwn.toString;\n\nvar ObjectFunctionString = fnToString.call( Object );\n\nvar support = {};\n\nvar isFunction = function isFunction( obj ) {\n\n\t\t// Support: Chrome <=57, Firefox <=52\n\t\t// In some browsers, typeof returns \"function\" for HTML <object> elements\n\t\t// (i.e., `typeof document.createElement( \"object\" ) === \"function\"`).\n\t\t// We don't want to classify *any* DOM node as a function.\n\t\t// Support: QtWeb <=3.8.5, WebKit <=534.34, wkhtmltopdf tool <=0.12.5\n\t\t// Plus for old WebKit, typeof returns \"function\" for HTML collections\n\t\t// (e.g., `typeof document.getElementsByTagName(\"div\") === \"function\"`). (gh-4756)\n\t\treturn typeof obj === \"function\" && typeof obj.nodeType !== \"number\" &&\n\t\t\ttypeof obj.item !== \"function\";\n\t};\n\n\nvar isWindow = function isWindow( obj ) {\n\t\treturn obj != null && obj === obj.window;\n\t};\n\n\nvar document = window.document;\n\n\n\n\tvar preservedScriptAttributes = {\n\t\ttype: true,\n\t\tsrc: true,\n\t\tnonce: true,\n\t\tnoModule: true\n\t};\n\n\tfunction DOMEval( code, node, doc ) {\n\t\tdoc = doc || document;\n\n\t\tvar i, val,\n\t\t\tscript = doc.createElement( \"script\" );\n\n\t\tscript.text = code;\n\t\tif ( node ) {\n\t\t\tfor ( i in preservedScriptAttributes ) {\n\n\t\t\t\t// Support: Firefox 64+, Edge 18+\n\t\t\t\t// Some browsers don't support the \"nonce\" property on scripts.\n\t\t\t\t// On the other hand, just using `getAttribute` is not enough as\n\t\t\t\t// the `nonce` attribute is reset to an empty string whenever it\n\t\t\t\t// becomes browsing-context connected.\n\t\t\t\t// See https://github.com/whatwg/html/issues/2369\n\t\t\t\t// See https://html.spec.whatwg.org/#nonce-attributes\n\t\t\t\t// The `node.getAttribute` check was added for the sake of\n\t\t\t\t// `jQuery.globalEval` so that it can fake a nonce-containing node\n\t\t\t\t// via an object.\n\t\t\t\tval = node[ i ] || node.getAttribute && node.getAttribute( i );\n\t\t\t\tif ( val ) {\n\t\t\t\t\tscript.setAttribute( i, val );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tdoc.head.appendChild( script ).parentNode.removeChild( script );\n\t}\n\n\nfunction toType( obj ) {\n\tif ( obj == null ) {\n\t\treturn obj + \"\";\n\t}\n\n\t// Support: Android <=2.3 only (functionish RegExp)\n\treturn typeof obj === \"object\" || typeof obj === \"function\" ?\n\t\tclass2type[ toString.call( obj ) ] || \"object\" :\n\t\ttypeof obj;\n}\n/* global Symbol */\n// Defining this global in .eslintrc.json would create a danger of using the global\n// unguarded in another place, it seems safer to define global only for this module\n\n\n\nvar version = \"3.7.1\",\n\n\trhtmlSuffix = /HTML$/i,\n\n\t// Define a local copy of jQuery\n\tjQuery = function( selector, context ) {\n\n\t\t// The jQuery object is actually just the init constructor 'enhanced'\n\t\t// Need init if jQuery is called (just allow error to be thrown if not included)\n\t\treturn new jQuery.fn.init( selector, context );\n\t};\n\njQuery.fn = jQuery.prototype = {\n\n\t// The current version of jQuery being used\n\tjquery: version,\n\n\tconstructor: jQuery,\n\n\t// The default length of a jQuery object is 0\n\tlength: 0,\n\n\ttoArray: function() {\n\t\treturn slice.call( this );\n\t},\n\n\t// Get the Nth element in the matched element set OR\n\t// Get the whole matched element set as a clean array\n\tget: function( num ) {\n\n\t\t// Return all the elements in a clean array\n\t\tif ( num == null ) {\n\t\t\treturn slice.call( this );\n\t\t}\n\n\t\t// Return just the one element from the set\n\t\treturn num < 0 ? this[ num + this.length ] : this[ num ];\n\t},\n\n\t// Take an array of elements and push it onto the stack\n\t// (returning the new matched element set)\n\tpushStack: function( elems ) {\n\n\t\t// Build a new jQuery matched element set\n\t\tvar ret = jQuery.merge( this.constructor(), elems );\n\n\t\t// Add the old object onto the stack (as a reference)\n\t\tret.prevObject = this;\n\n\t\t// Return the newly-formed element set\n\t\treturn ret;\n\t},\n\n\t// Execute a callback for every element in the matched set.\n\teach: function( callback ) {\n\t\treturn jQuery.each( this, callback );\n\t},\n\n\tmap: function( callback ) {\n\t\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\n\t\t\treturn callback.call( elem, i, elem );\n\t\t} ) );\n\t},\n\n\tslice: function() {\n\t\treturn this.pushStack( slice.apply( this, arguments ) );\n\t},\n\n\tfirst: function() {\n\t\treturn this.eq( 0 );\n\t},\n\n\tlast: function() {\n\t\treturn this.eq( -1 );\n\t},\n\n\teven: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn ( i + 1 ) % 2;\n\t\t} ) );\n\t},\n\n\todd: function() {\n\t\treturn this.pushStack( jQuery.grep( this, function( _elem, i ) {\n\t\t\treturn i % 2;\n\t\t} ) );\n\t},\n\n\teq: function( i ) {\n\t\tvar len = this.length,\n\t\t\tj = +i + ( i < 0 ? len : 0 );\n\t\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\n\t},\n\n\tend: function() {\n\t\treturn this.prevObject || this.constructor();\n\t},\n\n\t// For internal use only.\n\t// Behaves like an Array's method, not like a jQuery method.\n\tpush: push,\n\tsort: arr.sort,\n\tsplice: arr.splice\n};\n\njQuery.extend = jQuery.fn.extend = function() {\n\tvar options, name, src, copy, copyIsArray, clone,\n\t\ttarget = arguments[ 0 ] || {},\n\t\ti = 1,\n\t\tlength = arguments.length,\n\t\tdeep = false;\n\n\t// Handle a deep copy situation\n\tif ( typeof target === \"boolean\" ) {\n\t\tdeep = target;\n\n\t\t// Skip the boolean and the target\n\t\ttarget = arguments[ i ] || {};\n\t\ti++;\n\t}\n\n\t// Handle case when target is a string or something (possible in deep copy)\n\tif ( typeof target !== \"object\" && !isFunction( target ) ) {\n\t\ttarget = {};\n\t}\n\n\t// Extend jQuery itself if only one argument is passed\n\tif ( i === length ) {\n\t\ttarget = this;\n\t\ti--;\n\t}\n\n\tfor ( ; i < length; i++ ) {\n\n\t\t// Only deal with non-null/undefined values\n\t\tif ( ( options = arguments[ i ] ) != null ) {\n\n\t\t\t// Extend the base object\n\t\t\tfor ( name in options ) {\n\t\t\t\tcopy = options[ name ];\n\n\t\t\t\t// Prevent Object.prototype pollution\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif ( name === \"__proto__\" || target === copy ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\n\t\t\t\t\t( copyIsArray = Array.isArray( copy ) ) ) ) {\n\t\t\t\t\tsrc = target[ name ];\n\n\t\t\t\t\t// Ensure proper type for the source value\n\t\t\t\t\tif ( copyIsArray && !Array.isArray( src ) ) {\n\t\t\t\t\t\tclone = [];\n\t\t\t\t\t} else if ( !copyIsArray && !jQuery.isPlainObject( src ) ) {\n\t\t\t\t\t\tclone = {};\n\t\t\t\t\t} else {\n\t\t\t\t\t\tclone = src;\n\t\t\t\t\t}\n\t\t\t\t\tcopyIsArray = false;\n\n\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\ttarget[ name ] = jQuery.extend( deep, clone, copy );\n\n\t\t\t\t// Don't bring in undefined values\n\t\t\t\t} else if ( copy !== undefined ) {\n\t\t\t\t\ttarget[ name ] = copy;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\njQuery.extend( {\n\n\t// Unique for each copy of jQuery on the page\n\texpando: \"jQuery\" + ( version + Math.random() ).replace( /\\D/g, \"\" ),\n\n\t// Assume jQuery is ready without the ready module\n\tisReady: true,\n\n\terror: function( msg ) {\n\t\tthrow new Error( msg );\n\t},\n\n\tnoop: function() {},\n\n\tisPlainObject: function( obj ) {\n\t\tvar proto, Ctor;\n\n\t\t// Detect obvious negatives\n\t\t// Use toString instead of jQuery.type to catch host objects\n\t\tif ( !obj || toString.call( obj ) !== \"[object Object]\" ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tproto = getProto( obj );\n\n\t\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\n\t\tif ( !proto ) {\n\t\t\treturn true;\n\t\t}\n\n\t\t// Objects with prototype are plain iff they were constructed by a global Object function\n\t\tCtor = hasOwn.call( proto, \"constructor\" ) && proto.constructor;\n\t\treturn typeof Ctor === \"function\" && fnToString.call( Ctor ) === ObjectFunctionString;\n\t},\n\n\tisEmptyObject: function( obj ) {\n\t\tvar name;\n\n\t\tfor ( name in obj ) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\n\t// Evaluates a script in a provided context; falls back to the global one\n\t// if not specified.\n\tglobalEval: function( code, options, doc ) {\n\t\tDOMEval( code, { nonce: options && options.nonce }, doc );\n\t},\n\n\teach: function( obj, callback ) {\n\t\tvar length, i = 0;\n\n\t\tif ( isArrayLike( obj ) ) {\n\t\t\tlength = obj.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tfor ( i in obj ) {\n\t\t\t\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn obj;\n\t},\n\n\n\t// Retrieve the text value of an array of DOM nodes\n\ttext: function( elem ) {\n\t\tvar node,\n\t\t\tret = \"\",\n\t\t\ti = 0,\n\t\t\tnodeType = elem.nodeType;\n\n\t\tif ( !nodeType ) {\n\n\t\t\t// If no nodeType, this is expected to be an array\n\t\t\twhile ( ( node = elem[ i++ ] ) ) {\n\n\t\t\t\t// Do not traverse comment nodes\n\t\t\t\tret += jQuery.text( node );\n\t\t\t}\n\t\t}\n\t\tif ( nodeType === 1 || nodeType === 11 ) {\n\t\t\treturn elem.textContent;\n\t\t}\n\t\tif ( nodeType === 9 ) {\n\t\t\treturn elem.documentElement.textContent;\n\t\t}\n\t\tif ( nodeType === 3 || nodeType === 4 ) {\n\t\t\treturn elem.nodeValue;\n\t\t}\n\n\t\t// Do not include comment or processing instruction nodes\n\n\t\treturn ret;\n\t},\n\n\t// results is for internal usage only\n\tmakeArray: function( arr, results ) {\n\t\tvar ret = results || [];\n\n\t\tif ( arr != null ) {\n\t\t\tif ( isArrayLike( Object( arr ) ) ) {\n\t\t\t\tjQuery.merge( ret,\n\t\t\t\t\ttypeof arr === \"string\" ?\n\t\t\t\t\t\t[ arr ] : arr\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tpush.call( ret, arr );\n\t\t\t}\n\t\t}\n\n\t\treturn ret;\n\t},\n\n\tinArray: function( elem, arr, i ) {\n\t\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\n\t},\n\n\tisXMLDoc: function( elem ) {\n\t\tvar namespace = elem && elem.namespaceURI,\n\t\t\tdocElem = elem && ( elem.ownerDocument || elem ).documentElement;\n\n\t\t// Assume HTML when documentElement doesn't yet exist, such as inside\n\t\t// document fragments.\n\t\treturn !rhtmlSuffix.test( namespace || docElem && docElem.nodeName || \"HTML\" );\n\t},\n\n\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t// push.apply(_, arraylike) throws on ancient WebKit\n\tmerge: function( first, second ) {\n\t\tvar len = +second.length,\n\t\t\tj = 0,\n\t\t\ti = first.length;\n\n\t\tfor ( ; j < len; j++ ) {\n\t\t\tfirst[ i++ ] = second[ j ];\n\t\t}\n\n\t\tfirst.length = i;\n\n\t\treturn first;\n\t},\n\n\tgrep: function( elems, callback, invert ) {\n\t\tvar callbackInverse,\n\t\t\tmatches = [],\n\t\t\ti = 0,\n\t\t\tlength = elems.length,\n\t\t\tcallbackExpect = !invert;\n\n\t\t// Go through the array, only saving the items\n\t\t// that pass the validator function\n\t\tfor ( ; i < length; i++ ) {\n\t\t\tcallbackInverse = !callback( elems[ i ], i );\n\t\t\tif ( callbackInverse !== callbackExpect ) {\n\t\t\t\tmatches.push( elems[ i ] );\n\t\t\t}\n\t\t}\n\n\t\treturn matches;\n\t},\n\n\t// arg is for internal usage only\n\tmap: function( elems, callback, arg ) {\n\t\tvar length, value,\n\t\t\ti = 0,\n\t\t\tret = [];\n\n\t\t// Go through the array, translating each of the items to their new values\n\t\tif ( isArrayLike( elems ) ) {\n\t\t\tlength = elems.length;\n\t\t\tfor ( ; i < length; i++ ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Go through every key on the object,\n\t\t} else {\n\t\t\tfor ( i in elems ) {\n\t\t\t\tvalue = callback( elems[ i ], i, arg );\n\n\t\t\t\tif ( value != null ) {\n\t\t\t\t\tret.push( value );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Flatten any nested arrays\n\t\treturn flat( ret );\n\t},\n\n\t// A global GUID counter for objects\n\tguid: 1,\n\n\t// jQuery.support is not used in Core but other projects attach their\n\t// properties to it so it needs to exist.\n\tsupport: support\n} );\n\nif ( typeof Symbol === \"function\" ) {\n\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\n}\n\n// Populate the class2type map\njQuery.each( \"Boolean Number String Function Array Date RegExp Object Error Symbol\".split( \" \" ),\n\tfunction( _i, name ) {\n\t\tclass2type[ \"[object \" + name + \"]\" ] = name.toLowerCase();\n\t} );\n\nfunction isArrayLike( obj ) {\n\n\t// Support: real iOS 8.2 only (not reproducible in simulator)\n\t// `in` check used to prevent JIT error (gh-2145)\n\t// hasOwn isn't used here due to false negatives\n\t// regarding Nodelist length in IE\n\tvar length = !!obj && \"length\" in obj && obj.length,\n\t\ttype = toType( obj );\n\n\tif ( isFunction( obj ) || isWindow( obj ) ) {\n\t\treturn false;\n\t}\n\n\treturn type === \"array\" || length === 0 ||\n\t\ttypeof length === \"number\" && length > 0 && ( length - 1 ) in obj;\n}\n\n\nfunction nodeName( elem, name ) {\n\n\treturn elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\n\n}\nvar pop = arr.pop;\n\n\nvar sort = arr.sort;\n\n\nvar splice = arr.splice;\n\n\nvar whitespace = \"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\";\n\n\nvar rtrimCSS = new RegExp(\n\t\"^\" + whitespace + \"+|((?:^|[^\\\\\\\\])(?:\\\\\\\\.)*)\" + whitespace + \"+$\",\n\t\"g\"\n);\n\n\n\n\n// Note: an element does not contain itself\njQuery.contains = function( a, b ) {\n\tvar bup = b && b.parentNode;\n\n\treturn a === bup || !!( bup && bup.nodeType === 1 && (\n\n\t\t// Support: IE 9 - 11+\n\t\t// IE doesn't have `contains` on SVG.\n\t\ta.contains ?\n\t\t\ta.contains( bup ) :\n\t\t\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\n\t) );\n};\n\n\n\n\n// CSS string/identifier serialization\n// https://drafts.csswg.org/cssom/#common-serializing-idioms\nvar rcssescape = /([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g;\n\nfunction fcssescape( ch, asCodePoint ) {\n\tif ( asCodePoint ) {\n\n\t\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n\t\tif ( ch === \"\\0\" ) {\n\t\t\treturn \"\\uFFFD\";\n\t\t}\n\n\t\t// Control characters and (dependent upon position) numbers get escaped as code points\n\t\treturn ch.slice( 0, -1 ) + \"\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \" \";\n\t}\n\n\t// Other potentially-special ASCII characters get backslash-escaped\n\treturn \"\\\\\" + ch;\n}\n\njQuery.escapeSelector = function( sel ) {\n\treturn ( sel + \"\" ).replace( rcssescape, fcssescape );\n};\n\n\n\n\nvar preferredDoc = document,\n\tpushNative = push;\n\n( function() {\n\nvar i,\n\tExpr,\n\toutermostContext,\n\tsortInput,\n\thasDuplicate,\n\tpush = pushNative,\n\n\t// Local document vars\n\tdocument,\n\tdocumentElement,\n\tdocumentIsHTML,\n\trbuggyQSA,\n\tmatches,\n\n\t// Instance-specific data\n\texpando = jQuery.expando,\n\tdirruns = 0,\n\tdone = 0,\n\tclassCache = createCache(),\n\ttokenCache = createCache(),\n\tcompilerCache = createCache(),\n\tnonnativeSelectorCache = createCache(),\n\tsortOrder = function( a, b ) {\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t}\n\t\treturn 0;\n\t},\n\n\tbooleans = \"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|\" +\n\t\t\"loop|multiple|open|readonly|required|scoped\",\n\n\t// Regular expressions\n\n\t// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram\n\tidentifier = \"(?:\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\[^\\\\r\\\\n\\\\f]|[\\\\w-]|[^\\0-\\\\x7f])+\",\n\n\t// Attribute selectors: https://www.w3.org/TR/selectors/#attribute-selectors\n\tattributes = \"\\\\[\" + whitespace + \"*(\" + identifier + \")(?:\" + whitespace +\n\n\t\t// Operator (capture 2)\n\t\t\"*([*^$|!~]?=)\" + whitespace +\n\n\t\t// \"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\"\n\t\t\"*(?:'((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\"|(\" + identifier + \"))|)\" +\n\t\twhitespace + \"*\\\\]\",\n\n\tpseudos = \":(\" + identifier + \")(?:\\\\((\" +\n\n\t\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\n\t\t// 1. quoted (capture 3; capture 4 or capture 5)\n\t\t\"('((?:\\\\\\\\.|[^\\\\\\\\'])*)'|\\\"((?:\\\\\\\\.|[^\\\\\\\\\\\"])*)\\\")|\" +\n\n\t\t// 2. simple (capture 6)\n\t\t\"((?:\\\\\\\\.|[^\\\\\\\\()[\\\\]]|\" + attributes + \")*)|\" +\n\n\t\t// 3. anything else (capture 2)\n\t\t\".*\" +\n\t\t\")\\\\)|)\",\n\n\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\n\trwhitespace = new RegExp( whitespace + \"+\", \"g\" ),\n\n\trcomma = new RegExp( \"^\" + whitespace + \"*,\" + whitespace + \"*\" ),\n\trleadingCombinator = new RegExp( \"^\" + whitespace + \"*([>+~]|\" + whitespace + \")\" +\n\t\twhitespace + \"*\" ),\n\trdescend = new RegExp( whitespace + \"|>\" ),\n\n\trpseudo = new RegExp( pseudos ),\n\tridentifier = new RegExp( \"^\" + identifier + \"$\" ),\n\n\tmatchExpr = {\n\t\tID: new RegExp( \"^#(\" + identifier + \")\" ),\n\t\tCLASS: new RegExp( \"^\\\\.(\" + identifier + \")\" ),\n\t\tTAG: new RegExp( \"^(\" + identifier + \"|[*])\" ),\n\t\tATTR: new RegExp( \"^\" + attributes ),\n\t\tPSEUDO: new RegExp( \"^\" + pseudos ),\n\t\tCHILD: new RegExp(\n\t\t\t\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\(\" +\n\t\t\t\twhitespace + \"*(even|odd|(([+-]|)(\\\\d*)n|)\" + whitespace + \"*(?:([+-]|)\" +\n\t\t\t\twhitespace + \"*(\\\\d+)|))\" + whitespace + \"*\\\\)|)\", \"i\" ),\n\t\tbool: new RegExp( \"^(?:\" + booleans + \")$\", \"i\" ),\n\n\t\t// For use in libraries implementing .is()\n\t\t// We use this for POS matching in `select`\n\t\tneedsContext: new RegExp( \"^\" + whitespace +\n\t\t\t\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\(\" + whitespace +\n\t\t\t\"*((?:-\\\\d)?\\\\d*)\" + whitespace + \"*\\\\)|)(?=[^-]|$)\", \"i\" )\n\t},\n\n\trinputs = /^(?:input|select|textarea|button)$/i,\n\trheader = /^h\\d$/i,\n\n\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\n\trquickExpr = /^(?:#([\\w-]+)|(\\w+)|\\.([\\w-]+))$/,\n\n\trsibling = /[+~]/,\n\n\t// CSS escapes\n\t// https://www.w3.org/TR/CSS21/syndata.html#escaped-characters\n\trunescape = new RegExp( \"\\\\\\\\[\\\\da-fA-F]{1,6}\" + whitespace +\n\t\t\"?|\\\\\\\\([^\\\\r\\\\n\\\\f])\", \"g\" ),\n\tfunescape = function( escape, nonHex ) {\n\t\tvar high = \"0x\" + escape.slice( 1 ) - 0x10000;\n\n\t\tif ( nonHex ) {\n\n\t\t\t// Strip the backslash prefix from a non-hex escape sequence\n\t\t\treturn nonHex;\n\t\t}\n\n\t\t// Replace a hexadecimal escape sequence with the encoded Unicode code point\n\t\t// Support: IE <=11+\n\t\t// For values outside the Basic Multilingual Plane (BMP), manually construct a\n\t\t// surrogate pair\n\t\treturn high < 0 ?\n\t\t\tString.fromCharCode( high + 0x10000 ) :\n\t\t\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\n\t},\n\n\t// Used for iframes; see `setDocument`.\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Removing the function wrapper causes a \"Permission Denied\"\n\t// error in IE/Edge.\n\tunloadHandler = function() {\n\t\tsetDocument();\n\t},\n\n\tinDisabledFieldset = addCombinator(\n\t\tfunction( elem ) {\n\t\t\treturn elem.disabled === true && nodeName( elem, \"fieldset\" );\n\t\t},\n\t\t{ dir: \"parentNode\", next: \"legend\" }\n\t);\n\n// Support: IE <=9 only\n// Accessing document.activeElement can throw unexpectedly\n// https://bugs.jquery.com/ticket/13393\nfunction safeActiveElement() {\n\ttry {\n\t\treturn document.activeElement;\n\t} catch ( err ) { }\n}\n\n// Optimize for push.apply( _, NodeList )\ntry {\n\tpush.apply(\n\t\t( arr = slice.call( preferredDoc.childNodes ) ),\n\t\tpreferredDoc.childNodes\n\t);\n\n\t// Support: Android <=4.0\n\t// Detect silently failing push.apply\n\t// eslint-disable-next-line no-unused-expressions\n\tarr[ preferredDoc.childNodes.length ].nodeType;\n} catch ( e ) {\n\tpush = {\n\t\tapply: function( target, els ) {\n\t\t\tpushNative.apply( target, slice.call( els ) );\n\t\t},\n\t\tcall: function( target ) {\n\t\t\tpushNative.apply( target, slice.call( arguments, 1 ) );\n\t\t}\n\t};\n}\n\nfunction find( selector, context, results, seed ) {\n\tvar m, i, elem, nid, match, groups, newSelector,\n\t\tnewContext = context && context.ownerDocument,\n\n\t\t// nodeType defaults to 9, since context defaults to document\n\t\tnodeType = context ? context.nodeType : 9;\n\n\tresults = results || [];\n\n\t// Return early from calls with invalid selector or context\n\tif ( typeof selector !== \"string\" || !selector ||\n\t\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\n\n\t\treturn results;\n\t}\n\n\t// Try to shortcut find operations (as opposed to filters) in HTML documents\n\tif ( !seed ) {\n\t\tsetDocument( context );\n\t\tcontext = context || document;\n\n\t\tif ( documentIsHTML ) {\n\n\t\t\t// If the selector is sufficiently simple, try using a \"get*By*\" DOM method\n\t\t\t// (excepting DocumentFragment context, where the methods don't exist)\n\t\t\tif ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {\n\n\t\t\t\t// ID selector\n\t\t\t\tif ( ( m = match[ 1 ] ) ) {\n\n\t\t\t\t\t// Document context\n\t\t\t\t\tif ( nodeType === 9 ) {\n\t\t\t\t\t\tif ( ( elem = context.getElementById( m ) ) ) {\n\n\t\t\t\t\t\t\t// Support: IE 9 only\n\t\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\t\tif ( elem.id === m ) {\n\t\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t// Element context\n\t\t\t\t\t} else {\n\n\t\t\t\t\t\t// Support: IE 9 only\n\t\t\t\t\t\t// getElementById can match elements by name instead of ID\n\t\t\t\t\t\tif ( newContext && ( elem = newContext.getElementById( m ) ) &&\n\t\t\t\t\t\t\tfind.contains( context, elem ) &&\n\t\t\t\t\t\t\telem.id === m ) {\n\n\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\treturn results;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t// Type selector\n\t\t\t\t} else if ( match[ 2 ] ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByTagName( selector ) );\n\t\t\t\t\treturn results;\n\n\t\t\t\t// Class selector\n\t\t\t\t} else if ( ( m = match[ 3 ] ) && context.getElementsByClassName ) {\n\t\t\t\t\tpush.apply( results, context.getElementsByClassName( m ) );\n\t\t\t\t\treturn results;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Take advantage of querySelectorAll\n\t\t\tif ( !nonnativeSelectorCache[ selector + \" \" ] &&\n\t\t\t\t( !rbuggyQSA || !rbuggyQSA.test( selector ) ) ) {\n\n\t\t\t\tnewSelector = selector;\n\t\t\t\tnewContext = context;\n\n\t\t\t\t// qSA considers elements outside a scoping root when evaluating child or\n\t\t\t\t// descendant combinators, which is not what we want.\n\t\t\t\t// In such cases, we work around the behavior by prefixing every selector in the\n\t\t\t\t// list with an ID selector referencing the scope context.\n\t\t\t\t// The technique has to be used as well when a leading combinator is used\n\t\t\t\t// as such selectors are not recognized by querySelectorAll.\n\t\t\t\t// Thanks to Andrew Dupont for this technique.\n\t\t\t\tif ( nodeType === 1 &&\n\t\t\t\t\t( rdescend.test( selector ) || rleadingCombinator.test( selector ) ) ) {\n\n\t\t\t\t\t// Expand context for sibling selectors\n\t\t\t\t\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\n\t\t\t\t\t\tcontext;\n\n\t\t\t\t\t// We can use :scope instead of the ID hack if the browser\n\t\t\t\t\t// supports it & if we're not changing the context.\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when\n\t\t\t\t\t// strict-comparing two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( newContext != context || !support.scope ) {\n\n\t\t\t\t\t\t// Capture the context ID, setting it first if necessary\n\t\t\t\t\t\tif ( ( nid = context.getAttribute( \"id\" ) ) ) {\n\t\t\t\t\t\t\tnid = jQuery.escapeSelector( nid );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcontext.setAttribute( \"id\", ( nid = expando ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prefix every selector in the list\n\t\t\t\t\tgroups = tokenize( selector );\n\t\t\t\t\ti = groups.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tgroups[ i ] = ( nid ? \"#\" + nid : \":scope\" ) + \" \" +\n\t\t\t\t\t\t\ttoSelector( groups[ i ] );\n\t\t\t\t\t}\n\t\t\t\t\tnewSelector = groups.join( \",\" );\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tpush.apply( results,\n\t\t\t\t\t\tnewContext.querySelectorAll( newSelector )\n\t\t\t\t\t);\n\t\t\t\t\treturn results;\n\t\t\t\t} catch ( qsaError ) {\n\t\t\t\t\tnonnativeSelectorCache( selector, true );\n\t\t\t\t} finally {\n\t\t\t\t\tif ( nid === expando ) {\n\t\t\t\t\t\tcontext.removeAttribute( \"id\" );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// All others\n\treturn select( selector.replace( rtrimCSS, \"$1\" ), context, results, seed );\n}\n\n/**\n * Create key-value caches of limited size\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\n *\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\n *\tdeleting the oldest entry\n */\nfunction createCache() {\n\tvar keys = [];\n\n\tfunction cache( key, value ) {\n\n\t\t// Use (key + \" \") to avoid collision with native prototype properties\n\t\t// (see https://github.com/jquery/sizzle/issues/157)\n\t\tif ( keys.push( key + \" \" ) > Expr.cacheLength ) {\n\n\t\t\t// Only keep the most recent entries\n\t\t\tdelete cache[ keys.shift() ];\n\t\t}\n\t\treturn ( cache[ key + \" \" ] = value );\n\t}\n\treturn cache;\n}\n\n/**\n * Mark a function for special use by jQuery selector module\n * @param {Function} fn The function to mark\n */\nfunction markFunction( fn ) {\n\tfn[ expando ] = true;\n\treturn fn;\n}\n\n/**\n * Support testing using an element\n * @param {Function} fn Passed the created element and returns a boolean result\n */\nfunction assert( fn ) {\n\tvar el = document.createElement( \"fieldset\" );\n\n\ttry {\n\t\treturn !!fn( el );\n\t} catch ( e ) {\n\t\treturn false;\n\t} finally {\n\n\t\t// Remove from its parent by default\n\t\tif ( el.parentNode ) {\n\t\t\tel.parentNode.removeChild( el );\n\t\t}\n\n\t\t// release memory in IE\n\t\tel = null;\n\t}\n}\n\n/**\n * Returns a function to use in pseudos for input types\n * @param {String} type\n */\nfunction createInputPseudo( type ) {\n\treturn function( elem ) {\n\t\treturn nodeName( elem, \"input\" ) && elem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for buttons\n * @param {String} type\n */\nfunction createButtonPseudo( type ) {\n\treturn function( elem ) {\n\t\treturn ( nodeName( elem, \"input\" ) || nodeName( elem, \"button\" ) ) &&\n\t\t\telem.type === type;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for :enabled/:disabled\n * @param {Boolean} disabled true for :disabled; false for :enabled\n */\nfunction createDisabledPseudo( disabled ) {\n\n\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\n\treturn function( elem ) {\n\n\t\t// Only certain elements can match :enabled or :disabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\n\t\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\n\t\tif ( \"form\" in elem ) {\n\n\t\t\t// Check for inherited disabledness on relevant non-disabled elements:\n\t\t\t// * listed form-associated elements in a disabled fieldset\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\n\t\t\t// * option elements in a disabled optgroup\n\t\t\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\n\t\t\t// All such elements have a \"form\" property.\n\t\t\tif ( elem.parentNode && elem.disabled === false ) {\n\n\t\t\t\t// Option elements defer to a parent optgroup if present\n\t\t\t\tif ( \"label\" in elem ) {\n\t\t\t\t\tif ( \"label\" in elem.parentNode ) {\n\t\t\t\t\t\treturn elem.parentNode.disabled === disabled;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn elem.disabled === disabled;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Support: IE 6 - 11+\n\t\t\t\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\n\t\t\t\treturn elem.isDisabled === disabled ||\n\n\t\t\t\t\t// Where there is no isDisabled, check manually\n\t\t\t\t\telem.isDisabled !== !disabled &&\n\t\t\t\t\t\tinDisabledFieldset( elem ) === disabled;\n\t\t\t}\n\n\t\t\treturn elem.disabled === disabled;\n\n\t\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\n\t\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\n\t\t// even exist on them, let alone have a boolean value.\n\t\t} else if ( \"label\" in elem ) {\n\t\t\treturn elem.disabled === disabled;\n\t\t}\n\n\t\t// Remaining elements are neither :enabled nor :disabled\n\t\treturn false;\n\t};\n}\n\n/**\n * Returns a function to use in pseudos for positionals\n * @param {Function} fn\n */\nfunction createPositionalPseudo( fn ) {\n\treturn markFunction( function( argument ) {\n\t\targument = +argument;\n\t\treturn markFunction( function( seed, matches ) {\n\t\t\tvar j,\n\t\t\t\tmatchIndexes = fn( [], seed.length, argument ),\n\t\t\t\ti = matchIndexes.length;\n\n\t\t\t// Match elements found at the specified indexes\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( seed[ ( j = matchIndexes[ i ] ) ] ) {\n\t\t\t\t\tseed[ j ] = !( matches[ j ] = seed[ j ] );\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t} );\n}\n\n/**\n * Checks a node for validity as a jQuery selector context\n * @param {Element|Object=} context\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\n */\nfunction testContext( context ) {\n\treturn context && typeof context.getElementsByTagName !== \"undefined\" && context;\n}\n\n/**\n * Sets document-related variables once based on the current document\n * @param {Element|Object} [node] An element or document object to use to set the document\n * @returns {Object} Returns the current document\n */\nfunction setDocument( node ) {\n\tvar subWindow,\n\t\tdoc = node ? node.ownerDocument || node : preferredDoc;\n\n\t// Return early if doc is invalid or already selected\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {\n\t\treturn document;\n\t}\n\n\t// Update global variables\n\tdocument = doc;\n\tdocumentElement = document.documentElement;\n\tdocumentIsHTML = !jQuery.isXMLDoc( document );\n\n\t// Support: iOS 7 only, IE 9 - 11+\n\t// Older browsers didn't support unprefixed `matches`.\n\tmatches = documentElement.matches ||\n\t\tdocumentElement.webkitMatchesSelector ||\n\t\tdocumentElement.msMatchesSelector;\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// Accessing iframe documents after unload throws \"permission denied\" errors\n\t// (see trac-13936).\n\t// Limit the fix to IE & Edge Legacy; despite Edge 15+ implementing `matches`,\n\t// all IE 9+ and Edge Legacy versions implement `msMatchesSelector` as well.\n\tif ( documentElement.msMatchesSelector &&\n\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tpreferredDoc != document &&\n\t\t( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {\n\n\t\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t\tsubWindow.addEventListener( \"unload\", unloadHandler );\n\t}\n\n\t// Support: IE <10\n\t// Check if getElementById returns elements by name\n\t// The broken getElementById methods don't pick up programmatically-set names,\n\t// so use a roundabout getElementsByName test\n\tsupport.getById = assert( function( el ) {\n\t\tdocumentElement.appendChild( el ).id = jQuery.expando;\n\t\treturn !document.getElementsByName ||\n\t\t\t!document.getElementsByName( jQuery.expando ).length;\n\t} );\n\n\t// Support: IE 9 only\n\t// Check to see if it's possible to do matchesSelector\n\t// on a disconnected node.\n\tsupport.disconnectedMatch = assert( function( el ) {\n\t\treturn matches.call( el, \"*\" );\n\t} );\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+\n\t// IE/Edge don't support the :scope pseudo-class.\n\tsupport.scope = assert( function() {\n\t\treturn document.querySelectorAll( \":scope\" );\n\t} );\n\n\t// Support: Chrome 105 - 111 only, Safari 15.4 - 16.3 only\n\t// Make sure the `:has()` argument is parsed unforgivingly.\n\t// We include `*` in the test to detect buggy implementations that are\n\t// _selectively_ forgiving (specifically when the list includes at least\n\t// one valid selector).\n\t// Note that we treat complete lack of support for `:has()` as if it were\n\t// spec-compliant support, which is fine because use of `:has()` in such\n\t// environments will fail in the qSA path and fall back to jQuery traversal\n\t// anyway.\n\tsupport.cssHas = assert( function() {\n\t\ttry {\n\t\t\tdocument.querySelector( \":has(*,:jqfake)\" );\n\t\t\treturn false;\n\t\t} catch ( e ) {\n\t\t\treturn true;\n\t\t}\n\t} );\n\n\t// ID filter and find\n\tif ( support.getById ) {\n\t\tExpr.filter.ID = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn elem.getAttribute( \"id\" ) === attrId;\n\t\t\t};\n\t\t};\n\t\tExpr.find.ID = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar elem = context.getElementById( id );\n\t\t\t\treturn elem ? [ elem ] : [];\n\t\t\t}\n\t\t};\n\t} else {\n\t\tExpr.filter.ID = function( id ) {\n\t\t\tvar attrId = id.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\tvar node = typeof elem.getAttributeNode !== \"undefined\" &&\n\t\t\t\t\telem.getAttributeNode( \"id\" );\n\t\t\t\treturn node && node.value === attrId;\n\t\t\t};\n\t\t};\n\n\t\t// Support: IE 6 - 7 only\n\t\t// getElementById is not reliable as a find shortcut\n\t\tExpr.find.ID = function( id, context ) {\n\t\t\tif ( typeof context.getElementById !== \"undefined\" && documentIsHTML ) {\n\t\t\t\tvar node, i, elems,\n\t\t\t\t\telem = context.getElementById( id );\n\n\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t// Verify the id attribute\n\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t}\n\n\t\t\t\t\t// Fall back on getElementsByName\n\t\t\t\t\telems = context.getElementsByName( id );\n\t\t\t\t\ti = 0;\n\t\t\t\t\twhile ( ( elem = elems[ i++ ] ) ) {\n\t\t\t\t\t\tnode = elem.getAttributeNode( \"id\" );\n\t\t\t\t\t\tif ( node && node.value === id ) {\n\t\t\t\t\t\t\treturn [ elem ];\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn [];\n\t\t\t}\n\t\t};\n\t}\n\n\t// Tag\n\tExpr.find.TAG = function( tag, context ) {\n\t\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\t\treturn context.getElementsByTagName( tag );\n\n\t\t// DocumentFragment nodes don't have gEBTN\n\t\t} else {\n\t\t\treturn context.querySelectorAll( tag );\n\t\t}\n\t};\n\n\t// Class\n\tExpr.find.CLASS = function( className, context ) {\n\t\tif ( typeof context.getElementsByClassName !== \"undefined\" && documentIsHTML ) {\n\t\t\treturn context.getElementsByClassName( className );\n\t\t}\n\t};\n\n\t/* QSA/matchesSelector\n\t---------------------------------------------------------------------- */\n\n\t// QSA and matchesSelector support\n\n\trbuggyQSA = [];\n\n\t// Build QSA regex\n\t// Regex strategy adopted from Diego Perini\n\tassert( function( el ) {\n\n\t\tvar input;\n\n\t\tdocumentElement.appendChild( el ).innerHTML =\n\t\t\t\"<a id='\" + expando + \"' href='' disabled='disabled'></a>\" +\n\t\t\t\"<select id='\" + expando + \"-\\r\\\\' disabled='disabled'>\" +\n\t\t\t\"<option selected=''></option></select>\";\n\n\t\t// Support: iOS <=7 - 8 only\n\t\t// Boolean attributes and \"value\" are not treated correctly in some XML documents\n\t\tif ( !el.querySelectorAll( \"[selected]\" ).length ) {\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*(?:value|\" + booleans + \")\" );\n\t\t}\n\n\t\t// Support: iOS <=7 - 8 only\n\t\tif ( !el.querySelectorAll( \"[id~=\" + expando + \"-]\" ).length ) {\n\t\t\trbuggyQSA.push( \"~=\" );\n\t\t}\n\n\t\t// Support: iOS 8 only\n\t\t// https://bugs.webkit.org/show_bug.cgi?id=136851\n\t\t// In-page `selector#id sibling-combinator selector` fails\n\t\tif ( !el.querySelectorAll( \"a#\" + expando + \"+*\" ).length ) {\n\t\t\trbuggyQSA.push( \".#.+[+~]\" );\n\t\t}\n\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\n\t\t// This is probably OK but for backwards compatibility we want to maintain\n\t\t// handling them through jQuery traversal in jQuery 3.x.\n\t\tif ( !el.querySelectorAll( \":checked\" ).length ) {\n\t\t\trbuggyQSA.push( \":checked\" );\n\t\t}\n\n\t\t// Support: Windows 8 Native Apps\n\t\t// The type and name attributes are restricted during .innerHTML assignment\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"type\", \"hidden\" );\n\t\tel.appendChild( input ).setAttribute( \"name\", \"D\" );\n\n\t\t// Support: IE 9 - 11+\n\t\t// IE's :disabled selector does not pick up the children of disabled fieldsets\n\t\t// Support: Chrome <=105+, Firefox <=104+, Safari <=15.4+\n\t\t// In some of the document kinds, these selectors wouldn't work natively.\n\t\t// This is probably OK but for backwards compatibility we want to maintain\n\t\t// handling them through jQuery traversal in jQuery 3.x.\n\t\tdocumentElement.appendChild( el ).disabled = true;\n\t\tif ( el.querySelectorAll( \":disabled\" ).length !== 2 ) {\n\t\t\trbuggyQSA.push( \":enabled\", \":disabled\" );\n\t\t}\n\n\t\t// Support: IE 11+, Edge 15 - 18+\n\t\t// IE 11/Edge don't find elements on a `[name='']` query in some cases.\n\t\t// Adding a temporary attribute to the document before the selection works\n\t\t// around the issue.\n\t\t// Interestingly, IE 10 & older don't seem to have the issue.\n\t\tinput = document.createElement( \"input\" );\n\t\tinput.setAttribute( \"name\", \"\" );\n\t\tel.appendChild( input );\n\t\tif ( !el.querySelectorAll( \"[name='']\" ).length ) {\n\t\t\trbuggyQSA.push( \"\\\\[\" + whitespace + \"*name\" + whitespace + \"*=\" +\n\t\t\t\twhitespace + \"*(?:''|\\\"\\\")\" );\n\t\t}\n\t} );\n\n\tif ( !support.cssHas ) {\n\n\t\t// Support: Chrome 105 - 110+, Safari 15.4 - 16.3+\n\t\t// Our regular `try-catch` mechanism fails to detect natively-unsupported\n\t\t// pseudo-classes inside `:has()` (such as `:has(:contains(\"Foo\"))`)\n\t\t// in browsers that parse the `:has()` argument as a forgiving selector list.\n\t\t// https://drafts.csswg.org/selectors/#relational now requires the argument\n\t\t// to be parsed unforgivingly, but browsers have not yet fully adjusted.\n\t\trbuggyQSA.push( \":has\" );\n\t}\n\n\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( \"|\" ) );\n\n\t/* Sorting\n\t---------------------------------------------------------------------- */\n\n\t// Document order sorting\n\tsortOrder = function( a, b ) {\n\n\t\t// Flag for duplicate removal\n\t\tif ( a === b ) {\n\t\t\thasDuplicate = true;\n\t\t\treturn 0;\n\t\t}\n\n\t\t// Sort on method existence if only one input has compareDocumentPosition\n\t\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\n\t\tif ( compare ) {\n\t\t\treturn compare;\n\t\t}\n\n\t\t// Calculate position if both inputs belong to the same document\n\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t// two documents; shallow comparisons work.\n\t\t// eslint-disable-next-line eqeqeq\n\t\tcompare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?\n\t\t\ta.compareDocumentPosition( b ) :\n\n\t\t\t// Otherwise we know they are disconnected\n\t\t\t1;\n\n\t\t// Disconnected nodes\n\t\tif ( compare & 1 ||\n\t\t\t( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {\n\n\t\t\t// Choose the first element that is related to our preferred document\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( a === document || a.ownerDocument == preferredDoc &&\n\t\t\t\tfind.contains( preferredDoc, a ) ) {\n\t\t\t\treturn -1;\n\t\t\t}\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tif ( b === document || b.ownerDocument == preferredDoc &&\n\t\t\t\tfind.contains( preferredDoc, b ) ) {\n\t\t\t\treturn 1;\n\t\t\t}\n\n\t\t\t// Maintain original order\n\t\t\treturn sortInput ?\n\t\t\t\t( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :\n\t\t\t\t0;\n\t\t}\n\n\t\treturn compare & 4 ? -1 : 1;\n\t};\n\n\treturn document;\n}\n\nfind.matches = function( expr, elements ) {\n\treturn find( expr, null, null, elements );\n};\n\nfind.matchesSelector = function( elem, expr ) {\n\tsetDocument( elem );\n\n\tif ( documentIsHTML &&\n\t\t!nonnativeSelectorCache[ expr + \" \" ] &&\n\t\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\n\n\t\ttry {\n\t\t\tvar ret = matches.call( elem, expr );\n\n\t\t\t// IE 9's matchesSelector returns false on disconnected nodes\n\t\t\tif ( ret || support.disconnectedMatch ||\n\n\t\t\t\t\t// As well, disconnected nodes are said to be in a document\n\t\t\t\t\t// fragment in IE 9\n\t\t\t\t\telem.document && elem.document.nodeType !== 11 ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\tnonnativeSelectorCache( expr, true );\n\t\t}\n\t}\n\n\treturn find( expr, document, null, [ elem ] ).length > 0;\n};\n\nfind.contains = function( context, elem ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( context.ownerDocument || context ) != document ) {\n\t\tsetDocument( context );\n\t}\n\treturn jQuery.contains( context, elem );\n};\n\n\nfind.attr = function( elem, name ) {\n\n\t// Set document vars if needed\n\t// Support: IE 11+, Edge 17 - 18+\n\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t// two documents; shallow comparisons work.\n\t// eslint-disable-next-line eqeqeq\n\tif ( ( elem.ownerDocument || elem ) != document ) {\n\t\tsetDocument( elem );\n\t}\n\n\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\n\n\t\t// Don't get fooled by Object.prototype properties (see trac-13807)\n\t\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\n\t\t\tfn( elem, name, !documentIsHTML ) :\n\t\t\tundefined;\n\n\tif ( val !== undefined ) {\n\t\treturn val;\n\t}\n\n\treturn elem.getAttribute( name );\n};\n\nfind.error = function( msg ) {\n\tthrow new Error( \"Syntax error, unrecognized expression: \" + msg );\n};\n\n/**\n * Document sorting and removing duplicates\n * @param {ArrayLike} results\n */\njQuery.uniqueSort = function( results ) {\n\tvar elem,\n\t\tduplicates = [],\n\t\tj = 0,\n\t\ti = 0;\n\n\t// Unless we *know* we can detect duplicates, assume their presence\n\t//\n\t// Support: Android <=4.0+\n\t// Testing for detecting duplicates is unpredictable so instead assume we can't\n\t// depend on duplicate detection in all browsers without a stable sort.\n\thasDuplicate = !support.sortStable;\n\tsortInput = !support.sortStable && slice.call( results, 0 );\n\tsort.call( results, sortOrder );\n\n\tif ( hasDuplicate ) {\n\t\twhile ( ( elem = results[ i++ ] ) ) {\n\t\t\tif ( elem === results[ i ] ) {\n\t\t\t\tj = duplicates.push( i );\n\t\t\t}\n\t\t}\n\t\twhile ( j-- ) {\n\t\t\tsplice.call( results, duplicates[ j ], 1 );\n\t\t}\n\t}\n\n\t// Clear input after sorting to release objects\n\t// See https://github.com/jquery/sizzle/pull/225\n\tsortInput = null;\n\n\treturn results;\n};\n\njQuery.fn.uniqueSort = function() {\n\treturn this.pushStack( jQuery.uniqueSort( slice.apply( this ) ) );\n};\n\nExpr = jQuery.expr = {\n\n\t// Can be adjusted by the user\n\tcacheLength: 50,\n\n\tcreatePseudo: markFunction,\n\n\tmatch: matchExpr,\n\n\tattrHandle: {},\n\n\tfind: {},\n\n\trelative: {\n\t\t\">\": { dir: \"parentNode\", first: true },\n\t\t\" \": { dir: \"parentNode\" },\n\t\t\"+\": { dir: \"previousSibling\", first: true },\n\t\t\"~\": { dir: \"previousSibling\" }\n\t},\n\n\tpreFilter: {\n\t\tATTR: function( match ) {\n\t\t\tmatch[ 1 ] = match[ 1 ].replace( runescape, funescape );\n\n\t\t\t// Move the given value to match[3] whether quoted or unquoted\n\t\t\tmatch[ 3 ] = ( match[ 3 ] || match[ 4 ] || match[ 5 ] || \"\" )\n\t\t\t\t.replace( runescape, funescape );\n\n\t\t\tif ( match[ 2 ] === \"~=\" ) {\n\t\t\t\tmatch[ 3 ] = \" \" + match[ 3 ] + \" \";\n\t\t\t}\n\n\t\t\treturn match.slice( 0, 4 );\n\t\t},\n\n\t\tCHILD: function( match ) {\n\n\t\t\t/* matches from matchExpr[\"CHILD\"]\n\t\t\t\t1 type (only|nth|...)\n\t\t\t\t2 what (child|of-type)\n\t\t\t\t3 argument (even|odd|\\d*|\\d*n([+-]\\d+)?|...)\n\t\t\t\t4 xn-component of xn+y argument ([+-]?\\d*n|)\n\t\t\t\t5 sign of xn-component\n\t\t\t\t6 x of xn-component\n\t\t\t\t7 sign of y-component\n\t\t\t\t8 y of y-component\n\t\t\t*/\n\t\t\tmatch[ 1 ] = match[ 1 ].toLowerCase();\n\n\t\t\tif ( match[ 1 ].slice( 0, 3 ) === \"nth\" ) {\n\n\t\t\t\t// nth-* requires argument\n\t\t\t\tif ( !match[ 3 ] ) {\n\t\t\t\t\tfind.error( match[ 0 ] );\n\t\t\t\t}\n\n\t\t\t\t// numeric x and y parameters for Expr.filter.CHILD\n\t\t\t\t// remember that false/true cast respectively to 0/1\n\t\t\t\tmatch[ 4 ] = +( match[ 4 ] ?\n\t\t\t\t\tmatch[ 5 ] + ( match[ 6 ] || 1 ) :\n\t\t\t\t\t2 * ( match[ 3 ] === \"even\" || match[ 3 ] === \"odd\" )\n\t\t\t\t);\n\t\t\t\tmatch[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === \"odd\" );\n\n\t\t\t// other types prohibit arguments\n\t\t\t} else if ( match[ 3 ] ) {\n\t\t\t\tfind.error( match[ 0 ] );\n\t\t\t}\n\n\t\t\treturn match;\n\t\t},\n\n\t\tPSEUDO: function( match ) {\n\t\t\tvar excess,\n\t\t\t\tunquoted = !match[ 6 ] && match[ 2 ];\n\n\t\t\tif ( matchExpr.CHILD.test( match[ 0 ] ) ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Accept quoted arguments as-is\n\t\t\tif ( match[ 3 ] ) {\n\t\t\t\tmatch[ 2 ] = match[ 4 ] || match[ 5 ] || \"\";\n\n\t\t\t// Strip excess characters from unquoted arguments\n\t\t\t} else if ( unquoted && rpseudo.test( unquoted ) &&\n\n\t\t\t\t// Get excess from tokenize (recursively)\n\t\t\t\t( excess = tokenize( unquoted, true ) ) &&\n\n\t\t\t\t// advance to the next closing parenthesis\n\t\t\t\t( excess = unquoted.indexOf( \")\", unquoted.length - excess ) - unquoted.length ) ) {\n\n\t\t\t\t// excess is a negative index\n\t\t\t\tmatch[ 0 ] = match[ 0 ].slice( 0, excess );\n\t\t\t\tmatch[ 2 ] = unquoted.slice( 0, excess );\n\t\t\t}\n\n\t\t\t// Return only captures needed by the pseudo filter method (type and argument)\n\t\t\treturn match.slice( 0, 3 );\n\t\t}\n\t},\n\n\tfilter: {\n\n\t\tTAG: function( nodeNameSelector ) {\n\t\t\tvar expectedNodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn nodeNameSelector === \"*\" ?\n\t\t\t\tfunction() {\n\t\t\t\t\treturn true;\n\t\t\t\t} :\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn nodeName( elem, expectedNodeName );\n\t\t\t\t};\n\t\t},\n\n\t\tCLASS: function( className ) {\n\t\t\tvar pattern = classCache[ className + \" \" ];\n\n\t\t\treturn pattern ||\n\t\t\t\t( pattern = new RegExp( \"(^|\" + whitespace + \")\" + className +\n\t\t\t\t\t\"(\" + whitespace + \"|$)\" ) ) &&\n\t\t\t\tclassCache( className, function( elem ) {\n\t\t\t\t\treturn pattern.test(\n\t\t\t\t\t\ttypeof elem.className === \"string\" && elem.className ||\n\t\t\t\t\t\t\ttypeof elem.getAttribute !== \"undefined\" &&\n\t\t\t\t\t\t\t\telem.getAttribute( \"class\" ) ||\n\t\t\t\t\t\t\t\"\"\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t},\n\n\t\tATTR: function( name, operator, check ) {\n\t\t\treturn function( elem ) {\n\t\t\t\tvar result = find.attr( elem, name );\n\n\t\t\t\tif ( result == null ) {\n\t\t\t\t\treturn operator === \"!=\";\n\t\t\t\t}\n\t\t\t\tif ( !operator ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tresult += \"\";\n\n\t\t\t\tif ( operator === \"=\" ) {\n\t\t\t\t\treturn result === check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"!=\" ) {\n\t\t\t\t\treturn result !== check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"^=\" ) {\n\t\t\t\t\treturn check && result.indexOf( check ) === 0;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"*=\" ) {\n\t\t\t\t\treturn check && result.indexOf( check ) > -1;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"$=\" ) {\n\t\t\t\t\treturn check && result.slice( -check.length ) === check;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"~=\" ) {\n\t\t\t\t\treturn ( \" \" + result.replace( rwhitespace, \" \" ) + \" \" )\n\t\t\t\t\t\t.indexOf( check ) > -1;\n\t\t\t\t}\n\t\t\t\tif ( operator === \"|=\" ) {\n\t\t\t\t\treturn result === check || result.slice( 0, check.length + 1 ) === check + \"-\";\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t};\n\t\t},\n\n\t\tCHILD: function( type, what, _argument, first, last ) {\n\t\t\tvar simple = type.slice( 0, 3 ) !== \"nth\",\n\t\t\t\tforward = type.slice( -4 ) !== \"last\",\n\t\t\t\tofType = what === \"of-type\";\n\n\t\t\treturn first === 1 && last === 0 ?\n\n\t\t\t\t// Shortcut for :nth-*(n)\n\t\t\t\tfunction( elem ) {\n\t\t\t\t\treturn !!elem.parentNode;\n\t\t\t\t} :\n\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tvar cache, outerCache, node, nodeIndex, start,\n\t\t\t\t\t\tdir = simple !== forward ? \"nextSibling\" : \"previousSibling\",\n\t\t\t\t\t\tparent = elem.parentNode,\n\t\t\t\t\t\tname = ofType && elem.nodeName.toLowerCase(),\n\t\t\t\t\t\tuseCache = !xml && !ofType,\n\t\t\t\t\t\tdiff = false;\n\n\t\t\t\t\tif ( parent ) {\n\n\t\t\t\t\t\t// :(first|last|only)-(child|of-type)\n\t\t\t\t\t\tif ( simple ) {\n\t\t\t\t\t\t\twhile ( dir ) {\n\t\t\t\t\t\t\t\tnode = elem;\n\t\t\t\t\t\t\t\twhile ( ( node = node[ dir ] ) ) {\n\t\t\t\t\t\t\t\t\tif ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) {\n\n\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t// Reverse direction for :only-* (if we haven't yet done so)\n\t\t\t\t\t\t\t\tstart = dir = type === \"only\" && !start && \"nextSibling\";\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tstart = [ forward ? parent.firstChild : parent.lastChild ];\n\n\t\t\t\t\t\t// non-xml :nth-child(...) stores cache data on `parent`\n\t\t\t\t\t\tif ( forward && useCache ) {\n\n\t\t\t\t\t\t\t// Seek `elem` from a previously-cached index\n\t\t\t\t\t\t\touterCache = parent[ expando ] || ( parent[ expando ] = {} );\n\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\tdiff = nodeIndex && cache[ 2 ];\n\t\t\t\t\t\t\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\n\n\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\n\t\t\t\t\t\t\t\t// Fallback to seeking `elem` from the start\n\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t// When found, cache indexes on `parent` and break\n\t\t\t\t\t\t\t\tif ( node.nodeType === 1 && ++diff && node === elem ) {\n\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, nodeIndex, diff ];\n\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Use previously-cached element index if available\n\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\t\t\t\t\t\t\t\tcache = outerCache[ type ] || [];\n\t\t\t\t\t\t\t\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\n\t\t\t\t\t\t\t\tdiff = nodeIndex;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t// xml :nth-child(...)\n\t\t\t\t\t\t\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\n\t\t\t\t\t\t\tif ( diff === false ) {\n\n\t\t\t\t\t\t\t\t// Use the same loop as above to seek `elem` from the start\n\t\t\t\t\t\t\t\twhile ( ( node = ++nodeIndex && node && node[ dir ] ||\n\t\t\t\t\t\t\t\t\t( diff = nodeIndex = 0 ) || start.pop() ) ) {\n\n\t\t\t\t\t\t\t\t\tif ( ( ofType ?\n\t\t\t\t\t\t\t\t\t\tnodeName( node, name ) :\n\t\t\t\t\t\t\t\t\t\tnode.nodeType === 1 ) &&\n\t\t\t\t\t\t\t\t\t\t++diff ) {\n\n\t\t\t\t\t\t\t\t\t\t// Cache the index of each encountered element\n\t\t\t\t\t\t\t\t\t\tif ( useCache ) {\n\t\t\t\t\t\t\t\t\t\t\touterCache = node[ expando ] ||\n\t\t\t\t\t\t\t\t\t\t\t\t( node[ expando ] = {} );\n\t\t\t\t\t\t\t\t\t\t\touterCache[ type ] = [ dirruns, diff ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\tif ( node === elem ) {\n\t\t\t\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Incorporate the offset, then check against cycle size\n\t\t\t\t\t\tdiff -= last;\n\t\t\t\t\t\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t},\n\n\t\tPSEUDO: function( pseudo, argument ) {\n\n\t\t\t// pseudo-class names are case-insensitive\n\t\t\t// https://www.w3.org/TR/selectors/#pseudo-classes\n\t\t\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\n\t\t\t// Remember that setFilters inherits from pseudos\n\t\t\tvar args,\n\t\t\t\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\n\t\t\t\t\tfind.error( \"unsupported pseudo: \" + pseudo );\n\n\t\t\t// The user may use createPseudo to indicate that\n\t\t\t// arguments are needed to create the filter function\n\t\t\t// just as jQuery does\n\t\t\tif ( fn[ expando ] ) {\n\t\t\t\treturn fn( argument );\n\t\t\t}\n\n\t\t\t// But maintain support for old signatures\n\t\t\tif ( fn.length > 1 ) {\n\t\t\t\targs = [ pseudo, pseudo, \"\", argument ];\n\t\t\t\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\n\t\t\t\t\tmarkFunction( function( seed, matches ) {\n\t\t\t\t\t\tvar idx,\n\t\t\t\t\t\t\tmatched = fn( seed, argument ),\n\t\t\t\t\t\t\ti = matched.length;\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tidx = indexOf.call( seed, matched[ i ] );\n\t\t\t\t\t\t\tseed[ idx ] = !( matches[ idx ] = matched[ i ] );\n\t\t\t\t\t\t}\n\t\t\t\t\t} ) :\n\t\t\t\t\tfunction( elem ) {\n\t\t\t\t\t\treturn fn( elem, 0, args );\n\t\t\t\t\t};\n\t\t\t}\n\n\t\t\treturn fn;\n\t\t}\n\t},\n\n\tpseudos: {\n\n\t\t// Potentially complex pseudos\n\t\tnot: markFunction( function( selector ) {\n\n\t\t\t// Trim the selector passed to compile\n\t\t\t// to avoid treating leading and trailing\n\t\t\t// spaces as combinators\n\t\t\tvar input = [],\n\t\t\t\tresults = [],\n\t\t\t\tmatcher = compile( selector.replace( rtrimCSS, \"$1\" ) );\n\n\t\t\treturn matcher[ expando ] ?\n\t\t\t\tmarkFunction( function( seed, matches, _context, xml ) {\n\t\t\t\t\tvar elem,\n\t\t\t\t\t\tunmatched = matcher( seed, null, xml, [] ),\n\t\t\t\t\t\ti = seed.length;\n\n\t\t\t\t\t// Match elements unmatched by `matcher`\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\t\t\t\t\tseed[ i ] = !( matches[ i ] = elem );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} ) :\n\t\t\t\tfunction( elem, _context, xml ) {\n\t\t\t\t\tinput[ 0 ] = elem;\n\t\t\t\t\tmatcher( input, null, xml, results );\n\n\t\t\t\t\t// Don't keep the element\n\t\t\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\n\t\t\t\t\tinput[ 0 ] = null;\n\t\t\t\t\treturn !results.pop();\n\t\t\t\t};\n\t\t} ),\n\n\t\thas: markFunction( function( selector ) {\n\t\t\treturn function( elem ) {\n\t\t\t\treturn find( selector, elem ).length > 0;\n\t\t\t};\n\t\t} ),\n\n\t\tcontains: markFunction( function( text ) {\n\t\t\ttext = text.replace( runescape, funescape );\n\t\t\treturn function( elem ) {\n\t\t\t\treturn ( elem.textContent || jQuery.text( elem ) ).indexOf( text ) > -1;\n\t\t\t};\n\t\t} ),\n\n\t\t// \"Whether an element is represented by a :lang() selector\n\t\t// is based solely on the element's language value\n\t\t// being equal to the identifier C,\n\t\t// or beginning with the identifier C immediately followed by \"-\".\n\t\t// The matching of C against the element's language value is performed case-insensitively.\n\t\t// The identifier C does not have to be a valid language name.\"\n\t\t// https://www.w3.org/TR/selectors/#lang-pseudo\n\t\tlang: markFunction( function( lang ) {\n\n\t\t\t// lang value must be a valid identifier\n\t\t\tif ( !ridentifier.test( lang || \"\" ) ) {\n\t\t\t\tfind.error( \"unsupported lang: \" + lang );\n\t\t\t}\n\t\t\tlang = lang.replace( runescape, funescape ).toLowerCase();\n\t\t\treturn function( elem ) {\n\t\t\t\tvar elemLang;\n\t\t\t\tdo {\n\t\t\t\t\tif ( ( elemLang = documentIsHTML ?\n\t\t\t\t\t\telem.lang :\n\t\t\t\t\t\telem.getAttribute( \"xml:lang\" ) || elem.getAttribute( \"lang\" ) ) ) {\n\n\t\t\t\t\t\telemLang = elemLang.toLowerCase();\n\t\t\t\t\t\treturn elemLang === lang || elemLang.indexOf( lang + \"-\" ) === 0;\n\t\t\t\t\t}\n\t\t\t\t} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );\n\t\t\t\treturn false;\n\t\t\t};\n\t\t} ),\n\n\t\t// Miscellaneous\n\t\ttarget: function( elem ) {\n\t\t\tvar hash = window.location && window.location.hash;\n\t\t\treturn hash && hash.slice( 1 ) === elem.id;\n\t\t},\n\n\t\troot: function( elem ) {\n\t\t\treturn elem === documentElement;\n\t\t},\n\n\t\tfocus: function( elem ) {\n\t\t\treturn elem === safeActiveElement() &&\n\t\t\t\tdocument.hasFocus() &&\n\t\t\t\t!!( elem.type || elem.href || ~elem.tabIndex );\n\t\t},\n\n\t\t// Boolean properties\n\t\tenabled: createDisabledPseudo( false ),\n\t\tdisabled: createDisabledPseudo( true ),\n\n\t\tchecked: function( elem ) {\n\n\t\t\t// In CSS3, :checked should return both checked and selected elements\n\t\t\t// https://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\n\t\t\treturn ( nodeName( elem, \"input\" ) && !!elem.checked ) ||\n\t\t\t\t( nodeName( elem, \"option\" ) && !!elem.selected );\n\t\t},\n\n\t\tselected: function( elem ) {\n\n\t\t\t// Support: IE <=11+\n\t\t\t// Accessing the selectedIndex property\n\t\t\t// forces the browser to treat the default option as\n\t\t\t// selected when in an optgroup.\n\t\t\tif ( elem.parentNode ) {\n\t\t\t\t// eslint-disable-next-line no-unused-expressions\n\t\t\t\telem.parentNode.selectedIndex;\n\t\t\t}\n\n\t\t\treturn elem.selected === true;\n\t\t},\n\n\t\t// Contents\n\t\tempty: function( elem ) {\n\n\t\t\t// https://www.w3.org/TR/selectors/#empty-pseudo\n\t\t\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\n\t\t\t// but not by others (comment: 8; processing instruction: 7; etc.)\n\t\t\t// nodeType < 6 works because attributes (2) do not appear as children\n\t\t\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\n\t\t\t\tif ( elem.nodeType < 6 ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t},\n\n\t\tparent: function( elem ) {\n\t\t\treturn !Expr.pseudos.empty( elem );\n\t\t},\n\n\t\t// Element/input types\n\t\theader: function( elem ) {\n\t\t\treturn rheader.test( elem.nodeName );\n\t\t},\n\n\t\tinput: function( elem ) {\n\t\t\treturn rinputs.test( elem.nodeName );\n\t\t},\n\n\t\tbutton: function( elem ) {\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"button\" ||\n\t\t\t\tnodeName( elem, \"button\" );\n\t\t},\n\n\t\ttext: function( elem ) {\n\t\t\tvar attr;\n\t\t\treturn nodeName( elem, \"input\" ) && elem.type === \"text\" &&\n\n\t\t\t\t// Support: IE <10 only\n\t\t\t\t// New HTML5 attribute values (e.g., \"search\") appear\n\t\t\t\t// with elem.type === \"text\"\n\t\t\t\t( ( attr = elem.getAttribute( \"type\" ) ) == null ||\n\t\t\t\t\tattr.toLowerCase() === \"text\" );\n\t\t},\n\n\t\t// Position-in-collection\n\t\tfirst: createPositionalPseudo( function() {\n\t\t\treturn [ 0 ];\n\t\t} ),\n\n\t\tlast: createPositionalPseudo( function( _matchIndexes, length ) {\n\t\t\treturn [ length - 1 ];\n\t\t} ),\n\n\t\teq: createPositionalPseudo( function( _matchIndexes, length, argument ) {\n\t\t\treturn [ argument < 0 ? argument + length : argument ];\n\t\t} ),\n\n\t\teven: createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\todd: createPositionalPseudo( function( matchIndexes, length ) {\n\t\t\tvar i = 1;\n\t\t\tfor ( ; i < length; i += 2 ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\tlt: createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i;\n\n\t\t\tif ( argument < 0 ) {\n\t\t\t\ti = argument + length;\n\t\t\t} else if ( argument > length ) {\n\t\t\t\ti = length;\n\t\t\t} else {\n\t\t\t\ti = argument;\n\t\t\t}\n\n\t\t\tfor ( ; --i >= 0; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} ),\n\n\t\tgt: createPositionalPseudo( function( matchIndexes, length, argument ) {\n\t\t\tvar i = argument < 0 ? argument + length : argument;\n\t\t\tfor ( ; ++i < length; ) {\n\t\t\t\tmatchIndexes.push( i );\n\t\t\t}\n\t\t\treturn matchIndexes;\n\t\t} )\n\t}\n};\n\nExpr.pseudos.nth = Expr.pseudos.eq;\n\n// Add button/input type pseudos\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\n\tExpr.pseudos[ i ] = createInputPseudo( i );\n}\nfor ( i in { submit: true, reset: true } ) {\n\tExpr.pseudos[ i ] = createButtonPseudo( i );\n}\n\n// Easy API for creating new setFilters\nfunction setFilters() {}\nsetFilters.prototype = Expr.filters = Expr.pseudos;\nExpr.setFilters = new setFilters();\n\nfunction tokenize( selector, parseOnly ) {\n\tvar matched, match, tokens, type,\n\t\tsoFar, groups, preFilters,\n\t\tcached = tokenCache[ selector + \" \" ];\n\n\tif ( cached ) {\n\t\treturn parseOnly ? 0 : cached.slice( 0 );\n\t}\n\n\tsoFar = selector;\n\tgroups = [];\n\tpreFilters = Expr.preFilter;\n\n\twhile ( soFar ) {\n\n\t\t// Comma and first run\n\t\tif ( !matched || ( match = rcomma.exec( soFar ) ) ) {\n\t\t\tif ( match ) {\n\n\t\t\t\t// Don't consume trailing commas as valid\n\t\t\t\tsoFar = soFar.slice( match[ 0 ].length ) || soFar;\n\t\t\t}\n\t\t\tgroups.push( ( tokens = [] ) );\n\t\t}\n\n\t\tmatched = false;\n\n\t\t// Combinators\n\t\tif ( ( match = rleadingCombinator.exec( soFar ) ) ) {\n\t\t\tmatched = match.shift();\n\t\t\ttokens.push( {\n\t\t\t\tvalue: matched,\n\n\t\t\t\t// Cast descendant combinators to space\n\t\t\t\ttype: match[ 0 ].replace( rtrimCSS, \" \" )\n\t\t\t} );\n\t\t\tsoFar = soFar.slice( matched.length );\n\t\t}\n\n\t\t// Filters\n\t\tfor ( type in Expr.filter ) {\n\t\t\tif ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||\n\t\t\t\t( match = preFilters[ type ]( match ) ) ) ) {\n\t\t\t\tmatched = match.shift();\n\t\t\t\ttokens.push( {\n\t\t\t\t\tvalue: matched,\n\t\t\t\t\ttype: type,\n\t\t\t\t\tmatches: match\n\t\t\t\t} );\n\t\t\t\tsoFar = soFar.slice( matched.length );\n\t\t\t}\n\t\t}\n\n\t\tif ( !matched ) {\n\t\t\tbreak;\n\t\t}\n\t}\n\n\t// Return the length of the invalid excess\n\t// if we're just parsing\n\t// Otherwise, throw an error or return tokens\n\tif ( parseOnly ) {\n\t\treturn soFar.length;\n\t}\n\n\treturn soFar ?\n\t\tfind.error( selector ) :\n\n\t\t// Cache the tokens\n\t\ttokenCache( selector, groups ).slice( 0 );\n}\n\nfunction toSelector( tokens ) {\n\tvar i = 0,\n\t\tlen = tokens.length,\n\t\tselector = \"\";\n\tfor ( ; i < len; i++ ) {\n\t\tselector += tokens[ i ].value;\n\t}\n\treturn selector;\n}\n\nfunction addCombinator( matcher, combinator, base ) {\n\tvar dir = combinator.dir,\n\t\tskip = combinator.next,\n\t\tkey = skip || dir,\n\t\tcheckNonElements = base && key === \"parentNode\",\n\t\tdoneName = done++;\n\n\treturn combinator.first ?\n\n\t\t// Check against closest ancestor/preceding element\n\t\tfunction( elem, context, xml ) {\n\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\treturn matcher( elem, context, xml );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t} :\n\n\t\t// Check against all ancestor/preceding elements\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar oldCache, outerCache,\n\t\t\t\tnewCache = [ dirruns, doneName ];\n\n\t\t\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\n\t\t\tif ( xml ) {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\tif ( matcher( elem, context, xml ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\twhile ( ( elem = elem[ dir ] ) ) {\n\t\t\t\t\tif ( elem.nodeType === 1 || checkNonElements ) {\n\t\t\t\t\t\touterCache = elem[ expando ] || ( elem[ expando ] = {} );\n\n\t\t\t\t\t\tif ( skip && nodeName( elem, skip ) ) {\n\t\t\t\t\t\t\telem = elem[ dir ] || elem;\n\t\t\t\t\t\t} else if ( ( oldCache = outerCache[ key ] ) &&\n\t\t\t\t\t\t\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\n\n\t\t\t\t\t\t\t// Assign to newCache so results back-propagate to previous elements\n\t\t\t\t\t\t\treturn ( newCache[ 2 ] = oldCache[ 2 ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Reuse newcache so results back-propagate to previous elements\n\t\t\t\t\t\t\touterCache[ key ] = newCache;\n\n\t\t\t\t\t\t\t// A match means we're done; a fail means we have to keep checking\n\t\t\t\t\t\t\tif ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n}\n\nfunction elementMatcher( matchers ) {\n\treturn matchers.length > 1 ?\n\t\tfunction( elem, context, xml ) {\n\t\t\tvar i = matchers.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( !matchers[ i ]( elem, context, xml ) ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} :\n\t\tmatchers[ 0 ];\n}\n\nfunction multipleContexts( selector, contexts, results ) {\n\tvar i = 0,\n\t\tlen = contexts.length;\n\tfor ( ; i < len; i++ ) {\n\t\tfind( selector, contexts[ i ], results );\n\t}\n\treturn results;\n}\n\nfunction condense( unmatched, map, filter, context, xml ) {\n\tvar elem,\n\t\tnewUnmatched = [],\n\t\ti = 0,\n\t\tlen = unmatched.length,\n\t\tmapped = map != null;\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( elem = unmatched[ i ] ) ) {\n\t\t\tif ( !filter || filter( elem, context, xml ) ) {\n\t\t\t\tnewUnmatched.push( elem );\n\t\t\t\tif ( mapped ) {\n\t\t\t\t\tmap.push( i );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn newUnmatched;\n}\n\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\n\tif ( postFilter && !postFilter[ expando ] ) {\n\t\tpostFilter = setMatcher( postFilter );\n\t}\n\tif ( postFinder && !postFinder[ expando ] ) {\n\t\tpostFinder = setMatcher( postFinder, postSelector );\n\t}\n\treturn markFunction( function( seed, results, context, xml ) {\n\t\tvar temp, i, elem, matcherOut,\n\t\t\tpreMap = [],\n\t\t\tpostMap = [],\n\t\t\tpreexisting = results.length,\n\n\t\t\t// Get initial elements from seed or context\n\t\t\telems = seed ||\n\t\t\t\tmultipleContexts( selector || \"*\",\n\t\t\t\t\tcontext.nodeType ? [ context ] : context, [] ),\n\n\t\t\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\n\t\t\tmatcherIn = preFilter && ( seed || !selector ) ?\n\t\t\t\tcondense( elems, preMap, preFilter, context, xml ) :\n\t\t\t\telems;\n\n\t\tif ( matcher ) {\n\n\t\t\t// If we have a postFinder, or filtered seed, or non-seed postFilter\n\t\t\t// or preexisting results,\n\t\t\tmatcherOut = postFinder || ( seed ? preFilter : preexisting || postFilter ) ?\n\n\t\t\t\t// ...intermediate processing is necessary\n\t\t\t\t[] :\n\n\t\t\t\t// ...otherwise use results directly\n\t\t\t\tresults;\n\n\t\t\t// Find primary matches\n\t\t\tmatcher( matcherIn, matcherOut, context, xml );\n\t\t} else {\n\t\t\tmatcherOut = matcherIn;\n\t\t}\n\n\t\t// Apply postFilter\n\t\tif ( postFilter ) {\n\t\t\ttemp = condense( matcherOut, postMap );\n\t\t\tpostFilter( temp, [], context, xml );\n\n\t\t\t// Un-match failing elements by moving them back to matcherIn\n\t\t\ti = temp.length;\n\t\t\twhile ( i-- ) {\n\t\t\t\tif ( ( elem = temp[ i ] ) ) {\n\t\t\t\t\tmatcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif ( seed ) {\n\t\t\tif ( postFinder || preFilter ) {\n\t\t\t\tif ( postFinder ) {\n\n\t\t\t\t\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\n\t\t\t\t\ttemp = [];\n\t\t\t\t\ti = matcherOut.length;\n\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) ) {\n\n\t\t\t\t\t\t\t// Restore matcherIn since elem is not yet a final match\n\t\t\t\t\t\t\ttemp.push( ( matcherIn[ i ] = elem ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tpostFinder( null, ( matcherOut = [] ), temp, xml );\n\t\t\t\t}\n\n\t\t\t\t// Move matched elements from seed to results to keep them synchronized\n\t\t\t\ti = matcherOut.length;\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\tif ( ( elem = matcherOut[ i ] ) &&\n\t\t\t\t\t\t( temp = postFinder ? indexOf.call( seed, elem ) : preMap[ i ] ) > -1 ) {\n\n\t\t\t\t\t\tseed[ temp ] = !( results[ temp ] = elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Add elements to results, through postFinder if defined\n\t\t} else {\n\t\t\tmatcherOut = condense(\n\t\t\t\tmatcherOut === results ?\n\t\t\t\t\tmatcherOut.splice( preexisting, matcherOut.length ) :\n\t\t\t\t\tmatcherOut\n\t\t\t);\n\t\t\tif ( postFinder ) {\n\t\t\t\tpostFinder( null, results, matcherOut, xml );\n\t\t\t} else {\n\t\t\t\tpush.apply( results, matcherOut );\n\t\t\t}\n\t\t}\n\t} );\n}\n\nfunction matcherFromTokens( tokens ) {\n\tvar checkContext, matcher, j,\n\t\tlen = tokens.length,\n\t\tleadingRelative = Expr.relative[ tokens[ 0 ].type ],\n\t\timplicitRelative = leadingRelative || Expr.relative[ \" \" ],\n\t\ti = leadingRelative ? 1 : 0,\n\n\t\t// The foundational matcher ensures that elements are reachable from top-level context(s)\n\t\tmatchContext = addCombinator( function( elem ) {\n\t\t\treturn elem === checkContext;\n\t\t}, implicitRelative, true ),\n\t\tmatchAnyContext = addCombinator( function( elem ) {\n\t\t\treturn indexOf.call( checkContext, elem ) > -1;\n\t\t}, implicitRelative, true ),\n\t\tmatchers = [ function( elem, context, xml ) {\n\n\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t// two documents; shallow comparisons work.\n\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\tvar ret = ( !leadingRelative && ( xml || context != outermostContext ) ) || (\n\t\t\t\t( checkContext = context ).nodeType ?\n\t\t\t\t\tmatchContext( elem, context, xml ) :\n\t\t\t\t\tmatchAnyContext( elem, context, xml ) );\n\n\t\t\t// Avoid hanging onto element\n\t\t\t// (see https://github.com/jquery/sizzle/issues/299)\n\t\t\tcheckContext = null;\n\t\t\treturn ret;\n\t\t} ];\n\n\tfor ( ; i < len; i++ ) {\n\t\tif ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {\n\t\t\tmatchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];\n\t\t} else {\n\t\t\tmatcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );\n\n\t\t\t// Return special upon seeing a positional matcher\n\t\t\tif ( matcher[ expando ] ) {\n\n\t\t\t\t// Find the next relative operator (if any) for proper handling\n\t\t\t\tj = ++i;\n\t\t\t\tfor ( ; j < len; j++ ) {\n\t\t\t\t\tif ( Expr.relative[ tokens[ j ].type ] ) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn setMatcher(\n\t\t\t\t\ti > 1 && elementMatcher( matchers ),\n\t\t\t\t\ti > 1 && toSelector(\n\n\t\t\t\t\t\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\n\t\t\t\t\t\ttokens.slice( 0, i - 1 )\n\t\t\t\t\t\t\t.concat( { value: tokens[ i - 2 ].type === \" \" ? \"*\" : \"\" } )\n\t\t\t\t\t).replace( rtrimCSS, \"$1\" ),\n\t\t\t\t\tmatcher,\n\t\t\t\t\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\n\t\t\t\t\tj < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),\n\t\t\t\t\tj < len && toSelector( tokens )\n\t\t\t\t);\n\t\t\t}\n\t\t\tmatchers.push( matcher );\n\t\t}\n\t}\n\n\treturn elementMatcher( matchers );\n}\n\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\n\tvar bySet = setMatchers.length > 0,\n\t\tbyElement = elementMatchers.length > 0,\n\t\tsuperMatcher = function( seed, context, xml, results, outermost ) {\n\t\t\tvar elem, j, matcher,\n\t\t\t\tmatchedCount = 0,\n\t\t\t\ti = \"0\",\n\t\t\t\tunmatched = seed && [],\n\t\t\t\tsetMatched = [],\n\t\t\t\tcontextBackup = outermostContext,\n\n\t\t\t\t// We must always have either seed elements or outermost context\n\t\t\t\telems = seed || byElement && Expr.find.TAG( \"*\", outermost ),\n\n\t\t\t\t// Use integer dirruns iff this is the outermost matcher\n\t\t\t\tdirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),\n\t\t\t\tlen = elems.length;\n\n\t\t\tif ( outermost ) {\n\n\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\toutermostContext = context == document || context || outermost;\n\t\t\t}\n\n\t\t\t// Add elements passing elementMatchers directly to results\n\t\t\t// Support: iOS <=7 - 9 only\n\t\t\t// Tolerate NodeList properties (IE: \"length\"; Safari: <number>) matching\n\t\t\t// elements by id. (see trac-14142)\n\t\t\tfor ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {\n\t\t\t\tif ( byElement && elem ) {\n\t\t\t\t\tj = 0;\n\n\t\t\t\t\t// Support: IE 11+, Edge 17 - 18+\n\t\t\t\t\t// IE/Edge sometimes throw a \"Permission denied\" error when strict-comparing\n\t\t\t\t\t// two documents; shallow comparisons work.\n\t\t\t\t\t// eslint-disable-next-line eqeqeq\n\t\t\t\t\tif ( !context && elem.ownerDocument != document ) {\n\t\t\t\t\t\tsetDocument( elem );\n\t\t\t\t\t\txml = !documentIsHTML;\n\t\t\t\t\t}\n\t\t\t\t\twhile ( ( matcher = elementMatchers[ j++ ] ) ) {\n\t\t\t\t\t\tif ( matcher( elem, context || document, xml ) ) {\n\t\t\t\t\t\t\tpush.call( results, elem );\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( outermost ) {\n\t\t\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Track unmatched elements for set filters\n\t\t\t\tif ( bySet ) {\n\n\t\t\t\t\t// They will have gone through all possible matchers\n\t\t\t\t\tif ( ( elem = !matcher && elem ) ) {\n\t\t\t\t\t\tmatchedCount--;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Lengthen the array for every element, matched or not\n\t\t\t\t\tif ( seed ) {\n\t\t\t\t\t\tunmatched.push( elem );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\n\t\t\t// makes the latter nonnegative.\n\t\t\tmatchedCount += i;\n\n\t\t\t// Apply set filters to unmatched elements\n\t\t\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\n\t\t\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\n\t\t\t// no element matchers and no seed.\n\t\t\t// Incrementing an initially-string \"0\" `i` allows `i` to remain a string only in that\n\t\t\t// case, which will result in a \"00\" `matchedCount` that differs from `i` but is also\n\t\t\t// numerically zero.\n\t\t\tif ( bySet && i !== matchedCount ) {\n\t\t\t\tj = 0;\n\t\t\t\twhile ( ( matcher = setMatchers[ j++ ] ) ) {\n\t\t\t\t\tmatcher( unmatched, setMatched, context, xml );\n\t\t\t\t}\n\n\t\t\t\tif ( seed ) {\n\n\t\t\t\t\t// Reintegrate element matches to eliminate the need for sorting\n\t\t\t\t\tif ( matchedCount > 0 ) {\n\t\t\t\t\t\twhile ( i-- ) {\n\t\t\t\t\t\t\tif ( !( unmatched[ i ] || setMatched[ i ] ) ) {\n\t\t\t\t\t\t\t\tsetMatched[ i ] = pop.call( results );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Discard index placeholder values to get only actual matches\n\t\t\t\t\tsetMatched = condense( setMatched );\n\t\t\t\t}\n\n\t\t\t\t// Add matches to results\n\t\t\t\tpush.apply( results, setMatched );\n\n\t\t\t\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\n\t\t\t\tif ( outermost && !seed && setMatched.length > 0 &&\n\t\t\t\t\t( matchedCount + setMatchers.length ) > 1 ) {\n\n\t\t\t\t\tjQuery.uniqueSort( results );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Override manipulation of globals by nested matchers\n\t\t\tif ( outermost ) {\n\t\t\t\tdirruns = dirrunsUnique;\n\t\t\t\toutermostContext = contextBackup;\n\t\t\t}\n\n\t\t\treturn unmatched;\n\t\t};\n\n\treturn bySet ?\n\t\tmarkFunction( superMatcher ) :\n\t\tsuperMatcher;\n}\n\nfunction compile( selector, match /* Internal Use Only */ ) {\n\tvar i,\n\t\tsetMatchers = [],\n\t\telementMatchers = [],\n\t\tcached = compilerCache[ selector + \" \" ];\n\n\tif ( !cached ) {\n\n\t\t// Generate a function of recursive functions that can be used to check each element\n\t\tif ( !match ) {\n\t\t\tmatch = tokenize( selector );\n\t\t}\n\t\ti = match.length;\n\t\twhile ( i-- ) {\n\t\t\tcached = matcherFromTokens( match[ i ] );\n\t\t\tif ( cached[ expando ] ) {\n\t\t\t\tsetMatchers.push( cached );\n\t\t\t} else {\n\t\t\t\telementMatchers.push( cached );\n\t\t\t}\n\t\t}\n\n\t\t// Cache the compiled function\n\t\tcached = compilerCache( selector,\n\t\t\tmatcherFromGroupMatchers( elementMatchers, setMatchers ) );\n\n\t\t// Save selector and tokenization\n\t\tcached.selector = selector;\n\t}\n\treturn cached;\n}\n\n/**\n * A low-level selection function that works with jQuery's compiled\n * selector functions\n * @param {String|Function} selector A selector or a pre-compiled\n * selector function built with jQuery selector compile\n * @param {Element} context\n * @param {Array} [results]\n * @param {Array} [seed] A set of elements to match against\n */\nfunction select( selector, context, results, seed ) {\n\tvar i, tokens, token, type, find,\n\t\tcompiled = typeof selector === \"function\" && selector,\n\t\tmatch = !seed && tokenize( ( selector = compiled.selector || selector ) );\n\n\tresults = results || [];\n\n\t// Try to minimize operations if there is only one selector in the list and no seed\n\t// (the latter of which guarantees us context)\n\tif ( match.length === 1 ) {\n\n\t\t// Reduce context if the leading compound selector is an ID\n\t\ttokens = match[ 0 ] = match[ 0 ].slice( 0 );\n\t\tif ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === \"ID\" &&\n\t\t\t\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {\n\n\t\t\tcontext = ( Expr.find.ID(\n\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\tcontext\n\t\t\t) || [] )[ 0 ];\n\t\t\tif ( !context ) {\n\t\t\t\treturn results;\n\n\t\t\t// Precompiled matchers will still verify ancestry, so step up a level\n\t\t\t} else if ( compiled ) {\n\t\t\t\tcontext = context.parentNode;\n\t\t\t}\n\n\t\t\tselector = selector.slice( tokens.shift().value.length );\n\t\t}\n\n\t\t// Fetch a seed set for right-to-left matching\n\t\ti = matchExpr.needsContext.test( selector ) ? 0 : tokens.length;\n\t\twhile ( i-- ) {\n\t\t\ttoken = tokens[ i ];\n\n\t\t\t// Abort if we hit a combinator\n\t\t\tif ( Expr.relative[ ( type = token.type ) ] ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( ( find = Expr.find[ type ] ) ) {\n\n\t\t\t\t// Search, expanding context for leading sibling combinators\n\t\t\t\tif ( ( seed = find(\n\t\t\t\t\ttoken.matches[ 0 ].replace( runescape, funescape ),\n\t\t\t\t\trsibling.test( tokens[ 0 ].type ) &&\n\t\t\t\t\t\ttestContext( context.parentNode ) || context\n\t\t\t\t) ) ) {\n\n\t\t\t\t\t// If seed is empty or no tokens remain, we can return early\n\t\t\t\t\ttokens.splice( i, 1 );\n\t\t\t\t\tselector = seed.length && toSelector( tokens );\n\t\t\t\t\tif ( !selector ) {\n\t\t\t\t\t\tpush.apply( results, seed );\n\t\t\t\t\t\treturn results;\n\t\t\t\t\t}\n\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Compile and execute a filtering function if one is not provided\n\t// Provide `match` to avoid retokenization if we modified the selector above\n\t( compiled || compile( selector, match ) )(\n\t\tseed,\n\t\tcontext,\n\t\t!documentIsHTML,\n\t\tresults,\n\t\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\n\t);\n\treturn results;\n}\n\n// One-time assignments\n\n// Support: Android <=4.0 - 4.1+\n// Sort stability\nsupport.sortStable = expando.split( \"\" ).sort( sortOrder ).join( \"\" ) === expando;\n\n// Initialize against the default document\nsetDocument();\n\n// Support: Android <=4.0 - 4.1+\n// Detached nodes confoundingly follow *each other*\nsupport.sortDetached = assert( function( el ) {\n\n\t// Should return 1, but returns 4 (following)\n\treturn el.compareDocumentPosition( document.createElement( \"fieldset\" ) ) & 1;\n} );\n\njQuery.find = find;\n\n// Deprecated\njQuery.expr[ \":\" ] = jQuery.expr.pseudos;\njQuery.unique = jQuery.uniqueSort;\n\n// These have always been private, but they used to be documented as part of\n// Sizzle so let's maintain them for now for backwards compatibility purposes.\nfind.compile = compile;\nfind.select = select;\nfind.setDocument = setDocument;\nfind.tokenize = tokenize;\n\nfind.escape = jQuery.escapeSelector;\nfind.getText = jQuery.text;\nfind.isXML = jQuery.isXMLDoc;\nfind.selectors = jQuery.expr;\nfind.support = jQuery.support;\nfind.uniqueSort = jQuery.uniqueSort;\n\n\t/* eslint-enable */\n\n} )();\n\n\nvar dir = function( elem, dir, until ) {\n\tvar matched = [],\n\t\ttruncate = until !== undefined;\n\n\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\n\t\tif ( elem.nodeType === 1 ) {\n\t\t\tif ( truncate && jQuery( elem ).is( until ) ) {\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tmatched.push( elem );\n\t\t}\n\t}\n\treturn matched;\n};\n\n\nvar siblings = function( n, elem ) {\n\tvar matched = [];\n\n\tfor ( ; n; n = n.nextSibling ) {\n\t\tif ( n.nodeType === 1 && n !== elem ) {\n\t\t\tmatched.push( n );\n\t\t}\n\t}\n\n\treturn matched;\n};\n\n\nvar rneedsContext = jQuery.expr.match.needsContext;\n\nvar rsingleTag = ( /^<([a-z][^\\/\\0>:\\x20\\t\\r\\n\\f]*)[\\x20\\t\\r\\n\\f]*\\/?>(?:<\\/\\1>|)$/i );\n\n\n\n// Implement the identical functionality for filter and not\nfunction winnow( elements, qualifier, not ) {\n\tif ( isFunction( qualifier ) ) {\n\t\treturn jQuery.grep( elements, function( elem, i ) {\n\t\t\treturn !!qualifier.call( elem, i, elem ) !== not;\n\t\t} );\n\t}\n\n\t// Single element\n\tif ( qualifier.nodeType ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( elem === qualifier ) !== not;\n\t\t} );\n\t}\n\n\t// Arraylike of elements (jQuery, arguments, Array)\n\tif ( typeof qualifier !== \"string\" ) {\n\t\treturn jQuery.grep( elements, function( elem ) {\n\t\t\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\n\t\t} );\n\t}\n\n\t// Filtered directly for both simple and complex selectors\n\treturn jQuery.filter( qualifier, elements, not );\n}\n\njQuery.filter = function( expr, elems, not ) {\n\tvar elem = elems[ 0 ];\n\n\tif ( not ) {\n\t\texpr = \":not(\" + expr + \")\";\n\t}\n\n\tif ( elems.length === 1 && elem.nodeType === 1 ) {\n\t\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\n\t}\n\n\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\n\t\treturn elem.nodeType === 1;\n\t} ) );\n};\n\njQuery.fn.extend( {\n\tfind: function( selector ) {\n\t\tvar i, ret,\n\t\t\tlen = this.length,\n\t\t\tself = this;\n\n\t\tif ( typeof selector !== \"string\" ) {\n\t\t\treturn this.pushStack( jQuery( selector ).filter( function() {\n\t\t\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\t\t\tif ( jQuery.contains( self[ i ], this ) ) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} ) );\n\t\t}\n\n\t\tret = this.pushStack( [] );\n\n\t\tfor ( i = 0; i < len; i++ ) {\n\t\t\tjQuery.find( selector, self[ i ], ret );\n\t\t}\n\n\t\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\n\t},\n\tfilter: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], false ) );\n\t},\n\tnot: function( selector ) {\n\t\treturn this.pushStack( winnow( this, selector || [], true ) );\n\t},\n\tis: function( selector ) {\n\t\treturn !!winnow(\n\t\t\tthis,\n\n\t\t\t// If this is a positional/relative selector, check membership in the returned set\n\t\t\t// so $(\"p:first\").is(\"p:last\") won't return true for a doc with two \"p\".\n\t\t\ttypeof selector === \"string\" && rneedsContext.test( selector ) ?\n\t\t\t\tjQuery( selector ) :\n\t\t\t\tselector || [],\n\t\t\tfalse\n\t\t).length;\n\t}\n} );\n\n\n// Initialize a jQuery object\n\n\n// A central reference to the root jQuery(document)\nvar rootjQuery,\n\n\t// A simple way to check for HTML strings\n\t// Prioritize #id over <tag> to avoid XSS via location.hash (trac-9521)\n\t// Strict HTML recognition (trac-11290: must start with <)\n\t// Shortcut simple #id case for speed\n\trquickExpr = /^(?:\\s*(<[\\w\\W]+>)[^>]*|#([\\w-]+))$/,\n\n\tinit = jQuery.fn.init = function( selector, context, root ) {\n\t\tvar match, elem;\n\n\t\t// HANDLE: $(\"\"), $(null), $(undefined), $(false)\n\t\tif ( !selector ) {\n\t\t\treturn this;\n\t\t}\n\n\t\t// Method init() accepts an alternate rootjQuery\n\t\t// so migrate can support jQuery.sub (gh-2101)\n\t\troot = root || rootjQuery;\n\n\t\t// Handle HTML strings\n\t\tif ( typeof selector === \"string\" ) {\n\t\t\tif ( selector[ 0 ] === \"<\" &&\n\t\t\t\tselector[ selector.length - 1 ] === \">\" &&\n\t\t\t\tselector.length >= 3 ) {\n\n\t\t\t\t// Assume that strings that start and end with <> are HTML and skip the regex check\n\t\t\t\tmatch = [ null, selector, null ];\n\n\t\t\t} else {\n\t\t\t\tmatch = rquickExpr.exec( selector );\n\t\t\t}\n\n\t\t\t// Match html or make sure no context is specified for #id\n\t\t\tif ( match && ( match[ 1 ] || !context ) ) {\n\n\t\t\t\t// HANDLE: $(html) -> $(array)\n\t\t\t\tif ( match[ 1 ] ) {\n\t\t\t\t\tcontext = context instanceof jQuery ? context[ 0 ] : context;\n\n\t\t\t\t\t// Option to run scripts is true for back-compat\n\t\t\t\t\t// Intentionally let the error be thrown if parseHTML is not present\n\t\t\t\t\tjQuery.merge( this, jQuery.parseHTML(\n\t\t\t\t\t\tmatch[ 1 ],\n\t\t\t\t\t\tcontext && context.nodeType ? context.ownerDocument || context : document,\n\t\t\t\t\t\ttrue\n\t\t\t\t\t) );\n\n\t\t\t\t\t// HANDLE: $(html, props)\n\t\t\t\t\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\n\t\t\t\t\t\tfor ( match in context ) {\n\n\t\t\t\t\t\t\t// Properties of context are called as methods if possible\n\t\t\t\t\t\t\tif ( isFunction( this[ match ] ) ) {\n\t\t\t\t\t\t\t\tthis[ match ]( context[ match ] );\n\n\t\t\t\t\t\t\t// ...and otherwise set as attributes\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.attr( match, context[ match ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn this;\n\n\t\t\t\t// HANDLE: $(#id)\n\t\t\t\t} else {\n\t\t\t\t\telem = document.getElementById( match[ 2 ] );\n\n\t\t\t\t\tif ( elem ) {\n\n\t\t\t\t\t\t// Inject the element directly into the jQuery object\n\t\t\t\t\t\tthis[ 0 ] = elem;\n\t\t\t\t\t\tthis.length = 1;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\n\t\t\t// HANDLE: $(expr, $(...))\n\t\t\t} else if ( !context || context.jquery ) {\n\t\t\t\treturn ( context || root ).find( selector );\n\n\t\t\t// HANDLE: $(expr, context)\n\t\t\t// (which is just equivalent to: $(context).find(expr)\n\t\t\t} else {\n\t\t\t\treturn this.constructor( context ).find( selector );\n\t\t\t}\n\n\t\t// HANDLE: $(DOMElement)\n\t\t} else if ( selector.nodeType ) {\n\t\t\tthis[ 0 ] = selector;\n\t\t\tthis.length = 1;\n\t\t\treturn this;\n\n\t\t// HANDLE: $(function)\n\t\t// Shortcut for document ready\n\t\t} else if ( isFunction( selector ) ) {\n\t\t\treturn root.ready !== undefined ?\n\t\t\t\troot.ready( selector ) :\n\n\t\t\t\t// Execute immediately if ready is not present\n\t\t\t\tselector( jQuery );\n\t\t}\n\n\t\treturn jQuery.makeArray( selector, this );\n\t};\n\n// Give the init function the jQuery prototype for later instantiation\ninit.prototype = jQuery.fn;\n\n// Initialize central reference\nrootjQuery = jQuery( document );\n\n\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\n\n\t// Methods guaranteed to produce a unique set when starting from a unique set\n\tguaranteedUnique = {\n\t\tchildren: true,\n\t\tcontents: true,\n\t\tnext: true,\n\t\tprev: true\n\t};\n\njQuery.fn.extend( {\n\thas: function( target ) {\n\t\tvar targets = jQuery( target, this ),\n\t\t\tl = targets.length;\n\n\t\treturn this.filter( function() {\n\t\t\tvar i = 0;\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tif ( jQuery.contains( this, targets[ i ] ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\tclosest: function( selectors, context ) {\n\t\tvar cur,\n\t\t\ti = 0,\n\t\t\tl = this.length,\n\t\t\tmatched = [],\n\t\t\ttargets = typeof selectors !== \"string\" && jQuery( selectors );\n\n\t\t// Positional selectors never match, since there's no _selection_ context\n\t\tif ( !rneedsContext.test( selectors ) ) {\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\n\n\t\t\t\t\t// Always skip document fragments\n\t\t\t\t\tif ( cur.nodeType < 11 && ( targets ?\n\t\t\t\t\t\ttargets.index( cur ) > -1 :\n\n\t\t\t\t\t\t// Don't pass non-elements to jQuery#find\n\t\t\t\t\t\tcur.nodeType === 1 &&\n\t\t\t\t\t\t\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\n\n\t\t\t\t\t\tmatched.push( cur );\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\n\t},\n\n\t// Determine the position of an element within the set\n\tindex: function( elem ) {\n\n\t\t// No argument, return index in parent\n\t\tif ( !elem ) {\n\t\t\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\n\t\t}\n\n\t\t// Index in selector\n\t\tif ( typeof elem === \"string\" ) {\n\t\t\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\n\t\t}\n\n\t\t// Locate the position of the desired element\n\t\treturn indexOf.call( this,\n\n\t\t\t// If it receives a jQuery object, the first element is used\n\t\t\telem.jquery ? elem[ 0 ] : elem\n\t\t);\n\t},\n\n\tadd: function( selector, context ) {\n\t\treturn this.pushStack(\n\t\t\tjQuery.uniqueSort(\n\t\t\t\tjQuery.merge( this.get(), jQuery( selector, context ) )\n\t\t\t)\n\t\t);\n\t},\n\n\taddBack: function( selector ) {\n\t\treturn this.add( selector == null ?\n\t\t\tthis.prevObject : this.prevObject.filter( selector )\n\t\t);\n\t}\n} );\n\nfunction sibling( cur, dir ) {\n\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\n\treturn cur;\n}\n\njQuery.each( {\n\tparent: function( elem ) {\n\t\tvar parent = elem.parentNode;\n\t\treturn parent && parent.nodeType !== 11 ? parent : null;\n\t},\n\tparents: function( elem ) {\n\t\treturn dir( elem, \"parentNode\" );\n\t},\n\tparentsUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"parentNode\", until );\n\t},\n\tnext: function( elem ) {\n\t\treturn sibling( elem, \"nextSibling\" );\n\t},\n\tprev: function( elem ) {\n\t\treturn sibling( elem, \"previousSibling\" );\n\t},\n\tnextAll: function( elem ) {\n\t\treturn dir( elem, \"nextSibling\" );\n\t},\n\tprevAll: function( elem ) {\n\t\treturn dir( elem, \"previousSibling\" );\n\t},\n\tnextUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"nextSibling\", until );\n\t},\n\tprevUntil: function( elem, _i, until ) {\n\t\treturn dir( elem, \"previousSibling\", until );\n\t},\n\tsiblings: function( elem ) {\n\t\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\n\t},\n\tchildren: function( elem ) {\n\t\treturn siblings( elem.firstChild );\n\t},\n\tcontents: function( elem ) {\n\t\tif ( elem.contentDocument != null &&\n\n\t\t\t// Support: IE 11+\n\t\t\t// <object> elements with no `data` attribute has an object\n\t\t\t// `contentDocument` with a `null` prototype.\n\t\t\tgetProto( elem.contentDocument ) ) {\n\n\t\t\treturn elem.contentDocument;\n\t\t}\n\n\t\t// Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\n\t\t// Treat the template element as a regular one in browsers that\n\t\t// don't support it.\n\t\tif ( nodeName( elem, \"template\" ) ) {\n\t\t\telem = elem.content || elem;\n\t\t}\n\n\t\treturn jQuery.merge( [], elem.childNodes );\n\t}\n}, function( name, fn ) {\n\tjQuery.fn[ name ] = function( until, selector ) {\n\t\tvar matched = jQuery.map( this, fn, until );\n\n\t\tif ( name.slice( -5 ) !== \"Until\" ) {\n\t\t\tselector = until;\n\t\t}\n\n\t\tif ( selector && typeof selector === \"string\" ) {\n\t\t\tmatched = jQuery.filter( selector, matched );\n\t\t}\n\n\t\tif ( this.length > 1 ) {\n\n\t\t\t// Remove duplicates\n\t\t\tif ( !guaranteedUnique[ name ] ) {\n\t\t\t\tjQuery.uniqueSort( matched );\n\t\t\t}\n\n\t\t\t// Reverse order for parents* and prev-derivatives\n\t\t\tif ( rparentsprev.test( name ) ) {\n\t\t\t\tmatched.reverse();\n\t\t\t}\n\t\t}\n\n\t\treturn this.pushStack( matched );\n\t};\n} );\nvar rnothtmlwhite = ( /[^\\x20\\t\\r\\n\\f]+/g );\n\n\n\n// Convert String-formatted options into Object-formatted ones\nfunction createOptions( options ) {\n\tvar object = {};\n\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\n\t\tobject[ flag ] = true;\n\t} );\n\treturn object;\n}\n\n/*\n * Create a callback list using the following parameters:\n *\n *\toptions: an optional list of space-separated options that will change how\n *\t\t\tthe callback list behaves or a more traditional option object\n *\n * By default a callback list will act like an event callback list and can be\n * \"fired\" multiple times.\n *\n * Possible options:\n *\n *\tonce:\t\t\twill ensure the callback list can only be fired once (like a Deferred)\n *\n *\tmemory:\t\t\twill keep track of previous values and will call any callback added\n *\t\t\t\t\tafter the list has been fired right away with the latest \"memorized\"\n *\t\t\t\t\tvalues (like a Deferred)\n *\n *\tunique:\t\t\twill ensure a callback can only be added once (no duplicate in the list)\n *\n *\tstopOnFalse:\tinterrupt callings when a callback returns false\n *\n */\njQuery.Callbacks = function( options ) {\n\n\t// Convert options from String-formatted to Object-formatted if needed\n\t// (we check in cache first)\n\toptions = typeof options === \"string\" ?\n\t\tcreateOptions( options ) :\n\t\tjQuery.extend( {}, options );\n\n\tvar // Flag to know if list is currently firing\n\t\tfiring,\n\n\t\t// Last fire value for non-forgettable lists\n\t\tmemory,\n\n\t\t// Flag to know if list was already fired\n\t\tfired,\n\n\t\t// Flag to prevent firing\n\t\tlocked,\n\n\t\t// Actual callback list\n\t\tlist = [],\n\n\t\t// Queue of execution data for repeatable lists\n\t\tqueue = [],\n\n\t\t// Index of currently firing callback (modified by add/remove as needed)\n\t\tfiringIndex = -1,\n\n\t\t// Fire callbacks\n\t\tfire = function() {\n\n\t\t\t// Enforce single-firing\n\t\t\tlocked = locked || options.once;\n\n\t\t\t// Execute callbacks for all pending executions,\n\t\t\t// respecting firingIndex overrides and runtime changes\n\t\t\tfired = firing = true;\n\t\t\tfor ( ; queue.length; firingIndex = -1 ) {\n\t\t\t\tmemory = queue.shift();\n\t\t\t\twhile ( ++firingIndex < list.length ) {\n\n\t\t\t\t\t// Run callback and check for early termination\n\t\t\t\t\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\n\t\t\t\t\t\toptions.stopOnFalse ) {\n\n\t\t\t\t\t\t// Jump to end and forget the data so .add doesn't re-fire\n\t\t\t\t\t\tfiringIndex = list.length;\n\t\t\t\t\t\tmemory = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Forget the data if we're done with it\n\t\t\tif ( !options.memory ) {\n\t\t\t\tmemory = false;\n\t\t\t}\n\n\t\t\tfiring = false;\n\n\t\t\t// Clean up if we're done firing for good\n\t\t\tif ( locked ) {\n\n\t\t\t\t// Keep an empty list if we have data for future add calls\n\t\t\t\tif ( memory ) {\n\t\t\t\t\tlist = [];\n\n\t\t\t\t// Otherwise, this object is spent\n\t\t\t\t} else {\n\t\t\t\t\tlist = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t// Actual Callbacks object\n\t\tself = {\n\n\t\t\t// Add a callback or a collection of callbacks to the list\n\t\t\tadd: function() {\n\t\t\t\tif ( list ) {\n\n\t\t\t\t\t// If we have memory from a past run, we should fire after adding\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfiringIndex = list.length - 1;\n\t\t\t\t\t\tqueue.push( memory );\n\t\t\t\t\t}\n\n\t\t\t\t\t( function add( args ) {\n\t\t\t\t\t\tjQuery.each( args, function( _, arg ) {\n\t\t\t\t\t\t\tif ( isFunction( arg ) ) {\n\t\t\t\t\t\t\t\tif ( !options.unique || !self.has( arg ) ) {\n\t\t\t\t\t\t\t\t\tlist.push( arg );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else if ( arg && arg.length && toType( arg ) !== \"string\" ) {\n\n\t\t\t\t\t\t\t\t// Inspect recursively\n\t\t\t\t\t\t\t\tadd( arg );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t\t} )( arguments );\n\n\t\t\t\t\tif ( memory && !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Remove a callback from the list\n\t\t\tremove: function() {\n\t\t\t\tjQuery.each( arguments, function( _, arg ) {\n\t\t\t\t\tvar index;\n\t\t\t\t\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\n\t\t\t\t\t\tlist.splice( index, 1 );\n\n\t\t\t\t\t\t// Handle firing indexes\n\t\t\t\t\t\tif ( index <= firingIndex ) {\n\t\t\t\t\t\t\tfiringIndex--;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Check if a given callback is in the list.\n\t\t\t// If no argument is given, return whether or not list has callbacks attached.\n\t\t\thas: function( fn ) {\n\t\t\t\treturn fn ?\n\t\t\t\t\tjQuery.inArray( fn, list ) > -1 :\n\t\t\t\t\tlist.length > 0;\n\t\t\t},\n\n\t\t\t// Remove all callbacks from the list\n\t\t\tempty: function() {\n\t\t\t\tif ( list ) {\n\t\t\t\t\tlist = [];\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Disable .fire and .add\n\t\t\t// Abort any current/pending executions\n\t\t\t// Clear all callbacks and values\n\t\t\tdisable: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tlist = memory = \"\";\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tdisabled: function() {\n\t\t\t\treturn !list;\n\t\t\t},\n\n\t\t\t// Disable .fire\n\t\t\t// Also disable .add unless we have memory (since it would have no effect)\n\t\t\t// Abort any pending executions\n\t\t\tlock: function() {\n\t\t\t\tlocked = queue = [];\n\t\t\t\tif ( !memory && !firing ) {\n\t\t\t\t\tlist = memory = \"\";\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\t\t\tlocked: function() {\n\t\t\t\treturn !!locked;\n\t\t\t},\n\n\t\t\t// Call all callbacks with the given context and arguments\n\t\t\tfireWith: function( context, args ) {\n\t\t\t\tif ( !locked ) {\n\t\t\t\t\targs = args || [];\n\t\t\t\t\targs = [ context, args.slice ? args.slice() : args ];\n\t\t\t\t\tqueue.push( args );\n\t\t\t\t\tif ( !firing ) {\n\t\t\t\t\t\tfire();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// Call all the callbacks with the given arguments\n\t\t\tfire: function() {\n\t\t\t\tself.fireWith( this, arguments );\n\t\t\t\treturn this;\n\t\t\t},\n\n\t\t\t// To know if the callbacks have already been called at least once\n\t\t\tfired: function() {\n\t\t\t\treturn !!fired;\n\t\t\t}\n\t\t};\n\n\treturn self;\n};\n\n\nfunction Identity( v ) {\n\treturn v;\n}\nfunction Thrower( ex ) {\n\tthrow ex;\n}\n\nfunction adoptValue( value, resolve, reject, noValue ) {\n\tvar method;\n\n\ttry {\n\n\t\t// Check for promise aspect first to privilege synchronous behavior\n\t\tif ( value && isFunction( ( method = value.promise ) ) ) {\n\t\t\tmethod.call( value ).done( resolve ).fail( reject );\n\n\t\t// Other thenables\n\t\t} else if ( value && isFunction( ( method = value.then ) ) ) {\n\t\t\tmethod.call( value, resolve, reject );\n\n\t\t// Other non-thenables\n\t\t} else {\n\n\t\t\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\n\t\t\t// * false: [ value ].slice( 0 ) => resolve( value )\n\t\t\t// * true: [ value ].slice( 1 ) => resolve()\n\t\t\tresolve.apply( undefined, [ value ].slice( noValue ) );\n\t\t}\n\n\t// For Promises/A+, convert exceptions into rejections\n\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\n\t// Deferred#then to conditionally suppress rejection.\n\t} catch ( value ) {\n\n\t\t// Support: Android 4.0 only\n\t\t// Strict mode functions invoked without .call/.apply get global-object context\n\t\treject.apply( undefined, [ value ] );\n\t}\n}\n\njQuery.extend( {\n\n\tDeferred: function( func ) {\n\t\tvar tuples = [\n\n\t\t\t\t// action, add listener, callbacks,\n\t\t\t\t// ... .then handlers, argument index, [final state]\n\t\t\t\t[ \"notify\", \"progress\", jQuery.Callbacks( \"memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"memory\" ), 2 ],\n\t\t\t\t[ \"resolve\", \"done\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 0, \"resolved\" ],\n\t\t\t\t[ \"reject\", \"fail\", jQuery.Callbacks( \"once memory\" ),\n\t\t\t\t\tjQuery.Callbacks( \"once memory\" ), 1, \"rejected\" ]\n\t\t\t],\n\t\t\tstate = \"pending\",\n\t\t\tpromise = {\n\t\t\t\tstate: function() {\n\t\t\t\t\treturn state;\n\t\t\t\t},\n\t\t\t\talways: function() {\n\t\t\t\t\tdeferred.done( arguments ).fail( arguments );\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\t\t\t\t\"catch\": function( fn ) {\n\t\t\t\t\treturn promise.then( null, fn );\n\t\t\t\t},\n\n\t\t\t\t// Keep pipe for back-compat\n\t\t\t\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\n\t\t\t\t\tvar fns = arguments;\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\t\t\t\t\t\tjQuery.each( tuples, function( _i, tuple ) {\n\n\t\t\t\t\t\t\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\n\t\t\t\t\t\t\tvar fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\n\n\t\t\t\t\t\t\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\n\t\t\t\t\t\t\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\n\t\t\t\t\t\t\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\n\t\t\t\t\t\t\tdeferred[ tuple[ 1 ] ]( function() {\n\t\t\t\t\t\t\t\tvar returned = fn && fn.apply( this, arguments );\n\t\t\t\t\t\t\t\tif ( returned && isFunction( returned.promise ) ) {\n\t\t\t\t\t\t\t\t\treturned.promise()\n\t\t\t\t\t\t\t\t\t\t.progress( newDefer.notify )\n\t\t\t\t\t\t\t\t\t\t.done( newDefer.resolve )\n\t\t\t\t\t\t\t\t\t\t.fail( newDefer.reject );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tnewDefer[ tuple[ 0 ] + \"With\" ](\n\t\t\t\t\t\t\t\t\t\tthis,\n\t\t\t\t\t\t\t\t\t\tfn ? [ returned ] : arguments\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tfns = null;\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\t\t\t\tthen: function( onFulfilled, onRejected, onProgress ) {\n\t\t\t\t\tvar maxDepth = 0;\n\t\t\t\t\tfunction resolve( depth, deferred, handler, special ) {\n\t\t\t\t\t\treturn function() {\n\t\t\t\t\t\t\tvar that = this,\n\t\t\t\t\t\t\t\targs = arguments,\n\t\t\t\t\t\t\t\tmightThrow = function() {\n\t\t\t\t\t\t\t\t\tvar returned, then;\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.3\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-59\n\t\t\t\t\t\t\t\t\t// Ignore double-resolution attempts\n\t\t\t\t\t\t\t\t\tif ( depth < maxDepth ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\treturned = handler.apply( that, args );\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.1\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-48\n\t\t\t\t\t\t\t\t\tif ( returned === deferred.promise() ) {\n\t\t\t\t\t\t\t\t\t\tthrow new TypeError( \"Thenable self-resolution\" );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Support: Promises/A+ sections 2.3.3.1, 3.5\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-54\n\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-75\n\t\t\t\t\t\t\t\t\t// Retrieve `then` only once\n\t\t\t\t\t\t\t\t\tthen = returned &&\n\n\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.4\n\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-64\n\t\t\t\t\t\t\t\t\t\t// Only check objects and functions for thenability\n\t\t\t\t\t\t\t\t\t\t( typeof returned === \"object\" ||\n\t\t\t\t\t\t\t\t\t\t\ttypeof returned === \"function\" ) &&\n\t\t\t\t\t\t\t\t\t\treturned.then;\n\n\t\t\t\t\t\t\t\t\t// Handle a returned thenable\n\t\t\t\t\t\t\t\t\tif ( isFunction( then ) ) {\n\n\t\t\t\t\t\t\t\t\t\t// Special processors (notify) just wait for resolution\n\t\t\t\t\t\t\t\t\t\tif ( special ) {\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special )\n\t\t\t\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t\t\t// Normal processors (resolve) also hook into progress\n\t\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t\t// ...and disregard older resolution values\n\t\t\t\t\t\t\t\t\t\t\tmaxDepth++;\n\n\t\t\t\t\t\t\t\t\t\t\tthen.call(\n\t\t\t\t\t\t\t\t\t\t\t\treturned,\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Thrower, special ),\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( maxDepth, deferred, Identity,\n\t\t\t\t\t\t\t\t\t\t\t\t\tdeferred.notifyWith )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Handle all other returned values\n\t\t\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\tif ( handler !== Identity ) {\n\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\targs = [ returned ];\n\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t// Process the value(s)\n\t\t\t\t\t\t\t\t\t\t// Default process is resolve\n\t\t\t\t\t\t\t\t\t\t( special || deferred.resolveWith )( that, args );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\t\t// Only normal processors (resolve) catch and reject exceptions\n\t\t\t\t\t\t\t\tprocess = special ?\n\t\t\t\t\t\t\t\t\tmightThrow :\n\t\t\t\t\t\t\t\t\tfunction() {\n\t\t\t\t\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\t\t\tmightThrow();\n\t\t\t\t\t\t\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t\t\t\t\t\t\tif ( jQuery.Deferred.exceptionHook ) {\n\t\t\t\t\t\t\t\t\t\t\t\tjQuery.Deferred.exceptionHook( e,\n\t\t\t\t\t\t\t\t\t\t\t\t\tprocess.error );\n\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.4.1\n\t\t\t\t\t\t\t\t\t\t\t// https://promisesaplus.com/#point-61\n\t\t\t\t\t\t\t\t\t\t\t// Ignore post-resolution exceptions\n\t\t\t\t\t\t\t\t\t\t\tif ( depth + 1 >= maxDepth ) {\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Only substitute handlers pass on context\n\t\t\t\t\t\t\t\t\t\t\t\t// and multiple values (non-spec behavior)\n\t\t\t\t\t\t\t\t\t\t\t\tif ( handler !== Thrower ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\tthat = undefined;\n\t\t\t\t\t\t\t\t\t\t\t\t\targs = [ e ];\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\tdeferred.rejectWith( that, args );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\t// Support: Promises/A+ section 2.3.3.3.1\n\t\t\t\t\t\t\t// https://promisesaplus.com/#point-57\n\t\t\t\t\t\t\t// Re-resolve promises immediately to dodge false rejection from\n\t\t\t\t\t\t\t// subsequent errors\n\t\t\t\t\t\t\tif ( depth ) {\n\t\t\t\t\t\t\t\tprocess();\n\t\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t\t// Call an optional hook to record the error, in case of exception\n\t\t\t\t\t\t\t\t// since it's otherwise lost when execution goes async\n\t\t\t\t\t\t\t\tif ( jQuery.Deferred.getErrorHook ) {\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getErrorHook();\n\n\t\t\t\t\t\t\t\t// The deprecated alias of the above. While the name suggests\n\t\t\t\t\t\t\t\t// returning the stack, not an error instance, jQuery just passes\n\t\t\t\t\t\t\t\t// it directly to `console.warn` so both will work; an instance\n\t\t\t\t\t\t\t\t// just better cooperates with source maps.\n\t\t\t\t\t\t\t\t} else if ( jQuery.Deferred.getStackHook ) {\n\t\t\t\t\t\t\t\t\tprocess.error = jQuery.Deferred.getStackHook();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\twindow.setTimeout( process );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn jQuery.Deferred( function( newDefer ) {\n\n\t\t\t\t\t\t// progress_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 0 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onProgress ) ?\n\t\t\t\t\t\t\t\t\tonProgress :\n\t\t\t\t\t\t\t\t\tIdentity,\n\t\t\t\t\t\t\t\tnewDefer.notifyWith\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// fulfilled_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 1 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onFulfilled ) ?\n\t\t\t\t\t\t\t\t\tonFulfilled :\n\t\t\t\t\t\t\t\t\tIdentity\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\t// rejected_handlers.add( ... )\n\t\t\t\t\t\ttuples[ 2 ][ 3 ].add(\n\t\t\t\t\t\t\tresolve(\n\t\t\t\t\t\t\t\t0,\n\t\t\t\t\t\t\t\tnewDefer,\n\t\t\t\t\t\t\t\tisFunction( onRejected ) ?\n\t\t\t\t\t\t\t\t\tonRejected :\n\t\t\t\t\t\t\t\t\tThrower\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} ).promise();\n\t\t\t\t},\n\n\t\t\t\t// Get a promise for this deferred\n\t\t\t\t// If obj is provided, the promise aspect is added to the object\n\t\t\t\tpromise: function( obj ) {\n\t\t\t\t\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\n\t\t\t\t}\n\t\t\t},\n\t\t\tdeferred = {};\n\n\t\t// Add list-specific methods\n\t\tjQuery.each( tuples, function( i, tuple ) {\n\t\t\tvar list = tuple[ 2 ],\n\t\t\t\tstateString = tuple[ 5 ];\n\n\t\t\t// promise.progress = list.add\n\t\t\t// promise.done = list.add\n\t\t\t// promise.fail = list.add\n\t\t\tpromise[ tuple[ 1 ] ] = list.add;\n\n\t\t\t// Handle state\n\t\t\tif ( stateString ) {\n\t\t\t\tlist.add(\n\t\t\t\t\tfunction() {\n\n\t\t\t\t\t\t// state = \"resolved\" (i.e., fulfilled)\n\t\t\t\t\t\t// state = \"rejected\"\n\t\t\t\t\t\tstate = stateString;\n\t\t\t\t\t},\n\n\t\t\t\t\t// rejected_callbacks.disable\n\t\t\t\t\t// fulfilled_callbacks.disable\n\t\t\t\t\ttuples[ 3 - i ][ 2 ].disable,\n\n\t\t\t\t\t// rejected_handlers.disable\n\t\t\t\t\t// fulfilled_handlers.disable\n\t\t\t\t\ttuples[ 3 - i ][ 3 ].disable,\n\n\t\t\t\t\t// progress_callbacks.lock\n\t\t\t\t\ttuples[ 0 ][ 2 ].lock,\n\n\t\t\t\t\t// progress_handlers.lock\n\t\t\t\t\ttuples[ 0 ][ 3 ].lock\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// progress_handlers.fire\n\t\t\t// fulfilled_handlers.fire\n\t\t\t// rejected_handlers.fire\n\t\t\tlist.add( tuple[ 3 ].fire );\n\n\t\t\t// deferred.notify = function() { deferred.notifyWith(...) }\n\t\t\t// deferred.resolve = function() { deferred.resolveWith(...) }\n\t\t\t// deferred.reject = function() { deferred.rejectWith(...) }\n\t\t\tdeferred[ tuple[ 0 ] ] = function() {\n\t\t\t\tdeferred[ tuple[ 0 ] + \"With\" ]( this === deferred ? undefined : this, arguments );\n\t\t\t\treturn this;\n\t\t\t};\n\n\t\t\t// deferred.notifyWith = list.fireWith\n\t\t\t// deferred.resolveWith = list.fireWith\n\t\t\t// deferred.rejectWith = list.fireWith\n\t\t\tdeferred[ tuple[ 0 ] + \"With\" ] = list.fireWith;\n\t\t} );\n\n\t\t// Make the deferred a promise\n\t\tpromise.promise( deferred );\n\n\t\t// Call given func if any\n\t\tif ( func ) {\n\t\t\tfunc.call( deferred, deferred );\n\t\t}\n\n\t\t// All done!\n\t\treturn deferred;\n\t},\n\n\t// Deferred helper\n\twhen: function( singleValue ) {\n\t\tvar\n\n\t\t\t// count of uncompleted subordinates\n\t\t\tremaining = arguments.length,\n\n\t\t\t// count of unprocessed arguments\n\t\t\ti = remaining,\n\n\t\t\t// subordinate fulfillment data\n\t\t\tresolveContexts = Array( i ),\n\t\t\tresolveValues = slice.call( arguments ),\n\n\t\t\t// the primary Deferred\n\t\t\tprimary = jQuery.Deferred(),\n\n\t\t\t// subordinate callback factory\n\t\t\tupdateFunc = function( i ) {\n\t\t\t\treturn function( value ) {\n\t\t\t\t\tresolveContexts[ i ] = this;\n\t\t\t\t\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\n\t\t\t\t\tif ( !( --remaining ) ) {\n\t\t\t\t\t\tprimary.resolveWith( resolveContexts, resolveValues );\n\t\t\t\t\t}\n\t\t\t\t};\n\t\t\t};\n\n\t\t// Single- and empty arguments are adopted like Promise.resolve\n\t\tif ( remaining <= 1 ) {\n\t\t\tadoptValue( singleValue, primary.done( updateFunc( i ) ).resolve, primary.reject,\n\t\t\t\t!remaining );\n\n\t\t\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\n\t\t\tif ( primary.state() === \"pending\" ||\n\t\t\t\tisFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\n\n\t\t\t\treturn primary.then();\n\t\t\t}\n\t\t}\n\n\t\t// Multiple arguments are aggregated like Promise.all array elements\n\t\twhile ( i-- ) {\n\t\t\tadoptValue( resolveValues[ i ], updateFunc( i ), primary.reject );\n\t\t}\n\n\t\treturn primary.promise();\n\t}\n} );\n\n\n// These usually indicate a programmer mistake during development,\n// warn about them ASAP rather than swallowing them by default.\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\n\n// If `jQuery.Deferred.getErrorHook` is defined, `asyncError` is an error\n// captured before the async barrier to get the original error cause\n// which may otherwise be hidden.\njQuery.Deferred.exceptionHook = function( error, asyncError ) {\n\n\t// Support: IE 8 - 9 only\n\t// Console exists when dev tools are open, which can happen at any time\n\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\n\t\twindow.console.warn( \"jQuery.Deferred exception: \" + error.message,\n\t\t\terror.stack, asyncError );\n\t}\n};\n\n\n\n\njQuery.readyException = function( error ) {\n\twindow.setTimeout( function() {\n\t\tthrow error;\n\t} );\n};\n\n\n\n\n// The deferred used on DOM ready\nvar readyList = jQuery.Deferred();\n\njQuery.fn.ready = function( fn ) {\n\n\treadyList\n\t\t.then( fn )\n\n\t\t// Wrap jQuery.readyException in a function so that the lookup\n\t\t// happens at the time of error handling instead of callback\n\t\t// registration.\n\t\t.catch( function( error ) {\n\t\t\tjQuery.readyException( error );\n\t\t} );\n\n\treturn this;\n};\n\njQuery.extend( {\n\n\t// Is the DOM ready to be used? Set to true once it occurs.\n\tisReady: false,\n\n\t// A counter to track how many items to wait for before\n\t// the ready event fires. See trac-6781\n\treadyWait: 1,\n\n\t// Handle when the DOM is ready\n\tready: function( wait ) {\n\n\t\t// Abort if there are pending holds or we're already ready\n\t\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Remember that the DOM is ready\n\t\tjQuery.isReady = true;\n\n\t\t// If a normal DOM Ready event fired, decrement, and wait if need be\n\t\tif ( wait !== true && --jQuery.readyWait > 0 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there are functions bound, to execute\n\t\treadyList.resolveWith( document, [ jQuery ] );\n\t}\n} );\n\njQuery.ready.then = readyList.then;\n\n// The ready event handler and self cleanup method\nfunction completed() {\n\tdocument.removeEventListener( \"DOMContentLoaded\", completed );\n\twindow.removeEventListener( \"load\", completed );\n\tjQuery.ready();\n}\n\n// Catch cases where $(document).ready() is called\n// after the browser event has already occurred.\n// Support: IE <=9 - 10 only\n// Older IE sometimes signals \"interactive\" too soon\nif ( document.readyState === \"complete\" ||\n\t( document.readyState !== \"loading\" && !document.documentElement.doScroll ) ) {\n\n\t// Handle it asynchronously to allow scripts the opportunity to delay ready\n\twindow.setTimeout( jQuery.ready );\n\n} else {\n\n\t// Use the handy event callback\n\tdocument.addEventListener( \"DOMContentLoaded\", completed );\n\n\t// A fallback to window.onload, that will always work\n\twindow.addEventListener( \"load\", completed );\n}\n\n\n\n\n// Multifunctional method to get and set values of a collection\n// The value/s can optionally be executed if it's a function\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\n\tvar i = 0,\n\t\tlen = elems.length,\n\t\tbulk = key == null;\n\n\t// Sets many values\n\tif ( toType( key ) === \"object\" ) {\n\t\tchainable = true;\n\t\tfor ( i in key ) {\n\t\t\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\n\t\t}\n\n\t// Sets one value\n\t} else if ( value !== undefined ) {\n\t\tchainable = true;\n\n\t\tif ( !isFunction( value ) ) {\n\t\t\traw = true;\n\t\t}\n\n\t\tif ( bulk ) {\n\n\t\t\t// Bulk operations run against the entire set\n\t\t\tif ( raw ) {\n\t\t\t\tfn.call( elems, value );\n\t\t\t\tfn = null;\n\n\t\t\t// ...except when executing function values\n\t\t\t} else {\n\t\t\t\tbulk = fn;\n\t\t\t\tfn = function( elem, _key, value ) {\n\t\t\t\t\treturn bulk.call( jQuery( elem ), value );\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\tif ( fn ) {\n\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\tfn(\n\t\t\t\t\telems[ i ], key, raw ?\n\t\t\t\t\t\tvalue :\n\t\t\t\t\t\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( chainable ) {\n\t\treturn elems;\n\t}\n\n\t// Gets\n\tif ( bulk ) {\n\t\treturn fn.call( elems );\n\t}\n\n\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\n};\n\n\n// Matches dashed string for camelizing\nvar rmsPrefix = /^-ms-/,\n\trdashAlpha = /-([a-z])/g;\n\n// Used by camelCase as callback to replace()\nfunction fcamelCase( _all, letter ) {\n\treturn letter.toUpperCase();\n}\n\n// Convert dashed to camelCase; used by the css and data modules\n// Support: IE <=9 - 11, Edge 12 - 15\n// Microsoft forgot to hump their vendor prefix (trac-9572)\nfunction camelCase( string ) {\n\treturn string.replace( rmsPrefix, \"ms-\" ).replace( rdashAlpha, fcamelCase );\n}\nvar acceptData = function( owner ) {\n\n\t// Accepts only:\n\t// - Node\n\t// - Node.ELEMENT_NODE\n\t// - Node.DOCUMENT_NODE\n\t// - Object\n\t// - Any\n\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\n};\n\n\n\n\nfunction Data() {\n\tthis.expando = jQuery.expando + Data.uid++;\n}\n\nData.uid = 1;\n\nData.prototype = {\n\n\tcache: function( owner ) {\n\n\t\t// Check if the owner object already has a cache\n\t\tvar value = owner[ this.expando ];\n\n\t\t// If not, create one\n\t\tif ( !value ) {\n\t\t\tvalue = {};\n\n\t\t\t// We can accept data for non-element nodes in modern browsers,\n\t\t\t// but we should not, see trac-8335.\n\t\t\t// Always return an empty object.\n\t\t\tif ( acceptData( owner ) ) {\n\n\t\t\t\t// If it is a node unlikely to be stringify-ed or looped over\n\t\t\t\t// use plain assignment\n\t\t\t\tif ( owner.nodeType ) {\n\t\t\t\t\towner[ this.expando ] = value;\n\n\t\t\t\t// Otherwise secure it in a non-enumerable property\n\t\t\t\t// configurable must be true to allow the property to be\n\t\t\t\t// deleted when data is removed\n\t\t\t\t} else {\n\t\t\t\t\tObject.defineProperty( owner, this.expando, {\n\t\t\t\t\t\tvalue: value,\n\t\t\t\t\t\tconfigurable: true\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn value;\n\t},\n\tset: function( owner, data, value ) {\n\t\tvar prop,\n\t\t\tcache = this.cache( owner );\n\n\t\t// Handle: [ owner, key, value ] args\n\t\t// Always use camelCase key (gh-2257)\n\t\tif ( typeof data === \"string\" ) {\n\t\t\tcache[ camelCase( data ) ] = value;\n\n\t\t// Handle: [ owner, { properties } ] args\n\t\t} else {\n\n\t\t\t// Copy the properties one-by-one to the cache object\n\t\t\tfor ( prop in data ) {\n\t\t\t\tcache[ camelCase( prop ) ] = data[ prop ];\n\t\t\t}\n\t\t}\n\t\treturn cache;\n\t},\n\tget: function( owner, key ) {\n\t\treturn key === undefined ?\n\t\t\tthis.cache( owner ) :\n\n\t\t\t// Always use camelCase key (gh-2257)\n\t\t\towner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];\n\t},\n\taccess: function( owner, key, value ) {\n\n\t\t// In cases where either:\n\t\t//\n\t\t// 1. No key was specified\n\t\t// 2. A string key was specified, but no value provided\n\t\t//\n\t\t// Take the \"read\" path and allow the get method to determine\n\t\t// which value to return, respectively either:\n\t\t//\n\t\t// 1. The entire cache object\n\t\t// 2. The data stored at the key\n\t\t//\n\t\tif ( key === undefined ||\n\t\t\t\t( ( key && typeof key === \"string\" ) && value === undefined ) ) {\n\n\t\t\treturn this.get( owner, key );\n\t\t}\n\n\t\t// When the key is not a string, or both a key and value\n\t\t// are specified, set or extend (existing objects) with either:\n\t\t//\n\t\t// 1. An object of properties\n\t\t// 2. A key and value\n\t\t//\n\t\tthis.set( owner, key, value );\n\n\t\t// Since the \"set\" path can have two possible entry points\n\t\t// return the expected data based on which path was taken[*]\n\t\treturn value !== undefined ? value : key;\n\t},\n\tremove: function( owner, key ) {\n\t\tvar i,\n\t\t\tcache = owner[ this.expando ];\n\n\t\tif ( cache === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( key !== undefined ) {\n\n\t\t\t// Support array or space separated string of keys\n\t\t\tif ( Array.isArray( key ) ) {\n\n\t\t\t\t// If key is an array of keys...\n\t\t\t\t// We always set camelCase keys, so remove that.\n\t\t\t\tkey = key.map( camelCase );\n\t\t\t} else {\n\t\t\t\tkey = camelCase( key );\n\n\t\t\t\t// If a key with the spaces exists, use it.\n\t\t\t\t// Otherwise, create an array by matching non-whitespace\n\t\t\t\tkey = key in cache ?\n\t\t\t\t\t[ key ] :\n\t\t\t\t\t( key.match( rnothtmlwhite ) || [] );\n\t\t\t}\n\n\t\t\ti = key.length;\n\n\t\t\twhile ( i-- ) {\n\t\t\t\tdelete cache[ key[ i ] ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove the expando if there's no more data\n\t\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\n\n\t\t\t// Support: Chrome <=35 - 45\n\t\t\t// Webkit & Blink performance suffers when deleting properties\n\t\t\t// from DOM nodes, so set to undefined instead\n\t\t\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\n\t\t\tif ( owner.nodeType ) {\n\t\t\t\towner[ this.expando ] = undefined;\n\t\t\t} else {\n\t\t\t\tdelete owner[ this.expando ];\n\t\t\t}\n\t\t}\n\t},\n\thasData: function( owner ) {\n\t\tvar cache = owner[ this.expando ];\n\t\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\n\t}\n};\nvar dataPriv = new Data();\n\nvar dataUser = new Data();\n\n\n\n//\tImplementation Summary\n//\n//\t1. Enforce API surface and semantic compatibility with 1.9.x branch\n//\t2. Improve the module's maintainability by reducing the storage\n//\t\tpaths to a single mechanism.\n//\t3. Use the same single mechanism to support \"private\" and \"user\" data.\n//\t4. _Never_ expose \"private\" data to user code (TODO: Drop _data, _removeData)\n//\t5. Avoid exposing implementation details on user objects (eg. expando properties)\n//\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\n\nvar rbrace = /^(?:\\{[\\w\\W]*\\}|\\[[\\w\\W]*\\])$/,\n\trmultiDash = /[A-Z]/g;\n\nfunction getData( data ) {\n\tif ( data === \"true\" ) {\n\t\treturn true;\n\t}\n\n\tif ( data === \"false\" ) {\n\t\treturn false;\n\t}\n\n\tif ( data === \"null\" ) {\n\t\treturn null;\n\t}\n\n\t// Only convert to a number if it doesn't change the string\n\tif ( data === +data + \"\" ) {\n\t\treturn +data;\n\t}\n\n\tif ( rbrace.test( data ) ) {\n\t\treturn JSON.parse( data );\n\t}\n\n\treturn data;\n}\n\nfunction dataAttr( elem, key, data ) {\n\tvar name;\n\n\t// If nothing was found internally, try to fetch any\n\t// data from the HTML5 data-* attribute\n\tif ( data === undefined && elem.nodeType === 1 ) {\n\t\tname = \"data-\" + key.replace( rmultiDash, \"-$&\" ).toLowerCase();\n\t\tdata = elem.getAttribute( name );\n\n\t\tif ( typeof data === \"string\" ) {\n\t\t\ttry {\n\t\t\t\tdata = getData( data );\n\t\t\t} catch ( e ) {}\n\n\t\t\t// Make sure we set the data so it isn't changed later\n\t\t\tdataUser.set( elem, key, data );\n\t\t} else {\n\t\t\tdata = undefined;\n\t\t}\n\t}\n\treturn data;\n}\n\njQuery.extend( {\n\thasData: function( elem ) {\n\t\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\n\t},\n\n\tdata: function( elem, name, data ) {\n\t\treturn dataUser.access( elem, name, data );\n\t},\n\n\tremoveData: function( elem, name ) {\n\t\tdataUser.remove( elem, name );\n\t},\n\n\t// TODO: Now that all calls to _data and _removeData have been replaced\n\t// with direct calls to dataPriv methods, these can be deprecated.\n\t_data: function( elem, name, data ) {\n\t\treturn dataPriv.access( elem, name, data );\n\t},\n\n\t_removeData: function( elem, name ) {\n\t\tdataPriv.remove( elem, name );\n\t}\n} );\n\njQuery.fn.extend( {\n\tdata: function( key, value ) {\n\t\tvar i, name, data,\n\t\t\telem = this[ 0 ],\n\t\t\tattrs = elem && elem.attributes;\n\n\t\t// Gets all values\n\t\tif ( key === undefined ) {\n\t\t\tif ( this.length ) {\n\t\t\t\tdata = dataUser.get( elem );\n\n\t\t\t\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \"hasDataAttrs\" ) ) {\n\t\t\t\t\ti = attrs.length;\n\t\t\t\t\twhile ( i-- ) {\n\n\t\t\t\t\t\t// Support: IE 11 only\n\t\t\t\t\t\t// The attrs elements can be null (trac-14894)\n\t\t\t\t\t\tif ( attrs[ i ] ) {\n\t\t\t\t\t\t\tname = attrs[ i ].name;\n\t\t\t\t\t\t\tif ( name.indexOf( \"data-\" ) === 0 ) {\n\t\t\t\t\t\t\t\tname = camelCase( name.slice( 5 ) );\n\t\t\t\t\t\t\t\tdataAttr( elem, name, data[ name ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tdataPriv.set( elem, \"hasDataAttrs\", true );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn data;\n\t\t}\n\n\t\t// Sets multiple values\n\t\tif ( typeof key === \"object\" ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tdataUser.set( this, key );\n\t\t\t} );\n\t\t}\n\n\t\treturn access( this, function( value ) {\n\t\t\tvar data;\n\n\t\t\t// The calling jQuery object (element matches) is not empty\n\t\t\t// (and therefore has an element appears at this[ 0 ]) and the\n\t\t\t// `value` parameter was not undefined. An empty jQuery object\n\t\t\t// will result in `undefined` for elem = this[ 0 ] which will\n\t\t\t// throw an exception if an attempt to read a data cache is made.\n\t\t\tif ( elem && value === undefined ) {\n\n\t\t\t\t// Attempt to get data from the cache\n\t\t\t\t// The key will always be camelCased in Data\n\t\t\t\tdata = dataUser.get( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// Attempt to \"discover\" the data in\n\t\t\t\t// HTML5 custom data-* attrs\n\t\t\t\tdata = dataAttr( elem, key );\n\t\t\t\tif ( data !== undefined ) {\n\t\t\t\t\treturn data;\n\t\t\t\t}\n\n\t\t\t\t// We tried really hard, but the data doesn't exist.\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the data...\n\t\t\tthis.each( function() {\n\n\t\t\t\t// We always store the camelCased key\n\t\t\t\tdataUser.set( this, key, value );\n\t\t\t} );\n\t\t}, null, value, arguments.length > 1, null, true );\n\t},\n\n\tremoveData: function( key ) {\n\t\treturn this.each( function() {\n\t\t\tdataUser.remove( this, key );\n\t\t} );\n\t}\n} );\n\n\njQuery.extend( {\n\tqueue: function( elem, type, data ) {\n\t\tvar queue;\n\n\t\tif ( elem ) {\n\t\t\ttype = ( type || \"fx\" ) + \"queue\";\n\t\t\tqueue = dataPriv.get( elem, type );\n\n\t\t\t// Speed up dequeue by getting out quickly if this is just a lookup\n\t\t\tif ( data ) {\n\t\t\t\tif ( !queue || Array.isArray( data ) ) {\n\t\t\t\t\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\n\t\t\t\t} else {\n\t\t\t\t\tqueue.push( data );\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn queue || [];\n\t\t}\n\t},\n\n\tdequeue: function( elem, type ) {\n\t\ttype = type || \"fx\";\n\n\t\tvar queue = jQuery.queue( elem, type ),\n\t\t\tstartLength = queue.length,\n\t\t\tfn = queue.shift(),\n\t\t\thooks = jQuery._queueHooks( elem, type ),\n\t\t\tnext = function() {\n\t\t\t\tjQuery.dequeue( elem, type );\n\t\t\t};\n\n\t\t// If the fx queue is dequeued, always remove the progress sentinel\n\t\tif ( fn === \"inprogress\" ) {\n\t\t\tfn = queue.shift();\n\t\t\tstartLength--;\n\t\t}\n\n\t\tif ( fn ) {\n\n\t\t\t// Add a progress sentinel to prevent the fx queue from being\n\t\t\t// automatically dequeued\n\t\t\tif ( type === \"fx\" ) {\n\t\t\t\tqueue.unshift( \"inprogress\" );\n\t\t\t}\n\n\t\t\t// Clear up the last queue stop function\n\t\t\tdelete hooks.stop;\n\t\t\tfn.call( elem, next, hooks );\n\t\t}\n\n\t\tif ( !startLength && hooks ) {\n\t\t\thooks.empty.fire();\n\t\t}\n\t},\n\n\t// Not public - generate a queueHooks object, or return the current one\n\t_queueHooks: function( elem, type ) {\n\t\tvar key = type + \"queueHooks\";\n\t\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\n\t\t\tempty: jQuery.Callbacks( \"once memory\" ).add( function() {\n\t\t\t\tdataPriv.remove( elem, [ type + \"queue\", key ] );\n\t\t\t} )\n\t\t} );\n\t}\n} );\n\njQuery.fn.extend( {\n\tqueue: function( type, data ) {\n\t\tvar setter = 2;\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tdata = type;\n\t\t\ttype = \"fx\";\n\t\t\tsetter--;\n\t\t}\n\n\t\tif ( arguments.length < setter ) {\n\t\t\treturn jQuery.queue( this[ 0 ], type );\n\t\t}\n\n\t\treturn data === undefined ?\n\t\t\tthis :\n\t\t\tthis.each( function() {\n\t\t\t\tvar queue = jQuery.queue( this, type, data );\n\n\t\t\t\t// Ensure a hooks for this queue\n\t\t\t\tjQuery._queueHooks( this, type );\n\n\t\t\t\tif ( type === \"fx\" && queue[ 0 ] !== \"inprogress\" ) {\n\t\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t\t}\n\t\t\t} );\n\t},\n\tdequeue: function( type ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.dequeue( this, type );\n\t\t} );\n\t},\n\tclearQueue: function( type ) {\n\t\treturn this.queue( type || \"fx\", [] );\n\t},\n\n\t// Get a promise resolved when queues of a certain type\n\t// are emptied (fx is the type by default)\n\tpromise: function( type, obj ) {\n\t\tvar tmp,\n\t\t\tcount = 1,\n\t\t\tdefer = jQuery.Deferred(),\n\t\t\telements = this,\n\t\t\ti = this.length,\n\t\t\tresolve = function() {\n\t\t\t\tif ( !( --count ) ) {\n\t\t\t\t\tdefer.resolveWith( elements, [ elements ] );\n\t\t\t\t}\n\t\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tobj = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\ttype = type || \"fx\";\n\n\t\twhile ( i-- ) {\n\t\t\ttmp = dataPriv.get( elements[ i ], type + \"queueHooks\" );\n\t\t\tif ( tmp && tmp.empty ) {\n\t\t\t\tcount++;\n\t\t\t\ttmp.empty.add( resolve );\n\t\t\t}\n\t\t}\n\t\tresolve();\n\t\treturn defer.promise( obj );\n\t}\n} );\nvar pnum = ( /[+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|)/ ).source;\n\nvar rcssNum = new RegExp( \"^(?:([+-])=|)(\" + pnum + \")([a-z%]*)$\", \"i\" );\n\n\nvar cssExpand = [ \"Top\", \"Right\", \"Bottom\", \"Left\" ];\n\nvar documentElement = document.documentElement;\n\n\n\n\tvar isAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem );\n\t\t},\n\t\tcomposed = { composed: true };\n\n\t// Support: IE 9 - 11+, Edge 12 - 18+, iOS 10.0 - 10.2 only\n\t// Check attachment across shadow DOM boundaries when possible (gh-3504)\n\t// Support: iOS 10.0-10.2 only\n\t// Early iOS 10 versions support `attachShadow` but not `getRootNode`,\n\t// leading to errors. We need to check for `getRootNode`.\n\tif ( documentElement.getRootNode ) {\n\t\tisAttached = function( elem ) {\n\t\t\treturn jQuery.contains( elem.ownerDocument, elem ) ||\n\t\t\t\telem.getRootNode( composed ) === elem.ownerDocument;\n\t\t};\n\t}\nvar isHiddenWithinTree = function( elem, el ) {\n\n\t\t// isHiddenWithinTree might be called from jQuery#filter function;\n\t\t// in that case, element will be second argument\n\t\telem = el || elem;\n\n\t\t// Inline style trumps all\n\t\treturn elem.style.display === \"none\" ||\n\t\t\telem.style.display === \"\" &&\n\n\t\t\t// Otherwise, check computed style\n\t\t\t// Support: Firefox <=43 - 45\n\t\t\t// Disconnected elements can have computed display: none, so first confirm that elem is\n\t\t\t// in the document.\n\t\t\tisAttached( elem ) &&\n\n\t\t\tjQuery.css( elem, \"display\" ) === \"none\";\n\t};\n\n\n\nfunction adjustCSS( elem, prop, valueParts, tween ) {\n\tvar adjusted, scale,\n\t\tmaxIterations = 20,\n\t\tcurrentValue = tween ?\n\t\t\tfunction() {\n\t\t\t\treturn tween.cur();\n\t\t\t} :\n\t\t\tfunction() {\n\t\t\t\treturn jQuery.css( elem, prop, \"\" );\n\t\t\t},\n\t\tinitial = currentValue(),\n\t\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" ),\n\n\t\t// Starting value computation is required for potential unit mismatches\n\t\tinitialInUnit = elem.nodeType &&\n\t\t\t( jQuery.cssNumber[ prop ] || unit !== \"px\" && +initial ) &&\n\t\t\trcssNum.exec( jQuery.css( elem, prop ) );\n\n\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\n\n\t\t// Support: Firefox <=54\n\t\t// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)\n\t\tinitial = initial / 2;\n\n\t\t// Trust units reported by jQuery.css\n\t\tunit = unit || initialInUnit[ 3 ];\n\n\t\t// Iteratively approximate from a nonzero starting point\n\t\tinitialInUnit = +initial || 1;\n\n\t\twhile ( maxIterations-- ) {\n\n\t\t\t// Evaluate and update our best guess (doubling guesses that zero out).\n\t\t\t// Finish if the scale equals or crosses 1 (making the old*new product non-positive).\n\t\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\t\t\tif ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {\n\t\t\t\tmaxIterations = 0;\n\t\t\t}\n\t\t\tinitialInUnit = initialInUnit / scale;\n\n\t\t}\n\n\t\tinitialInUnit = initialInUnit * 2;\n\t\tjQuery.style( elem, prop, initialInUnit + unit );\n\n\t\t// Make sure we update the tween properties later on\n\t\tvalueParts = valueParts || [];\n\t}\n\n\tif ( valueParts ) {\n\t\tinitialInUnit = +initialInUnit || +initial || 0;\n\n\t\t// Apply relative offset (+=/-=) if specified\n\t\tadjusted = valueParts[ 1 ] ?\n\t\t\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\n\t\t\t+valueParts[ 2 ];\n\t\tif ( tween ) {\n\t\t\ttween.unit = unit;\n\t\t\ttween.start = initialInUnit;\n\t\t\ttween.end = adjusted;\n\t\t}\n\t}\n\treturn adjusted;\n}\n\n\nvar defaultDisplayMap = {};\n\nfunction getDefaultDisplay( elem ) {\n\tvar temp,\n\t\tdoc = elem.ownerDocument,\n\t\tnodeName = elem.nodeName,\n\t\tdisplay = defaultDisplayMap[ nodeName ];\n\n\tif ( display ) {\n\t\treturn display;\n\t}\n\n\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\n\tdisplay = jQuery.css( temp, \"display\" );\n\n\ttemp.parentNode.removeChild( temp );\n\n\tif ( display === \"none\" ) {\n\t\tdisplay = \"block\";\n\t}\n\tdefaultDisplayMap[ nodeName ] = display;\n\n\treturn display;\n}\n\nfunction showHide( elements, show ) {\n\tvar display, elem,\n\t\tvalues = [],\n\t\tindex = 0,\n\t\tlength = elements.length;\n\n\t// Determine new display value for elements that need to change\n\tfor ( ; index < length; index++ ) {\n\t\telem = elements[ index ];\n\t\tif ( !elem.style ) {\n\t\t\tcontinue;\n\t\t}\n\n\t\tdisplay = elem.style.display;\n\t\tif ( show ) {\n\n\t\t\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\n\t\t\t// check is required in this first loop unless we have a nonempty display value (either\n\t\t\t// inline or about-to-be-restored)\n\t\t\tif ( display === \"none\" ) {\n\t\t\t\tvalues[ index ] = dataPriv.get( elem, \"display\" ) || null;\n\t\t\t\tif ( !values[ index ] ) {\n\t\t\t\t\telem.style.display = \"\";\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( elem.style.display === \"\" && isHiddenWithinTree( elem ) ) {\n\t\t\t\tvalues[ index ] = getDefaultDisplay( elem );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( display !== \"none\" ) {\n\t\t\t\tvalues[ index ] = \"none\";\n\n\t\t\t\t// Remember what we're overwriting\n\t\t\t\tdataPriv.set( elem, \"display\", display );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Set the display of the elements in a second loop to avoid constant reflow\n\tfor ( index = 0; index < length; index++ ) {\n\t\tif ( values[ index ] != null ) {\n\t\t\telements[ index ].style.display = values[ index ];\n\t\t}\n\t}\n\n\treturn elements;\n}\n\njQuery.fn.extend( {\n\tshow: function() {\n\t\treturn showHide( this, true );\n\t},\n\thide: function() {\n\t\treturn showHide( this );\n\t},\n\ttoggle: function( state ) {\n\t\tif ( typeof state === \"boolean\" ) {\n\t\t\treturn state ? this.show() : this.hide();\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tif ( isHiddenWithinTree( this ) ) {\n\t\t\t\tjQuery( this ).show();\n\t\t\t} else {\n\t\t\t\tjQuery( this ).hide();\n\t\t\t}\n\t\t} );\n\t}\n} );\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\n\nvar rtagName = ( /<([a-z][^\\/\\0>\\x20\\t\\r\\n\\f]*)/i );\n\nvar rscriptType = ( /^$|^module$|\\/(?:java|ecma)script/i );\n\n\n\n( function() {\n\tvar fragment = document.createDocumentFragment(),\n\t\tdiv = fragment.appendChild( document.createElement( \"div\" ) ),\n\t\tinput = document.createElement( \"input\" );\n\n\t// Support: Android 4.0 - 4.3 only\n\t// Check state lost if the name is set (trac-11217)\n\t// Support: Windows Web Apps (WWA)\n\t// `name` and `type` must use .setAttribute for WWA (trac-14901)\n\tinput.setAttribute( \"type\", \"radio\" );\n\tinput.setAttribute( \"checked\", \"checked\" );\n\tinput.setAttribute( \"name\", \"t\" );\n\n\tdiv.appendChild( input );\n\n\t// Support: Android <=4.1 only\n\t// Older WebKit doesn't clone checked state correctly in fragments\n\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\n\n\t// Support: IE <=11 only\n\t// Make sure textarea (and checkbox) defaultValue is properly cloned\n\tdiv.innerHTML = \"<textarea>x</textarea>\";\n\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\n\n\t// Support: IE <=9 only\n\t// IE <=9 replaces <option> tags with their contents when inserted outside of\n\t// the select element.\n\tdiv.innerHTML = \"<option></option>\";\n\tsupport.option = !!div.lastChild;\n} )();\n\n\n// We have to close these tags to support XHTML (trac-13200)\nvar wrapMap = {\n\n\t// XHTML parsers do not magically insert elements in the\n\t// same way that tag soup parsers do. So we cannot shorten\n\t// this by omitting <tbody> or other required elements.\n\tthead: [ 1, \"<table>\", \"</table>\" ],\n\tcol: [ 2, \"<table><colgroup>\", \"</colgroup></table>\" ],\n\ttr: [ 2, \"<table><tbody>\", \"</tbody></table>\" ],\n\ttd: [ 3, \"<table><tbody><tr>\", \"</tr></tbody></table>\" ],\n\n\t_default: [ 0, \"\", \"\" ]\n};\n\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\nwrapMap.th = wrapMap.td;\n\n// Support: IE <=9 only\nif ( !support.option ) {\n\twrapMap.optgroup = wrapMap.option = [ 1, \"<select multiple='multiple'>\", \"</select>\" ];\n}\n\n\nfunction getAll( context, tag ) {\n\n\t// Support: IE <=9 - 11 only\n\t// Use typeof to avoid zero-argument method invocation on host objects (trac-15151)\n\tvar ret;\n\n\tif ( typeof context.getElementsByTagName !== \"undefined\" ) {\n\t\tret = context.getElementsByTagName( tag || \"*\" );\n\n\t} else if ( typeof context.querySelectorAll !== \"undefined\" ) {\n\t\tret = context.querySelectorAll( tag || \"*\" );\n\n\t} else {\n\t\tret = [];\n\t}\n\n\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\n\t\treturn jQuery.merge( [ context ], ret );\n\t}\n\n\treturn ret;\n}\n\n\n// Mark scripts as having already been evaluated\nfunction setGlobalEval( elems, refElements ) {\n\tvar i = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\tdataPriv.set(\n\t\t\telems[ i ],\n\t\t\t\"globalEval\",\n\t\t\t!refElements || dataPriv.get( refElements[ i ], \"globalEval\" )\n\t\t);\n\t}\n}\n\n\nvar rhtml = /<|&#?\\w+;/;\n\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\n\tvar elem, tmp, tag, wrap, attached, j,\n\t\tfragment = context.createDocumentFragment(),\n\t\tnodes = [],\n\t\ti = 0,\n\t\tl = elems.length;\n\n\tfor ( ; i < l; i++ ) {\n\t\telem = elems[ i ];\n\n\t\tif ( elem || elem === 0 ) {\n\n\t\t\t// Add nodes directly\n\t\t\tif ( toType( elem ) === \"object\" ) {\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\n\n\t\t\t// Convert non-html into a text node\n\t\t\t} else if ( !rhtml.test( elem ) ) {\n\t\t\t\tnodes.push( context.createTextNode( elem ) );\n\n\t\t\t// Convert html into DOM nodes\n\t\t\t} else {\n\t\t\t\ttmp = tmp || fragment.appendChild( context.createElement( \"div\" ) );\n\n\t\t\t\t// Deserialize a standard representation\n\t\t\t\ttag = ( rtagName.exec( elem ) || [ \"\", \"\" ] )[ 1 ].toLowerCase();\n\t\t\t\twrap = wrapMap[ tag ] || wrapMap._default;\n\t\t\t\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\n\n\t\t\t\t// Descend through wrappers to the right content\n\t\t\t\tj = wrap[ 0 ];\n\t\t\t\twhile ( j-- ) {\n\t\t\t\t\ttmp = tmp.lastChild;\n\t\t\t\t}\n\n\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\tjQuery.merge( nodes, tmp.childNodes );\n\n\t\t\t\t// Remember the top-level container\n\t\t\t\ttmp = fragment.firstChild;\n\n\t\t\t\t// Ensure the created nodes are orphaned (trac-12392)\n\t\t\t\ttmp.textContent = \"\";\n\t\t\t}\n\t\t}\n\t}\n\n\t// Remove wrapper from fragment\n\tfragment.textContent = \"\";\n\n\ti = 0;\n\twhile ( ( elem = nodes[ i++ ] ) ) {\n\n\t\t// Skip elements already in the context collection (trac-4087)\n\t\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\n\t\t\tif ( ignored ) {\n\t\t\t\tignored.push( elem );\n\t\t\t}\n\t\t\tcontinue;\n\t\t}\n\n\t\tattached = isAttached( elem );\n\n\t\t// Append to fragment\n\t\ttmp = getAll( fragment.appendChild( elem ), \"script\" );\n\n\t\t// Preserve script evaluation history\n\t\tif ( attached ) {\n\t\t\tsetGlobalEval( tmp );\n\t\t}\n\n\t\t// Capture executables\n\t\tif ( scripts ) {\n\t\t\tj = 0;\n\t\t\twhile ( ( elem = tmp[ j++ ] ) ) {\n\t\t\t\tif ( rscriptType.test( elem.type || \"\" ) ) {\n\t\t\t\t\tscripts.push( elem );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn fragment;\n}\n\n\nvar rtypenamespace = /^([^.]*)(?:\\.(.+)|)/;\n\nfunction returnTrue() {\n\treturn true;\n}\n\nfunction returnFalse() {\n\treturn false;\n}\n\nfunction on( elem, types, selector, data, fn, one ) {\n\tvar origFn, type;\n\n\t// Types can be a map of types/handlers\n\tif ( typeof types === \"object\" ) {\n\n\t\t// ( types-Object, selector, data )\n\t\tif ( typeof selector !== \"string\" ) {\n\n\t\t\t// ( types-Object, data )\n\t\t\tdata = data || selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tfor ( type in types ) {\n\t\t\ton( elem, type, selector, data, types[ type ], one );\n\t\t}\n\t\treturn elem;\n\t}\n\n\tif ( data == null && fn == null ) {\n\n\t\t// ( types, fn )\n\t\tfn = selector;\n\t\tdata = selector = undefined;\n\t} else if ( fn == null ) {\n\t\tif ( typeof selector === \"string\" ) {\n\n\t\t\t// ( types, selector, fn )\n\t\t\tfn = data;\n\t\t\tdata = undefined;\n\t\t} else {\n\n\t\t\t// ( types, data, fn )\n\t\t\tfn = data;\n\t\t\tdata = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t}\n\tif ( fn === false ) {\n\t\tfn = returnFalse;\n\t} else if ( !fn ) {\n\t\treturn elem;\n\t}\n\n\tif ( one === 1 ) {\n\t\torigFn = fn;\n\t\tfn = function( event ) {\n\n\t\t\t// Can use an empty set, since event contains the info\n\t\t\tjQuery().off( event );\n\t\t\treturn origFn.apply( this, arguments );\n\t\t};\n\n\t\t// Use same guid so caller can remove using origFn\n\t\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\n\t}\n\treturn elem.each( function() {\n\t\tjQuery.event.add( this, types, fn, data, selector );\n\t} );\n}\n\n/*\n * Helper functions for managing events -- not part of the public interface.\n * Props to Dean Edwards' addEvent library for many of the ideas.\n */\njQuery.event = {\n\n\tglobal: {},\n\n\tadd: function( elem, types, handler, data, selector ) {\n\n\t\tvar handleObjIn, eventHandle, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.get( elem );\n\n\t\t// Only attach events to objects that accept data\n\t\tif ( !acceptData( elem ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Caller can pass in an object of custom data in lieu of the handler\n\t\tif ( handler.handler ) {\n\t\t\thandleObjIn = handler;\n\t\t\thandler = handleObjIn.handler;\n\t\t\tselector = handleObjIn.selector;\n\t\t}\n\n\t\t// Ensure that invalid selectors throw exceptions at attach time\n\t\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\n\t\tif ( selector ) {\n\t\t\tjQuery.find.matchesSelector( documentElement, selector );\n\t\t}\n\n\t\t// Make sure that the handler has a unique ID, used to find/remove it later\n\t\tif ( !handler.guid ) {\n\t\t\thandler.guid = jQuery.guid++;\n\t\t}\n\n\t\t// Init the element's event structure and main handler, if this is the first\n\t\tif ( !( events = elemData.events ) ) {\n\t\t\tevents = elemData.events = Object.create( null );\n\t\t}\n\t\tif ( !( eventHandle = elemData.handle ) ) {\n\t\t\teventHandle = elemData.handle = function( e ) {\n\n\t\t\t\t// Discard the second event of a jQuery.event.trigger() and\n\t\t\t\t// when an event is called after a page has unloaded\n\t\t\t\treturn typeof jQuery !== \"undefined\" && jQuery.event.triggered !== e.type ?\n\t\t\t\t\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\n\t\t\t};\n\t\t}\n\n\t\t// Handle multiple events separated by a space\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// There *must* be a type, no attaching namespace-only handlers\n\t\t\tif ( !type ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// If event changes its type, use the special event handlers for the changed type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// If selector defined, determine special event api type, otherwise given type\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\n\t\t\t// Update special based on newly reset type\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\n\t\t\t// handleObj is passed to all event handlers\n\t\t\thandleObj = jQuery.extend( {\n\t\t\t\ttype: type,\n\t\t\t\torigType: origType,\n\t\t\t\tdata: data,\n\t\t\t\thandler: handler,\n\t\t\t\tguid: handler.guid,\n\t\t\t\tselector: selector,\n\t\t\t\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\n\t\t\t\tnamespace: namespaces.join( \".\" )\n\t\t\t}, handleObjIn );\n\n\t\t\t// Init the event handler queue if we're the first\n\t\t\tif ( !( handlers = events[ type ] ) ) {\n\t\t\t\thandlers = events[ type ] = [];\n\t\t\t\thandlers.delegateCount = 0;\n\n\t\t\t\t// Only use addEventListener if the special events handler returns false\n\t\t\t\tif ( !special.setup ||\n\t\t\t\t\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\n\n\t\t\t\t\tif ( elem.addEventListener ) {\n\t\t\t\t\t\telem.addEventListener( type, eventHandle );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( special.add ) {\n\t\t\t\tspecial.add.call( elem, handleObj );\n\n\t\t\t\tif ( !handleObj.handler.guid ) {\n\t\t\t\t\thandleObj.handler.guid = handler.guid;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Add to the element's handler list, delegates in front\n\t\t\tif ( selector ) {\n\t\t\t\thandlers.splice( handlers.delegateCount++, 0, handleObj );\n\t\t\t} else {\n\t\t\t\thandlers.push( handleObj );\n\t\t\t}\n\n\t\t\t// Keep track of which events have ever been used, for event optimization\n\t\t\tjQuery.event.global[ type ] = true;\n\t\t}\n\n\t},\n\n\t// Detach an event or set of events from an element\n\tremove: function( elem, types, handler, selector, mappedTypes ) {\n\n\t\tvar j, origCount, tmp,\n\t\t\tevents, t, handleObj,\n\t\t\tspecial, handlers, type, namespaces, origType,\n\t\t\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\n\n\t\tif ( !elemData || !( events = elemData.events ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once for each type.namespace in types; type may be omitted\n\t\ttypes = ( types || \"\" ).match( rnothtmlwhite ) || [ \"\" ];\n\t\tt = types.length;\n\t\twhile ( t-- ) {\n\t\t\ttmp = rtypenamespace.exec( types[ t ] ) || [];\n\t\t\ttype = origType = tmp[ 1 ];\n\t\t\tnamespaces = ( tmp[ 2 ] || \"\" ).split( \".\" ).sort();\n\n\t\t\t// Unbind all events (on this namespace, if provided) for the element\n\t\t\tif ( !type ) {\n\t\t\t\tfor ( type in events ) {\n\t\t\t\t\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\n\t\t\t\t}\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tspecial = jQuery.event.special[ type ] || {};\n\t\t\ttype = ( selector ? special.delegateType : special.bindType ) || type;\n\t\t\thandlers = events[ type ] || [];\n\t\t\ttmp = tmp[ 2 ] &&\n\t\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" );\n\n\t\t\t// Remove matching events\n\t\t\torigCount = j = handlers.length;\n\t\t\twhile ( j-- ) {\n\t\t\t\thandleObj = handlers[ j ];\n\n\t\t\t\tif ( ( mappedTypes || origType === handleObj.origType ) &&\n\t\t\t\t\t( !handler || handler.guid === handleObj.guid ) &&\n\t\t\t\t\t( !tmp || tmp.test( handleObj.namespace ) ) &&\n\t\t\t\t\t( !selector || selector === handleObj.selector ||\n\t\t\t\t\t\tselector === \"**\" && handleObj.selector ) ) {\n\t\t\t\t\thandlers.splice( j, 1 );\n\n\t\t\t\t\tif ( handleObj.selector ) {\n\t\t\t\t\t\thandlers.delegateCount--;\n\t\t\t\t\t}\n\t\t\t\t\tif ( special.remove ) {\n\t\t\t\t\t\tspecial.remove.call( elem, handleObj );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Remove generic event handler if we removed something and no more handlers exist\n\t\t\t// (avoids potential for endless recursion during removal of special event handlers)\n\t\t\tif ( origCount && !handlers.length ) {\n\t\t\t\tif ( !special.teardown ||\n\t\t\t\t\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\n\n\t\t\t\t\tjQuery.removeEvent( elem, type, elemData.handle );\n\t\t\t\t}\n\n\t\t\t\tdelete events[ type ];\n\t\t\t}\n\t\t}\n\n\t\t// Remove data and the expando if it's no longer used\n\t\tif ( jQuery.isEmptyObject( events ) ) {\n\t\t\tdataPriv.remove( elem, \"handle events\" );\n\t\t}\n\t},\n\n\tdispatch: function( nativeEvent ) {\n\n\t\tvar i, j, ret, matched, handleObj, handlerQueue,\n\t\t\targs = new Array( arguments.length ),\n\n\t\t\t// Make a writable jQuery.Event from the native event object\n\t\t\tevent = jQuery.event.fix( nativeEvent ),\n\n\t\t\thandlers = (\n\t\t\t\tdataPriv.get( this, \"events\" ) || Object.create( null )\n\t\t\t)[ event.type ] || [],\n\t\t\tspecial = jQuery.event.special[ event.type ] || {};\n\n\t\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\n\t\targs[ 0 ] = event;\n\n\t\tfor ( i = 1; i < arguments.length; i++ ) {\n\t\t\targs[ i ] = arguments[ i ];\n\t\t}\n\n\t\tevent.delegateTarget = this;\n\n\t\t// Call the preDispatch hook for the mapped type, and let it bail if desired\n\t\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine handlers\n\t\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\n\n\t\t// Run delegates first; they may want to stop propagation beneath us\n\t\ti = 0;\n\t\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tevent.currentTarget = matched.elem;\n\n\t\t\tj = 0;\n\t\t\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\n\t\t\t\t!event.isImmediatePropagationStopped() ) {\n\n\t\t\t\t// If the event is namespaced, then each handler is only invoked if it is\n\t\t\t\t// specially universal or its namespaces are a superset of the event's.\n\t\t\t\tif ( !event.rnamespace || handleObj.namespace === false ||\n\t\t\t\t\tevent.rnamespace.test( handleObj.namespace ) ) {\n\n\t\t\t\t\tevent.handleObj = handleObj;\n\t\t\t\t\tevent.data = handleObj.data;\n\n\t\t\t\t\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\n\t\t\t\t\t\thandleObj.handler ).apply( matched.elem, args );\n\n\t\t\t\t\tif ( ret !== undefined ) {\n\t\t\t\t\t\tif ( ( event.result = ret ) === false ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Call the postDispatch hook for the mapped type\n\t\tif ( special.postDispatch ) {\n\t\t\tspecial.postDispatch.call( this, event );\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\thandlers: function( event, handlers ) {\n\t\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\n\t\t\thandlerQueue = [],\n\t\t\tdelegateCount = handlers.delegateCount,\n\t\t\tcur = event.target;\n\n\t\t// Find delegate handlers\n\t\tif ( delegateCount &&\n\n\t\t\t// Support: IE <=9\n\t\t\t// Black-hole SVG <use> instance trees (trac-13180)\n\t\t\tcur.nodeType &&\n\n\t\t\t// Support: Firefox <=42\n\t\t\t// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)\n\t\t\t// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click\n\t\t\t// Support: IE 11 only\n\t\t\t// ...but not arrow key \"clicks\" of radio inputs, which can have `button` -1 (gh-2343)\n\t\t\t!( event.type === \"click\" && event.button >= 1 ) ) {\n\n\t\t\tfor ( ; cur !== this; cur = cur.parentNode || this ) {\n\n\t\t\t\t// Don't check non-elements (trac-13208)\n\t\t\t\t// Don't process clicks on disabled elements (trac-6911, trac-8165, trac-11382, trac-11764)\n\t\t\t\tif ( cur.nodeType === 1 && !( event.type === \"click\" && cur.disabled === true ) ) {\n\t\t\t\t\tmatchedHandlers = [];\n\t\t\t\t\tmatchedSelectors = {};\n\t\t\t\t\tfor ( i = 0; i < delegateCount; i++ ) {\n\t\t\t\t\t\thandleObj = handlers[ i ];\n\n\t\t\t\t\t\t// Don't conflict with Object.prototype properties (trac-13203)\n\t\t\t\t\t\tsel = handleObj.selector + \" \";\n\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] === undefined ) {\n\t\t\t\t\t\t\tmatchedSelectors[ sel ] = handleObj.needsContext ?\n\t\t\t\t\t\t\t\tjQuery( sel, this ).index( cur ) > -1 :\n\t\t\t\t\t\t\t\tjQuery.find( sel, this, null, [ cur ] ).length;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif ( matchedSelectors[ sel ] ) {\n\t\t\t\t\t\t\tmatchedHandlers.push( handleObj );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tif ( matchedHandlers.length ) {\n\t\t\t\t\t\thandlerQueue.push( { elem: cur, handlers: matchedHandlers } );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// Add the remaining (directly-bound) handlers\n\t\tcur = this;\n\t\tif ( delegateCount < handlers.length ) {\n\t\t\thandlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );\n\t\t}\n\n\t\treturn handlerQueue;\n\t},\n\n\taddProp: function( name, hook ) {\n\t\tObject.defineProperty( jQuery.Event.prototype, name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\n\t\t\tget: isFunction( hook ) ?\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn hook( this.originalEvent );\n\t\t\t\t\t}\n\t\t\t\t} :\n\t\t\t\tfunction() {\n\t\t\t\t\tif ( this.originalEvent ) {\n\t\t\t\t\t\treturn this.originalEvent[ name ];\n\t\t\t\t\t}\n\t\t\t\t},\n\n\t\t\tset: function( value ) {\n\t\t\t\tObject.defineProperty( this, name, {\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tconfigurable: true,\n\t\t\t\t\twritable: true,\n\t\t\t\t\tvalue: value\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t},\n\n\tfix: function( originalEvent ) {\n\t\treturn originalEvent[ jQuery.expando ] ?\n\t\t\toriginalEvent :\n\t\t\tnew jQuery.Event( originalEvent );\n\t},\n\n\tspecial: {\n\t\tload: {\n\n\t\t\t// Prevent triggered image.load events from bubbling to window.load\n\t\t\tnoBubble: true\n\t\t},\n\t\tclick: {\n\n\t\t\t// Utilize native event to ensure correct state for checkable inputs\n\t\t\tsetup: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Claim the first handler\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\t// dataPriv.set( el, \"click\", ... )\n\t\t\t\t\tleverageNative( el, \"click\", true );\n\t\t\t\t}\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t},\n\t\t\ttrigger: function( data ) {\n\n\t\t\t\t// For mutual compressibility with _default, replace `this` access with a local var.\n\t\t\t\t// `|| data` is dead code meant only to preserve the variable through minification.\n\t\t\t\tvar el = this || data;\n\n\t\t\t\t// Force setup before triggering a click\n\t\t\t\tif ( rcheckableType.test( el.type ) &&\n\t\t\t\t\tel.click && nodeName( el, \"input\" ) ) {\n\n\t\t\t\t\tleverageNative( el, \"click\" );\n\t\t\t\t}\n\n\t\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\t// For cross-browser consistency, suppress native .click() on links\n\t\t\t// Also prevent it if we're currently inside a leveraged native-event stack\n\t\t\t_default: function( event ) {\n\t\t\t\tvar target = event.target;\n\t\t\t\treturn rcheckableType.test( target.type ) &&\n\t\t\t\t\ttarget.click && nodeName( target, \"input\" ) &&\n\t\t\t\t\tdataPriv.get( target, \"click\" ) ||\n\t\t\t\t\tnodeName( target, \"a\" );\n\t\t\t}\n\t\t},\n\n\t\tbeforeunload: {\n\t\t\tpostDispatch: function( event ) {\n\n\t\t\t\t// Support: Firefox 20+\n\t\t\t\t// Firefox doesn't alert if the returnValue field is not set.\n\t\t\t\tif ( event.result !== undefined && event.originalEvent ) {\n\t\t\t\t\tevent.originalEvent.returnValue = event.result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Ensure the presence of an event listener that handles manually-triggered\n// synthetic events by interrupting progress until reinvoked in response to\n// *native* events that it fires directly, ensuring that state changes have\n// already occurred before other listeners are invoked.\nfunction leverageNative( el, type, isSetup ) {\n\n\t// Missing `isSetup` indicates a trigger call, which must force setup through jQuery.event.add\n\tif ( !isSetup ) {\n\t\tif ( dataPriv.get( el, type ) === undefined ) {\n\t\t\tjQuery.event.add( el, type, returnTrue );\n\t\t}\n\t\treturn;\n\t}\n\n\t// Register the controller as a special universal handler for all event namespaces\n\tdataPriv.set( el, type, false );\n\tjQuery.event.add( el, type, {\n\t\tnamespace: false,\n\t\thandler: function( event ) {\n\t\t\tvar result,\n\t\t\t\tsaved = dataPriv.get( this, type );\n\n\t\t\tif ( ( event.isTrigger & 1 ) && this[ type ] ) {\n\n\t\t\t\t// Interrupt processing of the outer synthetic .trigger()ed event\n\t\t\t\tif ( !saved ) {\n\n\t\t\t\t\t// Store arguments for use when handling the inner native event\n\t\t\t\t\t// There will always be at least one argument (an event object), so this array\n\t\t\t\t\t// will not be confused with a leftover capture object.\n\t\t\t\t\tsaved = slice.call( arguments );\n\t\t\t\t\tdataPriv.set( this, type, saved );\n\n\t\t\t\t\t// Trigger the native event and capture its result\n\t\t\t\t\tthis[ type ]();\n\t\t\t\t\tresult = dataPriv.get( this, type );\n\t\t\t\t\tdataPriv.set( this, type, false );\n\n\t\t\t\t\tif ( saved !== result ) {\n\n\t\t\t\t\t\t// Cancel the outer synthetic event\n\t\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t\t\tevent.preventDefault();\n\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\n\t\t\t\t// If this is an inner synthetic event for an event with a bubbling surrogate\n\t\t\t\t// (focus or blur), assume that the surrogate already propagated from triggering\n\t\t\t\t// the native event and prevent that from happening again here.\n\t\t\t\t// This technically gets the ordering wrong w.r.t. to `.trigger()` (in which the\n\t\t\t\t// bubbling surrogate propagates *after* the non-bubbling base), but that seems\n\t\t\t\t// less bad than duplication.\n\t\t\t\t} else if ( ( jQuery.event.special[ type ] || {} ).delegateType ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t// If this is a native event triggered above, everything is now in order\n\t\t\t// Fire an inner synthetic event with the original arguments\n\t\t\t} else if ( saved ) {\n\n\t\t\t\t// ...and capture the result\n\t\t\t\tdataPriv.set( this, type, jQuery.event.trigger(\n\t\t\t\t\tsaved[ 0 ],\n\t\t\t\t\tsaved.slice( 1 ),\n\t\t\t\t\tthis\n\t\t\t\t) );\n\n\t\t\t\t// Abort handling of the native event by all jQuery handlers while allowing\n\t\t\t\t// native handlers on the same element to run. On target, this is achieved\n\t\t\t\t// by stopping immediate propagation just on the jQuery event. However,\n\t\t\t\t// the native event is re-wrapped by a jQuery one on each level of the\n\t\t\t\t// propagation so the only way to stop it for jQuery is to stop it for\n\t\t\t\t// everyone via native `stopPropagation()`. This is not a problem for\n\t\t\t\t// focus/blur which don't bubble, but it does also stop click on checkboxes\n\t\t\t\t// and radios. We accept this limitation.\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tevent.isImmediatePropagationStopped = returnTrue;\n\t\t\t}\n\t\t}\n\t} );\n}\n\njQuery.removeEvent = function( elem, type, handle ) {\n\n\t// This \"if\" is needed for plain objects\n\tif ( elem.removeEventListener ) {\n\t\telem.removeEventListener( type, handle );\n\t}\n};\n\njQuery.Event = function( src, props ) {\n\n\t// Allow instantiation without the 'new' keyword\n\tif ( !( this instanceof jQuery.Event ) ) {\n\t\treturn new jQuery.Event( src, props );\n\t}\n\n\t// Event object\n\tif ( src && src.type ) {\n\t\tthis.originalEvent = src;\n\t\tthis.type = src.type;\n\n\t\t// Events bubbling up the document may have been marked as prevented\n\t\t// by a handler lower down the tree; reflect the correct value.\n\t\tthis.isDefaultPrevented = src.defaultPrevented ||\n\t\t\t\tsrc.defaultPrevented === undefined &&\n\n\t\t\t\t// Support: Android <=2.3 only\n\t\t\t\tsrc.returnValue === false ?\n\t\t\treturnTrue :\n\t\t\treturnFalse;\n\n\t\t// Create target properties\n\t\t// Support: Safari <=6 - 7 only\n\t\t// Target should not be a text node (trac-504, trac-13143)\n\t\tthis.target = ( src.target && src.target.nodeType === 3 ) ?\n\t\t\tsrc.target.parentNode :\n\t\t\tsrc.target;\n\n\t\tthis.currentTarget = src.currentTarget;\n\t\tthis.relatedTarget = src.relatedTarget;\n\n\t// Event type\n\t} else {\n\t\tthis.type = src;\n\t}\n\n\t// Put explicitly provided properties onto the event object\n\tif ( props ) {\n\t\tjQuery.extend( this, props );\n\t}\n\n\t// Create a timestamp if incoming event doesn't have one\n\tthis.timeStamp = src && src.timeStamp || Date.now();\n\n\t// Mark it as fixed\n\tthis[ jQuery.expando ] = true;\n};\n\n// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding\n// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html\njQuery.Event.prototype = {\n\tconstructor: jQuery.Event,\n\tisDefaultPrevented: returnFalse,\n\tisPropagationStopped: returnFalse,\n\tisImmediatePropagationStopped: returnFalse,\n\tisSimulated: false,\n\n\tpreventDefault: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isDefaultPrevented = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.preventDefault();\n\t\t}\n\t},\n\tstopPropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isPropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopPropagation();\n\t\t}\n\t},\n\tstopImmediatePropagation: function() {\n\t\tvar e = this.originalEvent;\n\n\t\tthis.isImmediatePropagationStopped = returnTrue;\n\n\t\tif ( e && !this.isSimulated ) {\n\t\t\te.stopImmediatePropagation();\n\t\t}\n\n\t\tthis.stopPropagation();\n\t}\n};\n\n// Includes all common event props including KeyEvent and MouseEvent specific props\njQuery.each( {\n\taltKey: true,\n\tbubbles: true,\n\tcancelable: true,\n\tchangedTouches: true,\n\tctrlKey: true,\n\tdetail: true,\n\teventPhase: true,\n\tmetaKey: true,\n\tpageX: true,\n\tpageY: true,\n\tshiftKey: true,\n\tview: true,\n\t\"char\": true,\n\tcode: true,\n\tcharCode: true,\n\tkey: true,\n\tkeyCode: true,\n\tbutton: true,\n\tbuttons: true,\n\tclientX: true,\n\tclientY: true,\n\toffsetX: true,\n\toffsetY: true,\n\tpointerId: true,\n\tpointerType: true,\n\tscreenX: true,\n\tscreenY: true,\n\ttargetTouches: true,\n\ttoElement: true,\n\ttouches: true,\n\twhich: true\n}, jQuery.event.addProp );\n\njQuery.each( { focus: \"focusin\", blur: \"focusout\" }, function( type, delegateType ) {\n\n\tfunction focusMappedHandler( nativeEvent ) {\n\t\tif ( document.documentMode ) {\n\n\t\t\t// Support: IE 11+\n\t\t\t// Attach a single focusin/focusout handler on the document while someone wants\n\t\t\t// focus/blur. This is because the former are synchronous in IE while the latter\n\t\t\t// are async. In other browsers, all those handlers are invoked synchronously.\n\n\t\t\t// `handle` from private data would already wrap the event, but we need\n\t\t\t// to change the `type` here.\n\t\t\tvar handle = dataPriv.get( this, \"handle\" ),\n\t\t\t\tevent = jQuery.event.fix( nativeEvent );\n\t\t\tevent.type = nativeEvent.type === \"focusin\" ? \"focus\" : \"blur\";\n\t\t\tevent.isSimulated = true;\n\n\t\t\t// First, handle focusin/focusout\n\t\t\thandle( nativeEvent );\n\n\t\t\t// ...then, handle focus/blur\n\t\t\t//\n\t\t\t// focus/blur don't bubble while focusin/focusout do; simulate the former by only\n\t\t\t// invoking the handler at the lower level.\n\t\t\tif ( event.target === event.currentTarget ) {\n\n\t\t\t\t// The setup part calls `leverageNative`, which, in turn, calls\n\t\t\t\t// `jQuery.event.add`, so event handle will already have been set\n\t\t\t\t// by this point.\n\t\t\t\thandle( event );\n\t\t\t}\n\t\t} else {\n\n\t\t\t// For non-IE browsers, attach a single capturing handler on the document\n\t\t\t// while someone wants focusin/focusout.\n\t\t\tjQuery.event.simulate( delegateType, nativeEvent.target,\n\t\t\t\tjQuery.event.fix( nativeEvent ) );\n\t\t}\n\t}\n\n\tjQuery.event.special[ type ] = {\n\n\t\t// Utilize native event if possible so blur/focus sequence is correct\n\t\tsetup: function() {\n\n\t\t\tvar attaches;\n\n\t\t\t// Claim the first handler\n\t\t\t// dataPriv.set( this, \"focus\", ... )\n\t\t\t// dataPriv.set( this, \"blur\", ... )\n\t\t\tleverageNative( this, type, true );\n\n\t\t\tif ( document.documentMode ) {\n\n\t\t\t\t// Support: IE 9 - 11+\n\t\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\n\t\t\t\t// so we need to coordinate setup & teardown parts between those events.\n\t\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\n\t\t\t\tattaches = dataPriv.get( this, delegateType );\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\n\t\t\t\t}\n\t\t\t\tdataPriv.set( this, delegateType, ( attaches || 0 ) + 1 );\n\t\t\t} else {\n\n\t\t\t\t// Return false to allow normal processing in the caller\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\t\ttrigger: function() {\n\n\t\t\t// Force setup before trigger\n\t\t\tleverageNative( this, type );\n\n\t\t\t// Return non-false to allow normal event-path propagation\n\t\t\treturn true;\n\t\t},\n\n\t\tteardown: function() {\n\t\t\tvar attaches;\n\n\t\t\tif ( document.documentMode ) {\n\t\t\t\tattaches = dataPriv.get( this, delegateType ) - 1;\n\t\t\t\tif ( !attaches ) {\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\n\t\t\t\t\tdataPriv.remove( this, delegateType );\n\t\t\t\t} else {\n\t\t\t\t\tdataPriv.set( this, delegateType, attaches );\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Return false to indicate standard teardown should be applied\n\t\t\t\treturn false;\n\t\t\t}\n\t\t},\n\n\t\t// Suppress native focus or blur if we're currently inside\n\t\t// a leveraged native-event stack\n\t\t_default: function( event ) {\n\t\t\treturn dataPriv.get( event.target, type );\n\t\t},\n\n\t\tdelegateType: delegateType\n\t};\n\n\t// Support: Firefox <=44\n\t// Firefox doesn't have focus(in | out) events\n\t// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787\n\t//\n\t// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1\n\t// focus(in | out) events fire after focus & blur events,\n\t// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order\n\t// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857\n\t//\n\t// Support: IE 9 - 11+\n\t// To preserve relative focusin/focus & focusout/blur event order guaranteed on the 3.x branch,\n\t// attach a single handler for both events in IE.\n\tjQuery.event.special[ delegateType ] = {\n\t\tsetup: function() {\n\n\t\t\t// Handle: regular nodes (via `this.ownerDocument`), window\n\t\t\t// (via `this.document`) & document (via `this`).\n\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType );\n\n\t\t\t// Support: IE 9 - 11+\n\t\t\t// We use the same native handler for focusin & focus (and focusout & blur)\n\t\t\t// so we need to coordinate setup & teardown parts between those events.\n\t\t\t// Use `delegateType` as the key as `type` is already used by `leverageNative`.\n\t\t\tif ( !attaches ) {\n\t\t\t\tif ( document.documentMode ) {\n\t\t\t\t\tthis.addEventListener( delegateType, focusMappedHandler );\n\t\t\t\t} else {\n\t\t\t\t\tdoc.addEventListener( type, focusMappedHandler, true );\n\t\t\t\t}\n\t\t\t}\n\t\t\tdataPriv.set( dataHolder, delegateType, ( attaches || 0 ) + 1 );\n\t\t},\n\t\tteardown: function() {\n\t\t\tvar doc = this.ownerDocument || this.document || this,\n\t\t\t\tdataHolder = document.documentMode ? this : doc,\n\t\t\t\tattaches = dataPriv.get( dataHolder, delegateType ) - 1;\n\n\t\t\tif ( !attaches ) {\n\t\t\t\tif ( document.documentMode ) {\n\t\t\t\t\tthis.removeEventListener( delegateType, focusMappedHandler );\n\t\t\t\t} else {\n\t\t\t\t\tdoc.removeEventListener( type, focusMappedHandler, true );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( dataHolder, delegateType );\n\t\t\t} else {\n\t\t\t\tdataPriv.set( dataHolder, delegateType, attaches );\n\t\t\t}\n\t\t}\n\t};\n} );\n\n// Create mouseenter/leave events using mouseover/out and event-time checks\n// so that event delegation works in jQuery.\n// Do the same for pointerenter/pointerleave and pointerover/pointerout\n//\n// Support: Safari 7 only\n// Safari sends mouseenter too often; see:\n// https://bugs.chromium.org/p/chromium/issues/detail?id=470258\n// for the description of the bug (it existed in older Chrome versions as well).\njQuery.each( {\n\tmouseenter: \"mouseover\",\n\tmouseleave: \"mouseout\",\n\tpointerenter: \"pointerover\",\n\tpointerleave: \"pointerout\"\n}, function( orig, fix ) {\n\tjQuery.event.special[ orig ] = {\n\t\tdelegateType: fix,\n\t\tbindType: fix,\n\n\t\thandle: function( event ) {\n\t\t\tvar ret,\n\t\t\t\ttarget = this,\n\t\t\t\trelated = event.relatedTarget,\n\t\t\t\thandleObj = event.handleObj;\n\n\t\t\t// For mouseenter/leave call the handler if related is outside the target.\n\t\t\t// NB: No relatedTarget if the mouse left/entered the browser window\n\t\t\tif ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {\n\t\t\t\tevent.type = handleObj.origType;\n\t\t\t\tret = handleObj.handler.apply( this, arguments );\n\t\t\t\tevent.type = fix;\n\t\t\t}\n\t\t\treturn ret;\n\t\t}\n\t};\n} );\n\njQuery.fn.extend( {\n\n\ton: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn );\n\t},\n\tone: function( types, selector, data, fn ) {\n\t\treturn on( this, types, selector, data, fn, 1 );\n\t},\n\toff: function( types, selector, fn ) {\n\t\tvar handleObj, type;\n\t\tif ( types && types.preventDefault && types.handleObj ) {\n\n\t\t\t// ( event ) dispatched jQuery.Event\n\t\t\thandleObj = types.handleObj;\n\t\t\tjQuery( types.delegateTarget ).off(\n\t\t\t\thandleObj.namespace ?\n\t\t\t\t\thandleObj.origType + \".\" + handleObj.namespace :\n\t\t\t\t\thandleObj.origType,\n\t\t\t\thandleObj.selector,\n\t\t\t\thandleObj.handler\n\t\t\t);\n\t\t\treturn this;\n\t\t}\n\t\tif ( typeof types === \"object\" ) {\n\n\t\t\t// ( types-object [, selector] )\n\t\t\tfor ( type in types ) {\n\t\t\t\tthis.off( type, selector, types[ type ] );\n\t\t\t}\n\t\t\treturn this;\n\t\t}\n\t\tif ( selector === false || typeof selector === \"function\" ) {\n\n\t\t\t// ( types [, fn] )\n\t\t\tfn = selector;\n\t\t\tselector = undefined;\n\t\t}\n\t\tif ( fn === false ) {\n\t\t\tfn = returnFalse;\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.remove( this, types, fn, selector );\n\t\t} );\n\t}\n} );\n\n\nvar\n\n\t// Support: IE <=10 - 11, Edge 12 - 13 only\n\t// In IE/Edge using regex groups here causes severe slowdowns.\n\t// See https://connect.microsoft.com/IE/feedback/details/1736512/\n\trnoInnerhtml = /<script|<style|<link/i,\n\n\t// checked=\"checked\" or checked\n\trchecked = /checked\\s*(?:[^=]|=\\s*.checked.)/i,\n\n\trcleanScript = /^\\s*<!\\[CDATA\\[|\\]\\]>\\s*$/g;\n\n// Prefer a tbody over its parent table for containing new rows\nfunction manipulationTarget( elem, content ) {\n\tif ( nodeName( elem, \"table\" ) &&\n\t\tnodeName( content.nodeType !== 11 ? content : content.firstChild, \"tr\" ) ) {\n\n\t\treturn jQuery( elem ).children( \"tbody\" )[ 0 ] || elem;\n\t}\n\n\treturn elem;\n}\n\n// Replace/restore the type attribute of script elements for safe DOM manipulation\nfunction disableScript( elem ) {\n\telem.type = ( elem.getAttribute( \"type\" ) !== null ) + \"/\" + elem.type;\n\treturn elem;\n}\nfunction restoreScript( elem ) {\n\tif ( ( elem.type || \"\" ).slice( 0, 5 ) === \"true/\" ) {\n\t\telem.type = elem.type.slice( 5 );\n\t} else {\n\t\telem.removeAttribute( \"type\" );\n\t}\n\n\treturn elem;\n}\n\nfunction cloneCopyEvent( src, dest ) {\n\tvar i, l, type, pdataOld, udataOld, udataCur, events;\n\n\tif ( dest.nodeType !== 1 ) {\n\t\treturn;\n\t}\n\n\t// 1. Copy private data: events, handlers, etc.\n\tif ( dataPriv.hasData( src ) ) {\n\t\tpdataOld = dataPriv.get( src );\n\t\tevents = pdataOld.events;\n\n\t\tif ( events ) {\n\t\t\tdataPriv.remove( dest, \"handle events\" );\n\n\t\t\tfor ( type in events ) {\n\t\t\t\tfor ( i = 0, l = events[ type ].length; i < l; i++ ) {\n\t\t\t\t\tjQuery.event.add( dest, type, events[ type ][ i ] );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// 2. Copy user data\n\tif ( dataUser.hasData( src ) ) {\n\t\tudataOld = dataUser.access( src );\n\t\tudataCur = jQuery.extend( {}, udataOld );\n\n\t\tdataUser.set( dest, udataCur );\n\t}\n}\n\n// Fix IE bugs, see support tests\nfunction fixInput( src, dest ) {\n\tvar nodeName = dest.nodeName.toLowerCase();\n\n\t// Fails to persist the checked state of a cloned checkbox or radio button.\n\tif ( nodeName === \"input\" && rcheckableType.test( src.type ) ) {\n\t\tdest.checked = src.checked;\n\n\t// Fails to return the selected option to the default selected state when cloning options\n\t} else if ( nodeName === \"input\" || nodeName === \"textarea\" ) {\n\t\tdest.defaultValue = src.defaultValue;\n\t}\n}\n\nfunction domManip( collection, args, callback, ignored ) {\n\n\t// Flatten any nested arrays\n\targs = flat( args );\n\n\tvar fragment, first, scripts, hasScripts, node, doc,\n\t\ti = 0,\n\t\tl = collection.length,\n\t\tiNoClone = l - 1,\n\t\tvalue = args[ 0 ],\n\t\tvalueIsFunction = isFunction( value );\n\n\t// We can't cloneNode fragments that contain checked, in WebKit\n\tif ( valueIsFunction ||\n\t\t\t( l > 1 && typeof value === \"string\" &&\n\t\t\t\t!support.checkClone && rchecked.test( value ) ) ) {\n\t\treturn collection.each( function( index ) {\n\t\t\tvar self = collection.eq( index );\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\targs[ 0 ] = value.call( this, index, self.html() );\n\t\t\t}\n\t\t\tdomManip( self, args, callback, ignored );\n\t\t} );\n\t}\n\n\tif ( l ) {\n\t\tfragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );\n\t\tfirst = fragment.firstChild;\n\n\t\tif ( fragment.childNodes.length === 1 ) {\n\t\t\tfragment = first;\n\t\t}\n\n\t\t// Require either new content or an interest in ignored elements to invoke the callback\n\t\tif ( first || ignored ) {\n\t\t\tscripts = jQuery.map( getAll( fragment, \"script\" ), disableScript );\n\t\t\thasScripts = scripts.length;\n\n\t\t\t// Use the original fragment for the last item\n\t\t\t// instead of the first because it can end up\n\t\t\t// being emptied incorrectly in certain situations (trac-8070).\n\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\tnode = fragment;\n\n\t\t\t\tif ( i !== iNoClone ) {\n\t\t\t\t\tnode = jQuery.clone( node, true, true );\n\n\t\t\t\t\t// Keep references to cloned scripts for later restoration\n\t\t\t\t\tif ( hasScripts ) {\n\n\t\t\t\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t\t\t\t// push.apply(_, arraylike) throws on ancient WebKit\n\t\t\t\t\t\tjQuery.merge( scripts, getAll( node, \"script\" ) );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tcallback.call( collection[ i ], node, i );\n\t\t\t}\n\n\t\t\tif ( hasScripts ) {\n\t\t\t\tdoc = scripts[ scripts.length - 1 ].ownerDocument;\n\n\t\t\t\t// Re-enable scripts\n\t\t\t\tjQuery.map( scripts, restoreScript );\n\n\t\t\t\t// Evaluate executable scripts on first document insertion\n\t\t\t\tfor ( i = 0; i < hasScripts; i++ ) {\n\t\t\t\t\tnode = scripts[ i ];\n\t\t\t\t\tif ( rscriptType.test( node.type || \"\" ) &&\n\t\t\t\t\t\t!dataPriv.access( node, \"globalEval\" ) &&\n\t\t\t\t\t\tjQuery.contains( doc, node ) ) {\n\n\t\t\t\t\t\tif ( node.src && ( node.type || \"\" ).toLowerCase() !== \"module\" ) {\n\n\t\t\t\t\t\t\t// Optional AJAX dependency, but won't run scripts if not present\n\t\t\t\t\t\t\tif ( jQuery._evalUrl && !node.noModule ) {\n\t\t\t\t\t\t\t\tjQuery._evalUrl( node.src, {\n\t\t\t\t\t\t\t\t\tnonce: node.nonce || node.getAttribute( \"nonce\" )\n\t\t\t\t\t\t\t\t}, doc );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Unwrap a CDATA section containing script contents. This shouldn't be\n\t\t\t\t\t\t\t// needed as in XML documents they're already not visible when\n\t\t\t\t\t\t\t// inspecting element contents and in HTML documents they have no\n\t\t\t\t\t\t\t// meaning but we're preserving that logic for backwards compatibility.\n\t\t\t\t\t\t\t// This will be removed completely in 4.0. See gh-4904.\n\t\t\t\t\t\t\tDOMEval( node.textContent.replace( rcleanScript, \"\" ), node, doc );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn collection;\n}\n\nfunction remove( elem, selector, keepData ) {\n\tvar node,\n\t\tnodes = selector ? jQuery.filter( selector, elem ) : elem,\n\t\ti = 0;\n\n\tfor ( ; ( node = nodes[ i ] ) != null; i++ ) {\n\t\tif ( !keepData && node.nodeType === 1 ) {\n\t\t\tjQuery.cleanData( getAll( node ) );\n\t\t}\n\n\t\tif ( node.parentNode ) {\n\t\t\tif ( keepData && isAttached( node ) ) {\n\t\t\t\tsetGlobalEval( getAll( node, \"script\" ) );\n\t\t\t}\n\t\t\tnode.parentNode.removeChild( node );\n\t\t}\n\t}\n\n\treturn elem;\n}\n\njQuery.extend( {\n\thtmlPrefilter: function( html ) {\n\t\treturn html;\n\t},\n\n\tclone: function( elem, dataAndEvents, deepDataAndEvents ) {\n\t\tvar i, l, srcElements, destElements,\n\t\t\tclone = elem.cloneNode( true ),\n\t\t\tinPage = isAttached( elem );\n\n\t\t// Fix IE cloning issues\n\t\tif ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&\n\t\t\t\t!jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// We eschew jQuery#find here for performance reasons:\n\t\t\t// https://jsperf.com/getall-vs-sizzle/2\n\t\t\tdestElements = getAll( clone );\n\t\t\tsrcElements = getAll( elem );\n\n\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\tfixInput( srcElements[ i ], destElements[ i ] );\n\t\t\t}\n\t\t}\n\n\t\t// Copy the events from the original to the clone\n\t\tif ( dataAndEvents ) {\n\t\t\tif ( deepDataAndEvents ) {\n\t\t\t\tsrcElements = srcElements || getAll( elem );\n\t\t\t\tdestElements = destElements || getAll( clone );\n\n\t\t\t\tfor ( i = 0, l = srcElements.length; i < l; i++ ) {\n\t\t\t\t\tcloneCopyEvent( srcElements[ i ], destElements[ i ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcloneCopyEvent( elem, clone );\n\t\t\t}\n\t\t}\n\n\t\t// Preserve script evaluation history\n\t\tdestElements = getAll( clone, \"script\" );\n\t\tif ( destElements.length > 0 ) {\n\t\t\tsetGlobalEval( destElements, !inPage && getAll( elem, \"script\" ) );\n\t\t}\n\n\t\t// Return the cloned set\n\t\treturn clone;\n\t},\n\n\tcleanData: function( elems ) {\n\t\tvar data, elem, type,\n\t\t\tspecial = jQuery.event.special,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {\n\t\t\tif ( acceptData( elem ) ) {\n\t\t\t\tif ( ( data = elem[ dataPriv.expando ] ) ) {\n\t\t\t\t\tif ( data.events ) {\n\t\t\t\t\t\tfor ( type in data.events ) {\n\t\t\t\t\t\t\tif ( special[ type ] ) {\n\t\t\t\t\t\t\t\tjQuery.event.remove( elem, type );\n\n\t\t\t\t\t\t\t// This is a shortcut to avoid jQuery.event.remove's overhead\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tjQuery.removeEvent( elem, type, data.handle );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataPriv.expando ] = undefined;\n\t\t\t\t}\n\t\t\t\tif ( elem[ dataUser.expando ] ) {\n\n\t\t\t\t\t// Support: Chrome <=35 - 45+\n\t\t\t\t\t// Assign undefined instead of using delete, see Data#remove\n\t\t\t\t\telem[ dataUser.expando ] = undefined;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n} );\n\njQuery.fn.extend( {\n\tdetach: function( selector ) {\n\t\treturn remove( this, selector, true );\n\t},\n\n\tremove: function( selector ) {\n\t\treturn remove( this, selector );\n\t},\n\n\ttext: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\treturn value === undefined ?\n\t\t\t\tjQuery.text( this ) :\n\t\t\t\tthis.empty().each( function() {\n\t\t\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\t\t\tthis.textContent = value;\n\t\t\t\t\t}\n\t\t\t\t} );\n\t\t}, null, value, arguments.length );\n\t},\n\n\tappend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.appendChild( elem );\n\t\t\t}\n\t\t} );\n\t},\n\n\tprepend: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {\n\t\t\t\tvar target = manipulationTarget( this, elem );\n\t\t\t\ttarget.insertBefore( elem, target.firstChild );\n\t\t\t}\n\t\t} );\n\t},\n\n\tbefore: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this );\n\t\t\t}\n\t\t} );\n\t},\n\n\tafter: function() {\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tif ( this.parentNode ) {\n\t\t\t\tthis.parentNode.insertBefore( elem, this.nextSibling );\n\t\t\t}\n\t\t} );\n\t},\n\n\tempty: function() {\n\t\tvar elem,\n\t\t\ti = 0;\n\n\t\tfor ( ; ( elem = this[ i ] ) != null; i++ ) {\n\t\t\tif ( elem.nodeType === 1 ) {\n\n\t\t\t\t// Prevent memory leaks\n\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\n\t\t\t\t// Remove any remaining nodes\n\t\t\t\telem.textContent = \"\";\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tclone: function( dataAndEvents, deepDataAndEvents ) {\n\t\tdataAndEvents = dataAndEvents == null ? false : dataAndEvents;\n\t\tdeepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;\n\n\t\treturn this.map( function() {\n\t\t\treturn jQuery.clone( this, dataAndEvents, deepDataAndEvents );\n\t\t} );\n\t},\n\n\thtml: function( value ) {\n\t\treturn access( this, function( value ) {\n\t\t\tvar elem = this[ 0 ] || {},\n\t\t\t\ti = 0,\n\t\t\t\tl = this.length;\n\n\t\t\tif ( value === undefined && elem.nodeType === 1 ) {\n\t\t\t\treturn elem.innerHTML;\n\t\t\t}\n\n\t\t\t// See if we can take a shortcut and just use innerHTML\n\t\t\tif ( typeof value === \"string\" && !rnoInnerhtml.test( value ) &&\n\t\t\t\t!wrapMap[ ( rtagName.exec( value ) || [ \"\", \"\" ] )[ 1 ].toLowerCase() ] ) {\n\n\t\t\t\tvalue = jQuery.htmlPrefilter( value );\n\n\t\t\t\ttry {\n\t\t\t\t\tfor ( ; i < l; i++ ) {\n\t\t\t\t\t\telem = this[ i ] || {};\n\n\t\t\t\t\t\t// Remove element nodes and prevent memory leaks\n\t\t\t\t\t\tif ( elem.nodeType === 1 ) {\n\t\t\t\t\t\t\tjQuery.cleanData( getAll( elem, false ) );\n\t\t\t\t\t\t\telem.innerHTML = value;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\telem = 0;\n\n\t\t\t\t// If using innerHTML throws an exception, use the fallback method\n\t\t\t\t} catch ( e ) {}\n\t\t\t}\n\n\t\t\tif ( elem ) {\n\t\t\t\tthis.empty().append( value );\n\t\t\t}\n\t\t}, null, value, arguments.length );\n\t},\n\n\treplaceWith: function() {\n\t\tvar ignored = [];\n\n\t\t// Make the changes, replacing each non-ignored context element with the new content\n\t\treturn domManip( this, arguments, function( elem ) {\n\t\t\tvar parent = this.parentNode;\n\n\t\t\tif ( jQuery.inArray( this, ignored ) < 0 ) {\n\t\t\t\tjQuery.cleanData( getAll( this ) );\n\t\t\t\tif ( parent ) {\n\t\t\t\t\tparent.replaceChild( elem, this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t// Force callback invocation\n\t\t}, ignored );\n\t}\n} );\n\njQuery.each( {\n\tappendTo: \"append\",\n\tprependTo: \"prepend\",\n\tinsertBefore: \"before\",\n\tinsertAfter: \"after\",\n\treplaceAll: \"replaceWith\"\n}, function( name, original ) {\n\tjQuery.fn[ name ] = function( selector ) {\n\t\tvar elems,\n\t\t\tret = [],\n\t\t\tinsert = jQuery( selector ),\n\t\t\tlast = insert.length - 1,\n\t\t\ti = 0;\n\n\t\tfor ( ; i <= last; i++ ) {\n\t\t\telems = i === last ? this : this.clone( true );\n\t\t\tjQuery( insert[ i ] )[ original ]( elems );\n\n\t\t\t// Support: Android <=4.0 only, PhantomJS 1 only\n\t\t\t// .get() because push.apply(_, arraylike) throws on ancient WebKit\n\t\t\tpush.apply( ret, elems.get() );\n\t\t}\n\n\t\treturn this.pushStack( ret );\n\t};\n} );\nvar rnumnonpx = new RegExp( \"^(\" + pnum + \")(?!px)[a-z%]+$\", \"i\" );\n\nvar rcustomProp = /^--/;\n\n\nvar getStyles = function( elem ) {\n\n\t\t// Support: IE <=11 only, Firefox <=30 (trac-15098, trac-14150)\n\t\t// IE throws on elements created in popups\n\t\t// FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n\t\tvar view = elem.ownerDocument.defaultView;\n\n\t\tif ( !view || !view.opener ) {\n\t\t\tview = window;\n\t\t}\n\n\t\treturn view.getComputedStyle( elem );\n\t};\n\nvar swap = function( elem, options, callback ) {\n\tvar ret, name,\n\t\told = {};\n\n\t// Remember the old values, and insert the new ones\n\tfor ( name in options ) {\n\t\told[ name ] = elem.style[ name ];\n\t\telem.style[ name ] = options[ name ];\n\t}\n\n\tret = callback.call( elem );\n\n\t// Revert the old values\n\tfor ( name in options ) {\n\t\telem.style[ name ] = old[ name ];\n\t}\n\n\treturn ret;\n};\n\n\nvar rboxStyle = new RegExp( cssExpand.join( \"|\" ), \"i\" );\n\n\n\n( function() {\n\n\t// Executing both pixelPosition & boxSizingReliable tests require only one layout\n\t// so they're executed at the same time to save the second computation.\n\tfunction computeStyleTests() {\n\n\t\t// This is a singleton, we need to execute it only once\n\t\tif ( !div ) {\n\t\t\treturn;\n\t\t}\n\n\t\tcontainer.style.cssText = \"position:absolute;left:-11111px;width:60px;\" +\n\t\t\t\"margin-top:1px;padding:0;border:0\";\n\t\tdiv.style.cssText =\n\t\t\t\"position:relative;display:block;box-sizing:border-box;overflow:scroll;\" +\n\t\t\t\"margin:auto;border:1px;padding:1px;\" +\n\t\t\t\"width:60%;top:1%\";\n\t\tdocumentElement.appendChild( container ).appendChild( div );\n\n\t\tvar divStyle = window.getComputedStyle( div );\n\t\tpixelPositionVal = divStyle.top !== \"1%\";\n\n\t\t// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44\n\t\treliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;\n\n\t\t// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3\n\t\t// Some styles come back with percentage values, even though they shouldn't\n\t\tdiv.style.right = \"60%\";\n\t\tpixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;\n\n\t\t// Support: IE 9 - 11 only\n\t\t// Detect misreporting of content dimensions for box-sizing:border-box elements\n\t\tboxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;\n\n\t\t// Support: IE 9 only\n\t\t// Detect overflow:scroll screwiness (gh-3699)\n\t\t// Support: Chrome <=64\n\t\t// Don't get tricked when zoom affects offsetWidth (gh-4029)\n\t\tdiv.style.position = \"absolute\";\n\t\tscrollboxSizeVal = roundPixelMeasures( div.offsetWidth / 3 ) === 12;\n\n\t\tdocumentElement.removeChild( container );\n\n\t\t// Nullify the div so it wouldn't be stored in the memory and\n\t\t// it will also be a sign that checks already performed\n\t\tdiv = null;\n\t}\n\n\tfunction roundPixelMeasures( measure ) {\n\t\treturn Math.round( parseFloat( measure ) );\n\t}\n\n\tvar pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,\n\t\treliableTrDimensionsVal, reliableMarginLeftVal,\n\t\tcontainer = document.createElement( \"div\" ),\n\t\tdiv = document.createElement( \"div\" );\n\n\t// Finish early in limited (non-browser) environments\n\tif ( !div.style ) {\n\t\treturn;\n\t}\n\n\t// Support: IE <=9 - 11 only\n\t// Style of cloned element affects source element cloned (trac-8908)\n\tdiv.style.backgroundClip = \"content-box\";\n\tdiv.cloneNode( true ).style.backgroundClip = \"\";\n\tsupport.clearCloneStyle = div.style.backgroundClip === \"content-box\";\n\n\tjQuery.extend( support, {\n\t\tboxSizingReliable: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn boxSizingReliableVal;\n\t\t},\n\t\tpixelBoxStyles: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelBoxStylesVal;\n\t\t},\n\t\tpixelPosition: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn pixelPositionVal;\n\t\t},\n\t\treliableMarginLeft: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn reliableMarginLeftVal;\n\t\t},\n\t\tscrollboxSize: function() {\n\t\t\tcomputeStyleTests();\n\t\t\treturn scrollboxSizeVal;\n\t\t},\n\n\t\t// Support: IE 9 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Behavior in IE 9 is more subtle than in newer versions & it passes\n\t\t// some versions of this test; make sure not to make it pass there!\n\t\t//\n\t\t// Support: Firefox 70+\n\t\t// Only Firefox includes border widths\n\t\t// in computed dimensions. (gh-4529)\n\t\treliableTrDimensions: function() {\n\t\t\tvar table, tr, trChild, trStyle;\n\t\t\tif ( reliableTrDimensionsVal == null ) {\n\t\t\t\ttable = document.createElement( \"table\" );\n\t\t\t\ttr = document.createElement( \"tr\" );\n\t\t\t\ttrChild = document.createElement( \"div\" );\n\n\t\t\t\ttable.style.cssText = \"position:absolute;left:-11111px;border-collapse:separate\";\n\t\t\t\ttr.style.cssText = \"box-sizing:content-box;border:1px solid\";\n\n\t\t\t\t// Support: Chrome 86+\n\t\t\t\t// Height set through cssText does not get applied.\n\t\t\t\t// Computed height then comes back as 0.\n\t\t\t\ttr.style.height = \"1px\";\n\t\t\t\ttrChild.style.height = \"9px\";\n\n\t\t\t\t// Support: Android 8 Chrome 86+\n\t\t\t\t// In our bodyBackground.html iframe,\n\t\t\t\t// display for all div elements is set to \"inline\",\n\t\t\t\t// which causes a problem only in Android 8 Chrome 86.\n\t\t\t\t// Ensuring the div is `display: block`\n\t\t\t\t// gets around this issue.\n\t\t\t\ttrChild.style.display = \"block\";\n\n\t\t\t\tdocumentElement\n\t\t\t\t\t.appendChild( table )\n\t\t\t\t\t.appendChild( tr )\n\t\t\t\t\t.appendChild( trChild );\n\n\t\t\t\ttrStyle = window.getComputedStyle( tr );\n\t\t\t\treliableTrDimensionsVal = ( parseInt( trStyle.height, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderTopWidth, 10 ) +\n\t\t\t\t\tparseInt( trStyle.borderBottomWidth, 10 ) ) === tr.offsetHeight;\n\n\t\t\t\tdocumentElement.removeChild( table );\n\t\t\t}\n\t\t\treturn reliableTrDimensionsVal;\n\t\t}\n\t} );\n} )();\n\n\nfunction curCSS( elem, name, computed ) {\n\tvar width, minWidth, maxWidth, ret,\n\t\tisCustomProp = rcustomProp.test( name ),\n\n\t\t// Support: Firefox 51+\n\t\t// Retrieving style before computed somehow\n\t\t// fixes an issue with getting wrong values\n\t\t// on detached elements\n\t\tstyle = elem.style;\n\n\tcomputed = computed || getStyles( elem );\n\n\t// getPropertyValue is needed for:\n\t// .css('filter') (IE 9 only, trac-12537)\n\t// .css('--customProperty) (gh-3144)\n\tif ( computed ) {\n\n\t\t// Support: IE <=9 - 11+\n\t\t// IE only supports `\"float\"` in `getPropertyValue`; in computed styles\n\t\t// it's only available as `\"cssFloat\"`. We no longer modify properties\n\t\t// sent to `.css()` apart from camelCasing, so we need to check both.\n\t\t// Normally, this would create difference in behavior: if\n\t\t// `getPropertyValue` returns an empty string, the value returned\n\t\t// by `.css()` would be `undefined`. This is usually the case for\n\t\t// disconnected elements. However, in IE even disconnected elements\n\t\t// with no styles return `\"none\"` for `getPropertyValue( \"float\" )`\n\t\tret = computed.getPropertyValue( name ) || computed[ name ];\n\n\t\tif ( isCustomProp && ret ) {\n\n\t\t\t// Support: Firefox 105+, Chrome <=105+\n\t\t\t// Spec requires trimming whitespace for custom properties (gh-4926).\n\t\t\t// Firefox only trims leading whitespace. Chrome just collapses\n\t\t\t// both leading & trailing whitespace to a single space.\n\t\t\t//\n\t\t\t// Fall back to `undefined` if empty string returned.\n\t\t\t// This collapses a missing definition with property defined\n\t\t\t// and set to an empty string but there's no standard API\n\t\t\t// allowing us to differentiate them without a performance penalty\n\t\t\t// and returning `undefined` aligns with older jQuery.\n\t\t\t//\n\t\t\t// rtrimCSS treats U+000D CARRIAGE RETURN and U+000C FORM FEED\n\t\t\t// as whitespace while CSS does not, but this is not a problem\n\t\t\t// because CSS preprocessing replaces them with U+000A LINE FEED\n\t\t\t// (which *is* CSS whitespace)\n\t\t\t// https://www.w3.org/TR/css-syntax-3/#input-preprocessing\n\t\t\tret = ret.replace( rtrimCSS, \"$1\" ) || undefined;\n\t\t}\n\n\t\tif ( ret === \"\" && !isAttached( elem ) ) {\n\t\t\tret = jQuery.style( elem, name );\n\t\t}\n\n\t\t// A tribute to the \"awesome hack by Dean Edwards\"\n\t\t// Android Browser returns percentage for some values,\n\t\t// but width seems to be reliably pixels.\n\t\t// This is against the CSSOM draft spec:\n\t\t// https://drafts.csswg.org/cssom/#resolved-values\n\t\tif ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {\n\n\t\t\t// Remember the original values\n\t\t\twidth = style.width;\n\t\t\tminWidth = style.minWidth;\n\t\t\tmaxWidth = style.maxWidth;\n\n\t\t\t// Put in the new values to get a computed value out\n\t\t\tstyle.minWidth = style.maxWidth = style.width = ret;\n\t\t\tret = computed.width;\n\n\t\t\t// Revert the changed values\n\t\t\tstyle.width = width;\n\t\t\tstyle.minWidth = minWidth;\n\t\t\tstyle.maxWidth = maxWidth;\n\t\t}\n\t}\n\n\treturn ret !== undefined ?\n\n\t\t// Support: IE <=9 - 11 only\n\t\t// IE returns zIndex value as an integer.\n\t\tret + \"\" :\n\t\tret;\n}\n\n\nfunction addGetHookIf( conditionFn, hookFn ) {\n\n\t// Define the hook, we'll check on the first run if it's really needed.\n\treturn {\n\t\tget: function() {\n\t\t\tif ( conditionFn() ) {\n\n\t\t\t\t// Hook not needed (or it's not possible to use it due\n\t\t\t\t// to missing dependency), remove it.\n\t\t\t\tdelete this.get;\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Hook needed; redefine it so that the support test is not executed again.\n\t\t\treturn ( this.get = hookFn ).apply( this, arguments );\n\t\t}\n\t};\n}\n\n\nvar cssPrefixes = [ \"Webkit\", \"Moz\", \"ms\" ],\n\temptyStyle = document.createElement( \"div\" ).style,\n\tvendorProps = {};\n\n// Return a vendor-prefixed property or undefined\nfunction vendorPropName( name ) {\n\n\t// Check for vendor prefixed names\n\tvar capName = name[ 0 ].toUpperCase() + name.slice( 1 ),\n\t\ti = cssPrefixes.length;\n\n\twhile ( i-- ) {\n\t\tname = cssPrefixes[ i ] + capName;\n\t\tif ( name in emptyStyle ) {\n\t\t\treturn name;\n\t\t}\n\t}\n}\n\n// Return a potentially-mapped jQuery.cssProps or vendor prefixed property\nfunction finalPropName( name ) {\n\tvar final = jQuery.cssProps[ name ] || vendorProps[ name ];\n\n\tif ( final ) {\n\t\treturn final;\n\t}\n\tif ( name in emptyStyle ) {\n\t\treturn name;\n\t}\n\treturn vendorProps[ name ] = vendorPropName( name ) || name;\n}\n\n\nvar\n\n\t// Swappable if display is none or starts with table\n\t// except \"table\", \"table-cell\", or \"table-caption\"\n\t// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display\n\trdisplayswap = /^(none|table(?!-c[ea]).+)/,\n\tcssShow = { position: \"absolute\", visibility: \"hidden\", display: \"block\" },\n\tcssNormalTransform = {\n\t\tletterSpacing: \"0\",\n\t\tfontWeight: \"400\"\n\t};\n\nfunction setPositiveNumber( _elem, value, subtract ) {\n\n\t// Any relative (+/-) values have already been\n\t// normalized at this point\n\tvar matches = rcssNum.exec( value );\n\treturn matches ?\n\n\t\t// Guard against undefined \"subtract\", e.g., when used as in cssHooks\n\t\tMath.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || \"px\" ) :\n\t\tvalue;\n}\n\nfunction boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {\n\tvar i = dimension === \"width\" ? 1 : 0,\n\t\textra = 0,\n\t\tdelta = 0,\n\t\tmarginDelta = 0;\n\n\t// Adjustment may not be necessary\n\tif ( box === ( isBorderBox ? \"border\" : \"content\" ) ) {\n\t\treturn 0;\n\t}\n\n\tfor ( ; i < 4; i += 2 ) {\n\n\t\t// Both box models exclude margin\n\t\t// Count margin delta separately to only add it after scroll gutter adjustment.\n\t\t// This is needed to make negative margins work with `outerHeight( true )` (gh-3982).\n\t\tif ( box === \"margin\" ) {\n\t\t\tmarginDelta += jQuery.css( elem, box + cssExpand[ i ], true, styles );\n\t\t}\n\n\t\t// If we get here with a content-box, we're seeking \"padding\" or \"border\" or \"margin\"\n\t\tif ( !isBorderBox ) {\n\n\t\t\t// Add padding\n\t\t\tdelta += jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\n\t\t\t// For \"border\" or \"margin\", add border\n\t\t\tif ( box !== \"padding\" ) {\n\t\t\t\tdelta += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\n\t\t\t// But still keep track of it otherwise\n\t\t\t} else {\n\t\t\t\textra += jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\n\t\t// If we get here with a border-box (content + padding + border), we're seeking \"content\" or\n\t\t// \"padding\" or \"margin\"\n\t\t} else {\n\n\t\t\t// For \"content\", subtract padding\n\t\t\tif ( box === \"content\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"padding\" + cssExpand[ i ], true, styles );\n\t\t\t}\n\n\t\t\t// For \"content\" or \"padding\", subtract border\n\t\t\tif ( box !== \"margin\" ) {\n\t\t\t\tdelta -= jQuery.css( elem, \"border\" + cssExpand[ i ] + \"Width\", true, styles );\n\t\t\t}\n\t\t}\n\t}\n\n\t// Account for positive content-box scroll gutter when requested by providing computedVal\n\tif ( !isBorderBox && computedVal >= 0 ) {\n\n\t\t// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border\n\t\t// Assuming integer scroll gutter, subtract the rest and round down\n\t\tdelta += Math.max( 0, Math.ceil(\n\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\tcomputedVal -\n\t\t\tdelta -\n\t\t\textra -\n\t\t\t0.5\n\n\t\t// If offsetWidth/offsetHeight is unknown, then we can't determine content-box scroll gutter\n\t\t// Use an explicit zero to avoid NaN (gh-3964)\n\t\t) ) || 0;\n\t}\n\n\treturn delta + marginDelta;\n}\n\nfunction getWidthOrHeight( elem, dimension, extra ) {\n\n\t// Start with computed style\n\tvar styles = getStyles( elem ),\n\n\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-4322).\n\t\t// Fake content-box until we know it's needed to know the true value.\n\t\tboxSizingNeeded = !support.boxSizingReliable() || extra,\n\t\tisBorderBox = boxSizingNeeded &&\n\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\tvalueIsBorderBox = isBorderBox,\n\n\t\tval = curCSS( elem, dimension, styles ),\n\t\toffsetProp = \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 );\n\n\t// Support: Firefox <=54\n\t// Return a confounding non-pixel value or feign ignorance, as appropriate.\n\tif ( rnumnonpx.test( val ) ) {\n\t\tif ( !extra ) {\n\t\t\treturn val;\n\t\t}\n\t\tval = \"auto\";\n\t}\n\n\n\t// Support: IE 9 - 11 only\n\t// Use offsetWidth/offsetHeight for when box sizing is unreliable.\n\t// In those cases, the computed value can be trusted to be border-box.\n\tif ( ( !support.boxSizingReliable() && isBorderBox ||\n\n\t\t// Support: IE 10 - 11+, Edge 15 - 18+\n\t\t// IE/Edge misreport `getComputedStyle` of table rows with width/height\n\t\t// set in CSS while `offset*` properties report correct values.\n\t\t// Interestingly, in some cases IE 9 doesn't suffer from this issue.\n\t\t!support.reliableTrDimensions() && nodeName( elem, \"tr\" ) ||\n\n\t\t// Fall back to offsetWidth/offsetHeight when value is \"auto\"\n\t\t// This happens for inline elements with no explicit setting (gh-3571)\n\t\tval === \"auto\" ||\n\n\t\t// Support: Android <=4.1 - 4.3 only\n\t\t// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)\n\t\t!parseFloat( val ) && jQuery.css( elem, \"display\", false, styles ) === \"inline\" ) &&\n\n\t\t// Make sure the element is visible & connected\n\t\telem.getClientRects().length ) {\n\n\t\tisBorderBox = jQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\";\n\n\t\t// Where available, offsetWidth/offsetHeight approximate border box dimensions.\n\t\t// Where not available (e.g., SVG), assume unreliable box-sizing and interpret the\n\t\t// retrieved value as a content box dimension.\n\t\tvalueIsBorderBox = offsetProp in elem;\n\t\tif ( valueIsBorderBox ) {\n\t\t\tval = elem[ offsetProp ];\n\t\t}\n\t}\n\n\t// Normalize \"\" and auto\n\tval = parseFloat( val ) || 0;\n\n\t// Adjust for the element's box model\n\treturn ( val +\n\t\tboxModelAdjustment(\n\t\t\telem,\n\t\t\tdimension,\n\t\t\textra || ( isBorderBox ? \"border\" : \"content\" ),\n\t\t\tvalueIsBorderBox,\n\t\t\tstyles,\n\n\t\t\t// Provide the current computed size to request scroll gutter calculation (gh-3589)\n\t\t\tval\n\t\t)\n\t) + \"px\";\n}\n\njQuery.extend( {\n\n\t// Add in style property hooks for overriding the default\n\t// behavior of getting and setting a style property\n\tcssHooks: {\n\t\topacity: {\n\t\t\tget: function( elem, computed ) {\n\t\t\t\tif ( computed ) {\n\n\t\t\t\t\t// We should always get a number back from opacity\n\t\t\t\t\tvar ret = curCSS( elem, \"opacity\" );\n\t\t\t\t\treturn ret === \"\" ? \"1\" : ret;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\t// Don't automatically add \"px\" to these possibly-unitless properties\n\tcssNumber: {\n\t\tanimationIterationCount: true,\n\t\taspectRatio: true,\n\t\tborderImageSlice: true,\n\t\tcolumnCount: true,\n\t\tflexGrow: true,\n\t\tflexShrink: true,\n\t\tfontWeight: true,\n\t\tgridArea: true,\n\t\tgridColumn: true,\n\t\tgridColumnEnd: true,\n\t\tgridColumnStart: true,\n\t\tgridRow: true,\n\t\tgridRowEnd: true,\n\t\tgridRowStart: true,\n\t\tlineHeight: true,\n\t\topacity: true,\n\t\torder: true,\n\t\torphans: true,\n\t\tscale: true,\n\t\twidows: true,\n\t\tzIndex: true,\n\t\tzoom: true,\n\n\t\t// SVG-related\n\t\tfillOpacity: true,\n\t\tfloodOpacity: true,\n\t\tstopOpacity: true,\n\t\tstrokeMiterlimit: true,\n\t\tstrokeOpacity: true\n\t},\n\n\t// Add in properties whose names you wish to fix before\n\t// setting or getting the value\n\tcssProps: {},\n\n\t// Get and set the style property on a DOM Node\n\tstyle: function( elem, name, value, extra ) {\n\n\t\t// Don't set styles on text and comment nodes\n\t\tif ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Make sure that we're working with the right name\n\t\tvar ret, type, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name ),\n\t\t\tstyle = elem.style;\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to query the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Gets hook for the prefixed version, then unprefixed version\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// Check if we're setting a value\n\t\tif ( value !== undefined ) {\n\t\t\ttype = typeof value;\n\n\t\t\t// Convert \"+=\" or \"-=\" to relative numbers (trac-7345)\n\t\t\tif ( type === \"string\" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {\n\t\t\t\tvalue = adjustCSS( elem, name, ret );\n\n\t\t\t\t// Fixes bug trac-9237\n\t\t\t\ttype = \"number\";\n\t\t\t}\n\n\t\t\t// Make sure that null and NaN values aren't set (trac-7116)\n\t\t\tif ( value == null || value !== value ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// If a number was passed in, add the unit (except for certain CSS properties)\n\t\t\t// The isCustomProp check can be removed in jQuery 4.0 when we only auto-append\n\t\t\t// \"px\" to a few hardcoded values.\n\t\t\tif ( type === \"number\" && !isCustomProp ) {\n\t\t\t\tvalue += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? \"\" : \"px\" );\n\t\t\t}\n\n\t\t\t// background-* props affect original clone's values\n\t\t\tif ( !support.clearCloneStyle && value === \"\" && name.indexOf( \"background\" ) === 0 ) {\n\t\t\t\tstyle[ name ] = \"inherit\";\n\t\t\t}\n\n\t\t\t// If a hook was provided, use that value, otherwise just set the specified value\n\t\t\tif ( !hooks || !( \"set\" in hooks ) ||\n\t\t\t\t( value = hooks.set( elem, value, extra ) ) !== undefined ) {\n\n\t\t\t\tif ( isCustomProp ) {\n\t\t\t\t\tstyle.setProperty( name, value );\n\t\t\t\t} else {\n\t\t\t\t\tstyle[ name ] = value;\n\t\t\t\t}\n\t\t\t}\n\n\t\t} else {\n\n\t\t\t// If a hook was provided get the non-computed value from there\n\t\t\tif ( hooks && \"get\" in hooks &&\n\t\t\t\t( ret = hooks.get( elem, false, extra ) ) !== undefined ) {\n\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\t// Otherwise just get the value from the style object\n\t\t\treturn style[ name ];\n\t\t}\n\t},\n\n\tcss: function( elem, name, extra, styles ) {\n\t\tvar val, num, hooks,\n\t\t\torigName = camelCase( name ),\n\t\t\tisCustomProp = rcustomProp.test( name );\n\n\t\t// Make sure that we're working with the right name. We don't\n\t\t// want to modify the value if it is a CSS custom property\n\t\t// since they are user-defined.\n\t\tif ( !isCustomProp ) {\n\t\t\tname = finalPropName( origName );\n\t\t}\n\n\t\t// Try prefixed name followed by the unprefixed name\n\t\thooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];\n\n\t\t// If a hook was provided get the computed value from there\n\t\tif ( hooks && \"get\" in hooks ) {\n\t\t\tval = hooks.get( elem, true, extra );\n\t\t}\n\n\t\t// Otherwise, if a way to get the computed value exists, use that\n\t\tif ( val === undefined ) {\n\t\t\tval = curCSS( elem, name, styles );\n\t\t}\n\n\t\t// Convert \"normal\" to computed value\n\t\tif ( val === \"normal\" && name in cssNormalTransform ) {\n\t\t\tval = cssNormalTransform[ name ];\n\t\t}\n\n\t\t// Make numeric if forced or a qualifier was provided and val looks numeric\n\t\tif ( extra === \"\" || extra ) {\n\t\t\tnum = parseFloat( val );\n\t\t\treturn extra === true || isFinite( num ) ? num || 0 : val;\n\t\t}\n\n\t\treturn val;\n\t}\n} );\n\njQuery.each( [ \"height\", \"width\" ], function( _i, dimension ) {\n\tjQuery.cssHooks[ dimension ] = {\n\t\tget: function( elem, computed, extra ) {\n\t\t\tif ( computed ) {\n\n\t\t\t\t// Certain elements can have dimension info if we invisibly show them\n\t\t\t\t// but it must have a current display style that would benefit\n\t\t\t\treturn rdisplayswap.test( jQuery.css( elem, \"display\" ) ) &&\n\n\t\t\t\t\t// Support: Safari 8+\n\t\t\t\t\t// Table columns in Safari have non-zero offsetWidth & zero\n\t\t\t\t\t// getBoundingClientRect().width unless display is changed.\n\t\t\t\t\t// Support: IE <=11 only\n\t\t\t\t\t// Running getBoundingClientRect on a disconnected node\n\t\t\t\t\t// in IE throws an error.\n\t\t\t\t\t( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?\n\t\t\t\t\tswap( elem, cssShow, function() {\n\t\t\t\t\t\treturn getWidthOrHeight( elem, dimension, extra );\n\t\t\t\t\t} ) :\n\t\t\t\t\tgetWidthOrHeight( elem, dimension, extra );\n\t\t\t}\n\t\t},\n\n\t\tset: function( elem, value, extra ) {\n\t\t\tvar matches,\n\t\t\t\tstyles = getStyles( elem ),\n\n\t\t\t\t// Only read styles.position if the test has a chance to fail\n\t\t\t\t// to avoid forcing a reflow.\n\t\t\t\tscrollboxSizeBuggy = !support.scrollboxSize() &&\n\t\t\t\t\tstyles.position === \"absolute\",\n\n\t\t\t\t// To avoid forcing a reflow, only fetch boxSizing if we need it (gh-3991)\n\t\t\t\tboxSizingNeeded = scrollboxSizeBuggy || extra,\n\t\t\t\tisBorderBox = boxSizingNeeded &&\n\t\t\t\t\tjQuery.css( elem, \"boxSizing\", false, styles ) === \"border-box\",\n\t\t\t\tsubtract = extra ?\n\t\t\t\t\tboxModelAdjustment(\n\t\t\t\t\t\telem,\n\t\t\t\t\t\tdimension,\n\t\t\t\t\t\textra,\n\t\t\t\t\t\tisBorderBox,\n\t\t\t\t\t\tstyles\n\t\t\t\t\t) :\n\t\t\t\t\t0;\n\n\t\t\t// Account for unreliable border-box dimensions by comparing offset* to computed and\n\t\t\t// faking a content-box to get border and padding (gh-3699)\n\t\t\tif ( isBorderBox && scrollboxSizeBuggy ) {\n\t\t\t\tsubtract -= Math.ceil(\n\t\t\t\t\telem[ \"offset\" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -\n\t\t\t\t\tparseFloat( styles[ dimension ] ) -\n\t\t\t\t\tboxModelAdjustment( elem, dimension, \"border\", false, styles ) -\n\t\t\t\t\t0.5\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Convert to pixels if value adjustment is needed\n\t\t\tif ( subtract && ( matches = rcssNum.exec( value ) ) &&\n\t\t\t\t( matches[ 3 ] || \"px\" ) !== \"px\" ) {\n\n\t\t\t\telem.style[ dimension ] = value;\n\t\t\t\tvalue = jQuery.css( elem, dimension );\n\t\t\t}\n\n\t\t\treturn setPositiveNumber( elem, value, subtract );\n\t\t}\n\t};\n} );\n\njQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,\n\tfunction( elem, computed ) {\n\t\tif ( computed ) {\n\t\t\treturn ( parseFloat( curCSS( elem, \"marginLeft\" ) ) ||\n\t\t\t\telem.getBoundingClientRect().left -\n\t\t\t\t\tswap( elem, { marginLeft: 0 }, function() {\n\t\t\t\t\t\treturn elem.getBoundingClientRect().left;\n\t\t\t\t\t} )\n\t\t\t) + \"px\";\n\t\t}\n\t}\n);\n\n// These hooks are used by animate to expand properties\njQuery.each( {\n\tmargin: \"\",\n\tpadding: \"\",\n\tborder: \"Width\"\n}, function( prefix, suffix ) {\n\tjQuery.cssHooks[ prefix + suffix ] = {\n\t\texpand: function( value ) {\n\t\t\tvar i = 0,\n\t\t\t\texpanded = {},\n\n\t\t\t\t// Assumes a single number if not a string\n\t\t\t\tparts = typeof value === \"string\" ? value.split( \" \" ) : [ value ];\n\n\t\t\tfor ( ; i < 4; i++ ) {\n\t\t\t\texpanded[ prefix + cssExpand[ i ] + suffix ] =\n\t\t\t\t\tparts[ i ] || parts[ i - 2 ] || parts[ 0 ];\n\t\t\t}\n\n\t\t\treturn expanded;\n\t\t}\n\t};\n\n\tif ( prefix !== \"margin\" ) {\n\t\tjQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;\n\t}\n} );\n\njQuery.fn.extend( {\n\tcss: function( name, value ) {\n\t\treturn access( this, function( elem, name, value ) {\n\t\t\tvar styles, len,\n\t\t\t\tmap = {},\n\t\t\t\ti = 0;\n\n\t\t\tif ( Array.isArray( name ) ) {\n\t\t\t\tstyles = getStyles( elem );\n\t\t\t\tlen = name.length;\n\n\t\t\t\tfor ( ; i < len; i++ ) {\n\t\t\t\t\tmap[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );\n\t\t\t\t}\n\n\t\t\t\treturn map;\n\t\t\t}\n\n\t\t\treturn value !== undefined ?\n\t\t\t\tjQuery.style( elem, name, value ) :\n\t\t\t\tjQuery.css( elem, name );\n\t\t}, name, value, arguments.length > 1 );\n\t}\n} );\n\n\nfunction Tween( elem, options, prop, end, easing ) {\n\treturn new Tween.prototype.init( elem, options, prop, end, easing );\n}\njQuery.Tween = Tween;\n\nTween.prototype = {\n\tconstructor: Tween,\n\tinit: function( elem, options, prop, end, easing, unit ) {\n\t\tthis.elem = elem;\n\t\tthis.prop = prop;\n\t\tthis.easing = easing || jQuery.easing._default;\n\t\tthis.options = options;\n\t\tthis.start = this.now = this.cur();\n\t\tthis.end = end;\n\t\tthis.unit = unit || ( jQuery.cssNumber[ prop ] ? \"\" : \"px\" );\n\t},\n\tcur: function() {\n\t\tvar hooks = Tween.propHooks[ this.prop ];\n\n\t\treturn hooks && hooks.get ?\n\t\t\thooks.get( this ) :\n\t\t\tTween.propHooks._default.get( this );\n\t},\n\trun: function( percent ) {\n\t\tvar eased,\n\t\t\thooks = Tween.propHooks[ this.prop ];\n\n\t\tif ( this.options.duration ) {\n\t\t\tthis.pos = eased = jQuery.easing[ this.easing ](\n\t\t\t\tpercent, this.options.duration * percent, 0, 1, this.options.duration\n\t\t\t);\n\t\t} else {\n\t\t\tthis.pos = eased = percent;\n\t\t}\n\t\tthis.now = ( this.end - this.start ) * eased + this.start;\n\n\t\tif ( this.options.step ) {\n\t\t\tthis.options.step.call( this.elem, this.now, this );\n\t\t}\n\n\t\tif ( hooks && hooks.set ) {\n\t\t\thooks.set( this );\n\t\t} else {\n\t\t\tTween.propHooks._default.set( this );\n\t\t}\n\t\treturn this;\n\t}\n};\n\nTween.prototype.init.prototype = Tween.prototype;\n\nTween.propHooks = {\n\t_default: {\n\t\tget: function( tween ) {\n\t\t\tvar result;\n\n\t\t\t// Use a property on the element directly when it is not a DOM element,\n\t\t\t// or when there is no matching style property that exists.\n\t\t\tif ( tween.elem.nodeType !== 1 ||\n\t\t\t\ttween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {\n\t\t\t\treturn tween.elem[ tween.prop ];\n\t\t\t}\n\n\t\t\t// Passing an empty string as a 3rd parameter to .css will automatically\n\t\t\t// attempt a parseFloat and fallback to a string if the parse fails.\n\t\t\t// Simple values such as \"10px\" are parsed to Float;\n\t\t\t// complex values such as \"rotate(1rad)\" are returned as-is.\n\t\t\tresult = jQuery.css( tween.elem, tween.prop, \"\" );\n\n\t\t\t// Empty strings, null, undefined and \"auto\" are converted to 0.\n\t\t\treturn !result || result === \"auto\" ? 0 : result;\n\t\t},\n\t\tset: function( tween ) {\n\n\t\t\t// Use step hook for back compat.\n\t\t\t// Use cssHook if its there.\n\t\t\t// Use .style if available and use plain properties where available.\n\t\t\tif ( jQuery.fx.step[ tween.prop ] ) {\n\t\t\t\tjQuery.fx.step[ tween.prop ]( tween );\n\t\t\t} else if ( tween.elem.nodeType === 1 && (\n\t\t\t\tjQuery.cssHooks[ tween.prop ] ||\n\t\t\t\t\ttween.elem.style[ finalPropName( tween.prop ) ] != null ) ) {\n\t\t\t\tjQuery.style( tween.elem, tween.prop, tween.now + tween.unit );\n\t\t\t} else {\n\t\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t\t}\n\t\t}\n\t}\n};\n\n// Support: IE <=9 only\n// Panic based approach to setting things on disconnected nodes\nTween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {\n\tset: function( tween ) {\n\t\tif ( tween.elem.nodeType && tween.elem.parentNode ) {\n\t\t\ttween.elem[ tween.prop ] = tween.now;\n\t\t}\n\t}\n};\n\njQuery.easing = {\n\tlinear: function( p ) {\n\t\treturn p;\n\t},\n\tswing: function( p ) {\n\t\treturn 0.5 - Math.cos( p * Math.PI ) / 2;\n\t},\n\t_default: \"swing\"\n};\n\njQuery.fx = Tween.prototype.init;\n\n// Back compat <1.8 extension point\njQuery.fx.step = {};\n\n\n\n\nvar\n\tfxNow, inProgress,\n\trfxtypes = /^(?:toggle|show|hide)$/,\n\trrun = /queueHooks$/;\n\nfunction schedule() {\n\tif ( inProgress ) {\n\t\tif ( document.hidden === false && window.requestAnimationFrame ) {\n\t\t\twindow.requestAnimationFrame( schedule );\n\t\t} else {\n\t\t\twindow.setTimeout( schedule, jQuery.fx.interval );\n\t\t}\n\n\t\tjQuery.fx.tick();\n\t}\n}\n\n// Animations created synchronously will run synchronously\nfunction createFxNow() {\n\twindow.setTimeout( function() {\n\t\tfxNow = undefined;\n\t} );\n\treturn ( fxNow = Date.now() );\n}\n\n// Generate parameters to create a standard animation\nfunction genFx( type, includeWidth ) {\n\tvar which,\n\t\ti = 0,\n\t\tattrs = { height: type };\n\n\t// If we include width, step value is 1 to do all cssExpand values,\n\t// otherwise step value is 2 to skip over Left and Right\n\tincludeWidth = includeWidth ? 1 : 0;\n\tfor ( ; i < 4; i += 2 - includeWidth ) {\n\t\twhich = cssExpand[ i ];\n\t\tattrs[ \"margin\" + which ] = attrs[ \"padding\" + which ] = type;\n\t}\n\n\tif ( includeWidth ) {\n\t\tattrs.opacity = attrs.width = type;\n\t}\n\n\treturn attrs;\n}\n\nfunction createTween( value, prop, animation ) {\n\tvar tween,\n\t\tcollection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ \"*\" ] ),\n\t\tindex = 0,\n\t\tlength = collection.length;\n\tfor ( ; index < length; index++ ) {\n\t\tif ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {\n\n\t\t\t// We're done with this property\n\t\t\treturn tween;\n\t\t}\n\t}\n}\n\nfunction defaultPrefilter( elem, props, opts ) {\n\tvar prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,\n\t\tisBox = \"width\" in props || \"height\" in props,\n\t\tanim = this,\n\t\torig = {},\n\t\tstyle = elem.style,\n\t\thidden = elem.nodeType && isHiddenWithinTree( elem ),\n\t\tdataShow = dataPriv.get( elem, \"fxshow\" );\n\n\t// Queue-skipping animations hijack the fx hooks\n\tif ( !opts.queue ) {\n\t\thooks = jQuery._queueHooks( elem, \"fx\" );\n\t\tif ( hooks.unqueued == null ) {\n\t\t\thooks.unqueued = 0;\n\t\t\toldfire = hooks.empty.fire;\n\t\t\thooks.empty.fire = function() {\n\t\t\t\tif ( !hooks.unqueued ) {\n\t\t\t\t\toldfire();\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t\thooks.unqueued++;\n\n\t\tanim.always( function() {\n\n\t\t\t// Ensure the complete handler is called before this completes\n\t\t\tanim.always( function() {\n\t\t\t\thooks.unqueued--;\n\t\t\t\tif ( !jQuery.queue( elem, \"fx\" ).length ) {\n\t\t\t\t\thooks.empty.fire();\n\t\t\t\t}\n\t\t\t} );\n\t\t} );\n\t}\n\n\t// Detect show/hide animations\n\tfor ( prop in props ) {\n\t\tvalue = props[ prop ];\n\t\tif ( rfxtypes.test( value ) ) {\n\t\t\tdelete props[ prop ];\n\t\t\ttoggle = toggle || value === \"toggle\";\n\t\t\tif ( value === ( hidden ? \"hide\" : \"show\" ) ) {\n\n\t\t\t\t// Pretend to be hidden if this is a \"show\" and\n\t\t\t\t// there is still data from a stopped show/hide\n\t\t\t\tif ( value === \"show\" && dataShow && dataShow[ prop ] !== undefined ) {\n\t\t\t\t\thidden = true;\n\n\t\t\t\t// Ignore all other no-op show/hide data\n\t\t\t\t} else {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t}\n\t\t\torig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );\n\t\t}\n\t}\n\n\t// Bail out if this is a no-op like .hide().hide()\n\tpropTween = !jQuery.isEmptyObject( props );\n\tif ( !propTween && jQuery.isEmptyObject( orig ) ) {\n\t\treturn;\n\t}\n\n\t// Restrict \"overflow\" and \"display\" styles during box animations\n\tif ( isBox && elem.nodeType === 1 ) {\n\n\t\t// Support: IE <=9 - 11, Edge 12 - 15\n\t\t// Record all 3 overflow attributes because IE does not infer the shorthand\n\t\t// from identically-valued overflowX and overflowY and Edge just mirrors\n\t\t// the overflowX value there.\n\t\topts.overflow = [ style.overflow, style.overflowX, style.overflowY ];\n\n\t\t// Identify a display type, preferring old show/hide data over the CSS cascade\n\t\trestoreDisplay = dataShow && dataShow.display;\n\t\tif ( restoreDisplay == null ) {\n\t\t\trestoreDisplay = dataPriv.get( elem, \"display\" );\n\t\t}\n\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\tif ( display === \"none\" ) {\n\t\t\tif ( restoreDisplay ) {\n\t\t\t\tdisplay = restoreDisplay;\n\t\t\t} else {\n\n\t\t\t\t// Get nonempty value(s) by temporarily forcing visibility\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t\trestoreDisplay = elem.style.display || restoreDisplay;\n\t\t\t\tdisplay = jQuery.css( elem, \"display\" );\n\t\t\t\tshowHide( [ elem ] );\n\t\t\t}\n\t\t}\n\n\t\t// Animate inline elements as inline-block\n\t\tif ( display === \"inline\" || display === \"inline-block\" && restoreDisplay != null ) {\n\t\t\tif ( jQuery.css( elem, \"float\" ) === \"none\" ) {\n\n\t\t\t\t// Restore the original display value at the end of pure show/hide animations\n\t\t\t\tif ( !propTween ) {\n\t\t\t\t\tanim.done( function() {\n\t\t\t\t\t\tstyle.display = restoreDisplay;\n\t\t\t\t\t} );\n\t\t\t\t\tif ( restoreDisplay == null ) {\n\t\t\t\t\t\tdisplay = style.display;\n\t\t\t\t\t\trestoreDisplay = display === \"none\" ? \"\" : display;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tstyle.display = \"inline-block\";\n\t\t\t}\n\t\t}\n\t}\n\n\tif ( opts.overflow ) {\n\t\tstyle.overflow = \"hidden\";\n\t\tanim.always( function() {\n\t\t\tstyle.overflow = opts.overflow[ 0 ];\n\t\t\tstyle.overflowX = opts.overflow[ 1 ];\n\t\t\tstyle.overflowY = opts.overflow[ 2 ];\n\t\t} );\n\t}\n\n\t// Implement show/hide animations\n\tpropTween = false;\n\tfor ( prop in orig ) {\n\n\t\t// General show/hide setup for this element animation\n\t\tif ( !propTween ) {\n\t\t\tif ( dataShow ) {\n\t\t\t\tif ( \"hidden\" in dataShow ) {\n\t\t\t\t\thidden = dataShow.hidden;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tdataShow = dataPriv.access( elem, \"fxshow\", { display: restoreDisplay } );\n\t\t\t}\n\n\t\t\t// Store hidden/visible for toggle so `.stop().toggle()` \"reverses\"\n\t\t\tif ( toggle ) {\n\t\t\t\tdataShow.hidden = !hidden;\n\t\t\t}\n\n\t\t\t// Show elements before animating them\n\t\t\tif ( hidden ) {\n\t\t\t\tshowHide( [ elem ], true );\n\t\t\t}\n\n\t\t\t/* eslint-disable no-loop-func */\n\n\t\t\tanim.done( function() {\n\n\t\t\t\t/* eslint-enable no-loop-func */\n\n\t\t\t\t// The final step of a \"hide\" animation is actually hiding the element\n\t\t\t\tif ( !hidden ) {\n\t\t\t\t\tshowHide( [ elem ] );\n\t\t\t\t}\n\t\t\t\tdataPriv.remove( elem, \"fxshow\" );\n\t\t\t\tfor ( prop in orig ) {\n\t\t\t\t\tjQuery.style( elem, prop, orig[ prop ] );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Per-property setup\n\t\tpropTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );\n\t\tif ( !( prop in dataShow ) ) {\n\t\t\tdataShow[ prop ] = propTween.start;\n\t\t\tif ( hidden ) {\n\t\t\t\tpropTween.end = propTween.start;\n\t\t\t\tpropTween.start = 0;\n\t\t\t}\n\t\t}\n\t}\n}\n\nfunction propFilter( props, specialEasing ) {\n\tvar index, name, easing, value, hooks;\n\n\t// camelCase, specialEasing and expand cssHook pass\n\tfor ( index in props ) {\n\t\tname = camelCase( index );\n\t\teasing = specialEasing[ name ];\n\t\tvalue = props[ index ];\n\t\tif ( Array.isArray( value ) ) {\n\t\t\teasing = value[ 1 ];\n\t\t\tvalue = props[ index ] = value[ 0 ];\n\t\t}\n\n\t\tif ( index !== name ) {\n\t\t\tprops[ name ] = value;\n\t\t\tdelete props[ index ];\n\t\t}\n\n\t\thooks = jQuery.cssHooks[ name ];\n\t\tif ( hooks && \"expand\" in hooks ) {\n\t\t\tvalue = hooks.expand( value );\n\t\t\tdelete props[ name ];\n\n\t\t\t// Not quite $.extend, this won't overwrite existing keys.\n\t\t\t// Reusing 'index' because we have the correct \"name\"\n\t\t\tfor ( index in value ) {\n\t\t\t\tif ( !( index in props ) ) {\n\t\t\t\t\tprops[ index ] = value[ index ];\n\t\t\t\t\tspecialEasing[ index ] = easing;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tspecialEasing[ name ] = easing;\n\t\t}\n\t}\n}\n\nfunction Animation( elem, properties, options ) {\n\tvar result,\n\t\tstopped,\n\t\tindex = 0,\n\t\tlength = Animation.prefilters.length,\n\t\tdeferred = jQuery.Deferred().always( function() {\n\n\t\t\t// Don't match elem in the :animated selector\n\t\t\tdelete tick.elem;\n\t\t} ),\n\t\ttick = function() {\n\t\t\tif ( stopped ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tvar currentTime = fxNow || createFxNow(),\n\t\t\t\tremaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),\n\n\t\t\t\t// Support: Android 2.3 only\n\t\t\t\t// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (trac-12497)\n\t\t\t\ttemp = remaining / animation.duration || 0,\n\t\t\t\tpercent = 1 - temp,\n\t\t\t\tindex = 0,\n\t\t\t\tlength = animation.tweens.length;\n\n\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\tanimation.tweens[ index ].run( percent );\n\t\t\t}\n\n\t\t\tdeferred.notifyWith( elem, [ animation, percent, remaining ] );\n\n\t\t\t// If there's more to do, yield\n\t\t\tif ( percent < 1 && length ) {\n\t\t\t\treturn remaining;\n\t\t\t}\n\n\t\t\t// If this was an empty animation, synthesize a final progress notification\n\t\t\tif ( !length ) {\n\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t}\n\n\t\t\t// Resolve the animation and report its conclusion\n\t\t\tdeferred.resolveWith( elem, [ animation ] );\n\t\t\treturn false;\n\t\t},\n\t\tanimation = deferred.promise( {\n\t\t\telem: elem,\n\t\t\tprops: jQuery.extend( {}, properties ),\n\t\t\topts: jQuery.extend( true, {\n\t\t\t\tspecialEasing: {},\n\t\t\t\teasing: jQuery.easing._default\n\t\t\t}, options ),\n\t\t\toriginalProperties: properties,\n\t\t\toriginalOptions: options,\n\t\t\tstartTime: fxNow || createFxNow(),\n\t\t\tduration: options.duration,\n\t\t\ttweens: [],\n\t\t\tcreateTween: function( prop, end ) {\n\t\t\t\tvar tween = jQuery.Tween( elem, animation.opts, prop, end,\n\t\t\t\t\tanimation.opts.specialEasing[ prop ] || animation.opts.easing );\n\t\t\t\tanimation.tweens.push( tween );\n\t\t\t\treturn tween;\n\t\t\t},\n\t\t\tstop: function( gotoEnd ) {\n\t\t\t\tvar index = 0,\n\n\t\t\t\t\t// If we are going to the end, we want to run all the tweens\n\t\t\t\t\t// otherwise we skip this part\n\t\t\t\t\tlength = gotoEnd ? animation.tweens.length : 0;\n\t\t\t\tif ( stopped ) {\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t\tstopped = true;\n\t\t\t\tfor ( ; index < length; index++ ) {\n\t\t\t\t\tanimation.tweens[ index ].run( 1 );\n\t\t\t\t}\n\n\t\t\t\t// Resolve when we played the last frame; otherwise, reject\n\t\t\t\tif ( gotoEnd ) {\n\t\t\t\t\tdeferred.notifyWith( elem, [ animation, 1, 0 ] );\n\t\t\t\t\tdeferred.resolveWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t} else {\n\t\t\t\t\tdeferred.rejectWith( elem, [ animation, gotoEnd ] );\n\t\t\t\t}\n\t\t\t\treturn this;\n\t\t\t}\n\t\t} ),\n\t\tprops = animation.props;\n\n\tpropFilter( props, animation.opts.specialEasing );\n\n\tfor ( ; index < length; index++ ) {\n\t\tresult = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );\n\t\tif ( result ) {\n\t\t\tif ( isFunction( result.stop ) ) {\n\t\t\t\tjQuery._queueHooks( animation.elem, animation.opts.queue ).stop =\n\t\t\t\t\tresult.stop.bind( result );\n\t\t\t}\n\t\t\treturn result;\n\t\t}\n\t}\n\n\tjQuery.map( props, createTween, animation );\n\n\tif ( isFunction( animation.opts.start ) ) {\n\t\tanimation.opts.start.call( elem, animation );\n\t}\n\n\t// Attach callbacks from options\n\tanimation\n\t\t.progress( animation.opts.progress )\n\t\t.done( animation.opts.done, animation.opts.complete )\n\t\t.fail( animation.opts.fail )\n\t\t.always( animation.opts.always );\n\n\tjQuery.fx.timer(\n\t\tjQuery.extend( tick, {\n\t\t\telem: elem,\n\t\t\tanim: animation,\n\t\t\tqueue: animation.opts.queue\n\t\t} )\n\t);\n\n\treturn animation;\n}\n\njQuery.Animation = jQuery.extend( Animation, {\n\n\ttweeners: {\n\t\t\"*\": [ function( prop, value ) {\n\t\t\tvar tween = this.createTween( prop, value );\n\t\t\tadjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );\n\t\t\treturn tween;\n\t\t} ]\n\t},\n\n\ttweener: function( props, callback ) {\n\t\tif ( isFunction( props ) ) {\n\t\t\tcallback = props;\n\t\t\tprops = [ \"*\" ];\n\t\t} else {\n\t\t\tprops = props.match( rnothtmlwhite );\n\t\t}\n\n\t\tvar prop,\n\t\t\tindex = 0,\n\t\t\tlength = props.length;\n\n\t\tfor ( ; index < length; index++ ) {\n\t\t\tprop = props[ index ];\n\t\t\tAnimation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];\n\t\t\tAnimation.tweeners[ prop ].unshift( callback );\n\t\t}\n\t},\n\n\tprefilters: [ defaultPrefilter ],\n\n\tprefilter: function( callback, prepend ) {\n\t\tif ( prepend ) {\n\t\t\tAnimation.prefilters.unshift( callback );\n\t\t} else {\n\t\t\tAnimation.prefilters.push( callback );\n\t\t}\n\t}\n} );\n\njQuery.speed = function( speed, easing, fn ) {\n\tvar opt = speed && typeof speed === \"object\" ? jQuery.extend( {}, speed ) : {\n\t\tcomplete: fn || !fn && easing ||\n\t\t\tisFunction( speed ) && speed,\n\t\tduration: speed,\n\t\teasing: fn && easing || easing && !isFunction( easing ) && easing\n\t};\n\n\t// Go to the end state if fx are off\n\tif ( jQuery.fx.off ) {\n\t\topt.duration = 0;\n\n\t} else {\n\t\tif ( typeof opt.duration !== \"number\" ) {\n\t\t\tif ( opt.duration in jQuery.fx.speeds ) {\n\t\t\t\topt.duration = jQuery.fx.speeds[ opt.duration ];\n\n\t\t\t} else {\n\t\t\t\topt.duration = jQuery.fx.speeds._default;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Normalize opt.queue - true/undefined/null -> \"fx\"\n\tif ( opt.queue == null || opt.queue === true ) {\n\t\topt.queue = \"fx\";\n\t}\n\n\t// Queueing\n\topt.old = opt.complete;\n\n\topt.complete = function() {\n\t\tif ( isFunction( opt.old ) ) {\n\t\t\topt.old.call( this );\n\t\t}\n\n\t\tif ( opt.queue ) {\n\t\t\tjQuery.dequeue( this, opt.queue );\n\t\t}\n\t};\n\n\treturn opt;\n};\n\njQuery.fn.extend( {\n\tfadeTo: function( speed, to, easing, callback ) {\n\n\t\t// Show any hidden elements after setting opacity to 0\n\t\treturn this.filter( isHiddenWithinTree ).css( \"opacity\", 0 ).show()\n\n\t\t\t// Animate to the value specified\n\t\t\t.end().animate( { opacity: to }, speed, easing, callback );\n\t},\n\tanimate: function( prop, speed, easing, callback ) {\n\t\tvar empty = jQuery.isEmptyObject( prop ),\n\t\t\toptall = jQuery.speed( speed, easing, callback ),\n\t\t\tdoAnimation = function() {\n\n\t\t\t\t// Operate on a copy of prop so per-property easing won't be lost\n\t\t\t\tvar anim = Animation( this, jQuery.extend( {}, prop ), optall );\n\n\t\t\t\t// Empty animations, or finishing resolves immediately\n\t\t\t\tif ( empty || dataPriv.get( this, \"finish\" ) ) {\n\t\t\t\t\tanim.stop( true );\n\t\t\t\t}\n\t\t\t};\n\n\t\tdoAnimation.finish = doAnimation;\n\n\t\treturn empty || optall.queue === false ?\n\t\t\tthis.each( doAnimation ) :\n\t\t\tthis.queue( optall.queue, doAnimation );\n\t},\n\tstop: function( type, clearQueue, gotoEnd ) {\n\t\tvar stopQueue = function( hooks ) {\n\t\t\tvar stop = hooks.stop;\n\t\t\tdelete hooks.stop;\n\t\t\tstop( gotoEnd );\n\t\t};\n\n\t\tif ( typeof type !== \"string\" ) {\n\t\t\tgotoEnd = clearQueue;\n\t\t\tclearQueue = type;\n\t\t\ttype = undefined;\n\t\t}\n\t\tif ( clearQueue ) {\n\t\t\tthis.queue( type || \"fx\", [] );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar dequeue = true,\n\t\t\t\tindex = type != null && type + \"queueHooks\",\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tdata = dataPriv.get( this );\n\n\t\t\tif ( index ) {\n\t\t\t\tif ( data[ index ] && data[ index ].stop ) {\n\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tfor ( index in data ) {\n\t\t\t\t\tif ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {\n\t\t\t\t\t\tstopQueue( data[ index ] );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this &&\n\t\t\t\t\t( type == null || timers[ index ].queue === type ) ) {\n\n\t\t\t\t\ttimers[ index ].anim.stop( gotoEnd );\n\t\t\t\t\tdequeue = false;\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Start the next in the queue if the last step wasn't forced.\n\t\t\t// Timers currently will call their complete callbacks, which\n\t\t\t// will dequeue but only if they were gotoEnd.\n\t\t\tif ( dequeue || !gotoEnd ) {\n\t\t\t\tjQuery.dequeue( this, type );\n\t\t\t}\n\t\t} );\n\t},\n\tfinish: function( type ) {\n\t\tif ( type !== false ) {\n\t\t\ttype = type || \"fx\";\n\t\t}\n\t\treturn this.each( function() {\n\t\t\tvar index,\n\t\t\t\tdata = dataPriv.get( this ),\n\t\t\t\tqueue = data[ type + \"queue\" ],\n\t\t\t\thooks = data[ type + \"queueHooks\" ],\n\t\t\t\ttimers = jQuery.timers,\n\t\t\t\tlength = queue ? queue.length : 0;\n\n\t\t\t// Enable finishing flag on private data\n\t\t\tdata.finish = true;\n\n\t\t\t// Empty the queue first\n\t\t\tjQuery.queue( this, type, [] );\n\n\t\t\tif ( hooks && hooks.stop ) {\n\t\t\t\thooks.stop.call( this, true );\n\t\t\t}\n\n\t\t\t// Look for any active animations, and finish them\n\t\t\tfor ( index = timers.length; index--; ) {\n\t\t\t\tif ( timers[ index ].elem === this && timers[ index ].queue === type ) {\n\t\t\t\t\ttimers[ index ].anim.stop( true );\n\t\t\t\t\ttimers.splice( index, 1 );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Look for any animations in the old queue and finish them\n\t\t\tfor ( index = 0; index < length; index++ ) {\n\t\t\t\tif ( queue[ index ] && queue[ index ].finish ) {\n\t\t\t\t\tqueue[ index ].finish.call( this );\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Turn off finishing flag\n\t\t\tdelete data.finish;\n\t\t} );\n\t}\n} );\n\njQuery.each( [ \"toggle\", \"show\", \"hide\" ], function( _i, name ) {\n\tvar cssFn = jQuery.fn[ name ];\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn speed == null || typeof speed === \"boolean\" ?\n\t\t\tcssFn.apply( this, arguments ) :\n\t\t\tthis.animate( genFx( name, true ), speed, easing, callback );\n\t};\n} );\n\n// Generate shortcuts for custom animations\njQuery.each( {\n\tslideDown: genFx( \"show\" ),\n\tslideUp: genFx( \"hide\" ),\n\tslideToggle: genFx( \"toggle\" ),\n\tfadeIn: { opacity: \"show\" },\n\tfadeOut: { opacity: \"hide\" },\n\tfadeToggle: { opacity: \"toggle\" }\n}, function( name, props ) {\n\tjQuery.fn[ name ] = function( speed, easing, callback ) {\n\t\treturn this.animate( props, speed, easing, callback );\n\t};\n} );\n\njQuery.timers = [];\njQuery.fx.tick = function() {\n\tvar timer,\n\t\ti = 0,\n\t\ttimers = jQuery.timers;\n\n\tfxNow = Date.now();\n\n\tfor ( ; i < timers.length; i++ ) {\n\t\ttimer = timers[ i ];\n\n\t\t// Run the timer and safely remove it when done (allowing for external removal)\n\t\tif ( !timer() && timers[ i ] === timer ) {\n\t\t\ttimers.splice( i--, 1 );\n\t\t}\n\t}\n\n\tif ( !timers.length ) {\n\t\tjQuery.fx.stop();\n\t}\n\tfxNow = undefined;\n};\n\njQuery.fx.timer = function( timer ) {\n\tjQuery.timers.push( timer );\n\tjQuery.fx.start();\n};\n\njQuery.fx.interval = 13;\njQuery.fx.start = function() {\n\tif ( inProgress ) {\n\t\treturn;\n\t}\n\n\tinProgress = true;\n\tschedule();\n};\n\njQuery.fx.stop = function() {\n\tinProgress = null;\n};\n\njQuery.fx.speeds = {\n\tslow: 600,\n\tfast: 200,\n\n\t// Default speed\n\t_default: 400\n};\n\n\n// Based off of the plugin by Clint Helfers, with permission.\njQuery.fn.delay = function( time, type ) {\n\ttime = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;\n\ttype = type || \"fx\";\n\n\treturn this.queue( type, function( next, hooks ) {\n\t\tvar timeout = window.setTimeout( next, time );\n\t\thooks.stop = function() {\n\t\t\twindow.clearTimeout( timeout );\n\t\t};\n\t} );\n};\n\n\n( function() {\n\tvar input = document.createElement( \"input\" ),\n\t\tselect = document.createElement( \"select\" ),\n\t\topt = select.appendChild( document.createElement( \"option\" ) );\n\n\tinput.type = \"checkbox\";\n\n\t// Support: Android <=4.3 only\n\t// Default value for a checkbox should be \"on\"\n\tsupport.checkOn = input.value !== \"\";\n\n\t// Support: IE <=11 only\n\t// Must access selectedIndex to make default options select\n\tsupport.optSelected = opt.selected;\n\n\t// Support: IE <=11 only\n\t// An input loses its value after becoming a radio\n\tinput = document.createElement( \"input\" );\n\tinput.value = \"t\";\n\tinput.type = \"radio\";\n\tsupport.radioValue = input.value === \"t\";\n} )();\n\n\nvar boolHook,\n\tattrHandle = jQuery.expr.attrHandle;\n\njQuery.fn.extend( {\n\tattr: function( name, value ) {\n\t\treturn access( this, jQuery.attr, name, value, arguments.length > 1 );\n\t},\n\n\tremoveAttr: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.removeAttr( this, name );\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tattr: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set attributes on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Fallback to prop when attributes are not supported\n\t\tif ( typeof elem.getAttribute === \"undefined\" ) {\n\t\t\treturn jQuery.prop( elem, name, value );\n\t\t}\n\n\t\t// Attribute hooks are determined by the lowercase version\n\t\t// Grab necessary hook if one is defined\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\t\t\thooks = jQuery.attrHooks[ name.toLowerCase() ] ||\n\t\t\t\t( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( value === null ) {\n\t\t\t\tjQuery.removeAttr( elem, name );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\telem.setAttribute( name, value + \"\" );\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\tret = jQuery.find.attr( elem, name );\n\n\t\t// Non-existent attributes return null, we normalize to undefined\n\t\treturn ret == null ? undefined : ret;\n\t},\n\n\tattrHooks: {\n\t\ttype: {\n\t\t\tset: function( elem, value ) {\n\t\t\t\tif ( !support.radioValue && value === \"radio\" &&\n\t\t\t\t\tnodeName( elem, \"input\" ) ) {\n\t\t\t\t\tvar val = elem.value;\n\t\t\t\t\telem.setAttribute( \"type\", value );\n\t\t\t\t\tif ( val ) {\n\t\t\t\t\t\telem.value = val;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t},\n\n\tremoveAttr: function( elem, value ) {\n\t\tvar name,\n\t\t\ti = 0,\n\n\t\t\t// Attribute names can contain non-HTML whitespace characters\n\t\t\t// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2\n\t\t\tattrNames = value && value.match( rnothtmlwhite );\n\n\t\tif ( attrNames && elem.nodeType === 1 ) {\n\t\t\twhile ( ( name = attrNames[ i++ ] ) ) {\n\t\t\t\telem.removeAttribute( name );\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Hooks for boolean attributes\nboolHook = {\n\tset: function( elem, value, name ) {\n\t\tif ( value === false ) {\n\n\t\t\t// Remove boolean attributes when set to false\n\t\t\tjQuery.removeAttr( elem, name );\n\t\t} else {\n\t\t\telem.setAttribute( name, name );\n\t\t}\n\t\treturn name;\n\t}\n};\n\njQuery.each( jQuery.expr.match.bool.source.match( /\\w+/g ), function( _i, name ) {\n\tvar getter = attrHandle[ name ] || jQuery.find.attr;\n\n\tattrHandle[ name ] = function( elem, name, isXML ) {\n\t\tvar ret, handle,\n\t\t\tlowercaseName = name.toLowerCase();\n\n\t\tif ( !isXML ) {\n\n\t\t\t// Avoid an infinite loop by temporarily removing this function from the getter\n\t\t\thandle = attrHandle[ lowercaseName ];\n\t\t\tattrHandle[ lowercaseName ] = ret;\n\t\t\tret = getter( elem, name, isXML ) != null ?\n\t\t\t\tlowercaseName :\n\t\t\t\tnull;\n\t\t\tattrHandle[ lowercaseName ] = handle;\n\t\t}\n\t\treturn ret;\n\t};\n} );\n\n\n\n\nvar rfocusable = /^(?:input|select|textarea|button)$/i,\n\trclickable = /^(?:a|area)$/i;\n\njQuery.fn.extend( {\n\tprop: function( name, value ) {\n\t\treturn access( this, jQuery.prop, name, value, arguments.length > 1 );\n\t},\n\n\tremoveProp: function( name ) {\n\t\treturn this.each( function() {\n\t\t\tdelete this[ jQuery.propFix[ name ] || name ];\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tprop: function( elem, name, value ) {\n\t\tvar ret, hooks,\n\t\t\tnType = elem.nodeType;\n\n\t\t// Don't get/set properties on text, comment and attribute nodes\n\t\tif ( nType === 3 || nType === 8 || nType === 2 ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {\n\n\t\t\t// Fix name and attach hooks\n\t\t\tname = jQuery.propFix[ name ] || name;\n\t\t\thooks = jQuery.propHooks[ name ];\n\t\t}\n\n\t\tif ( value !== undefined ) {\n\t\t\tif ( hooks && \"set\" in hooks &&\n\t\t\t\t( ret = hooks.set( elem, value, name ) ) !== undefined ) {\n\t\t\t\treturn ret;\n\t\t\t}\n\n\t\t\treturn ( elem[ name ] = value );\n\t\t}\n\n\t\tif ( hooks && \"get\" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {\n\t\t\treturn ret;\n\t\t}\n\n\t\treturn elem[ name ];\n\t},\n\n\tpropHooks: {\n\t\ttabIndex: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\t// Support: IE <=9 - 11 only\n\t\t\t\t// elem.tabIndex doesn't always return the\n\t\t\t\t// correct value when it hasn't been explicitly set\n\t\t\t\t// Use proper attribute retrieval (trac-12072)\n\t\t\t\tvar tabindex = jQuery.find.attr( elem, \"tabindex\" );\n\n\t\t\t\tif ( tabindex ) {\n\t\t\t\t\treturn parseInt( tabindex, 10 );\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\trfocusable.test( elem.nodeName ) ||\n\t\t\t\t\trclickable.test( elem.nodeName ) &&\n\t\t\t\t\telem.href\n\t\t\t\t) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t},\n\n\tpropFix: {\n\t\t\"for\": \"htmlFor\",\n\t\t\"class\": \"className\"\n\t}\n} );\n\n// Support: IE <=11 only\n// Accessing the selectedIndex property\n// forces the browser to respect setting selected\n// on the option\n// The getter ensures a default option is selected\n// when in an optgroup\n// eslint rule \"no-unused-expressions\" is disabled for this code\n// since it considers such accessions noop\nif ( !support.optSelected ) {\n\tjQuery.propHooks.selected = {\n\t\tget: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent && parent.parentNode ) {\n\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t}\n\t\t\treturn null;\n\t\t},\n\t\tset: function( elem ) {\n\n\t\t\t/* eslint no-unused-expressions: \"off\" */\n\n\t\t\tvar parent = elem.parentNode;\n\t\t\tif ( parent ) {\n\t\t\t\tparent.selectedIndex;\n\n\t\t\t\tif ( parent.parentNode ) {\n\t\t\t\t\tparent.parentNode.selectedIndex;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\njQuery.each( [\n\t\"tabIndex\",\n\t\"readOnly\",\n\t\"maxLength\",\n\t\"cellSpacing\",\n\t\"cellPadding\",\n\t\"rowSpan\",\n\t\"colSpan\",\n\t\"useMap\",\n\t\"frameBorder\",\n\t\"contentEditable\"\n], function() {\n\tjQuery.propFix[ this.toLowerCase() ] = this;\n} );\n\n\n\n\n\t// Strip and collapse whitespace according to HTML spec\n\t// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace\n\tfunction stripAndCollapse( value ) {\n\t\tvar tokens = value.match( rnothtmlwhite ) || [];\n\t\treturn tokens.join( \" \" );\n\t}\n\n\nfunction getClass( elem ) {\n\treturn elem.getAttribute && elem.getAttribute( \"class\" ) || \"\";\n}\n\nfunction classesToArray( value ) {\n\tif ( Array.isArray( value ) ) {\n\t\treturn value;\n\t}\n\tif ( typeof value === \"string\" ) {\n\t\treturn value.match( rnothtmlwhite ) || [];\n\t}\n\treturn [];\n}\n\njQuery.fn.extend( {\n\taddClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).addClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\t\t\t\t\t\tif ( cur.indexOf( \" \" + className + \" \" ) < 0 ) {\n\t\t\t\t\t\t\tcur += className + \" \";\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\tremoveClass: function( value ) {\n\t\tvar classNames, cur, curValue, className, i, finalValue;\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( j ) {\n\t\t\t\tjQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );\n\t\t\t} );\n\t\t}\n\n\t\tif ( !arguments.length ) {\n\t\t\treturn this.attr( \"class\", \"\" );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\tif ( classNames.length ) {\n\t\t\treturn this.each( function() {\n\t\t\t\tcurValue = getClass( this );\n\n\t\t\t\t// This expression is here for better compressibility (see addClass)\n\t\t\t\tcur = this.nodeType === 1 && ( \" \" + stripAndCollapse( curValue ) + \" \" );\n\n\t\t\t\tif ( cur ) {\n\t\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t\t// Remove *all* instances\n\t\t\t\t\t\twhile ( cur.indexOf( \" \" + className + \" \" ) > -1 ) {\n\t\t\t\t\t\t\tcur = cur.replace( \" \" + className + \" \", \" \" );\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Only assign if different to avoid unneeded rendering.\n\t\t\t\t\tfinalValue = stripAndCollapse( cur );\n\t\t\t\t\tif ( curValue !== finalValue ) {\n\t\t\t\t\t\tthis.setAttribute( \"class\", finalValue );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\ttoggleClass: function( value, stateVal ) {\n\t\tvar classNames, className, i, self,\n\t\t\ttype = typeof value,\n\t\t\tisValidValue = type === \"string\" || Array.isArray( value );\n\n\t\tif ( isFunction( value ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).toggleClass(\n\t\t\t\t\tvalue.call( this, i, getClass( this ), stateVal ),\n\t\t\t\t\tstateVal\n\t\t\t\t);\n\t\t\t} );\n\t\t}\n\n\t\tif ( typeof stateVal === \"boolean\" && isValidValue ) {\n\t\t\treturn stateVal ? this.addClass( value ) : this.removeClass( value );\n\t\t}\n\n\t\tclassNames = classesToArray( value );\n\n\t\treturn this.each( function() {\n\t\t\tif ( isValidValue ) {\n\n\t\t\t\t// Toggle individual class names\n\t\t\t\tself = jQuery( this );\n\n\t\t\t\tfor ( i = 0; i < classNames.length; i++ ) {\n\t\t\t\t\tclassName = classNames[ i ];\n\n\t\t\t\t\t// Check each className given, space separated list\n\t\t\t\t\tif ( self.hasClass( className ) ) {\n\t\t\t\t\t\tself.removeClass( className );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.addClass( className );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t// Toggle whole class name\n\t\t\t} else if ( value === undefined || type === \"boolean\" ) {\n\t\t\t\tclassName = getClass( this );\n\t\t\t\tif ( className ) {\n\n\t\t\t\t\t// Store className if set\n\t\t\t\t\tdataPriv.set( this, \"__className__\", className );\n\t\t\t\t}\n\n\t\t\t\t// If the element has a class name or if we're passed `false`,\n\t\t\t\t// then remove the whole classname (if there was one, the above saved it).\n\t\t\t\t// Otherwise bring back whatever was previously saved (if anything),\n\t\t\t\t// falling back to the empty string if nothing was stored.\n\t\t\t\tif ( this.setAttribute ) {\n\t\t\t\t\tthis.setAttribute( \"class\",\n\t\t\t\t\t\tclassName || value === false ?\n\t\t\t\t\t\t\t\"\" :\n\t\t\t\t\t\t\tdataPriv.get( this, \"__className__\" ) || \"\"\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t},\n\n\thasClass: function( selector ) {\n\t\tvar className, elem,\n\t\t\ti = 0;\n\n\t\tclassName = \" \" + selector + \" \";\n\t\twhile ( ( elem = this[ i++ ] ) ) {\n\t\t\tif ( elem.nodeType === 1 &&\n\t\t\t\t( \" \" + stripAndCollapse( getClass( elem ) ) + \" \" ).indexOf( className ) > -1 ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\n\t\treturn false;\n\t}\n} );\n\n\n\n\nvar rreturn = /\\r/g;\n\njQuery.fn.extend( {\n\tval: function( value ) {\n\t\tvar hooks, ret, valueIsFunction,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !arguments.length ) {\n\t\t\tif ( elem ) {\n\t\t\t\thooks = jQuery.valHooks[ elem.type ] ||\n\t\t\t\t\tjQuery.valHooks[ elem.nodeName.toLowerCase() ];\n\n\t\t\t\tif ( hooks &&\n\t\t\t\t\t\"get\" in hooks &&\n\t\t\t\t\t( ret = hooks.get( elem, \"value\" ) ) !== undefined\n\t\t\t\t) {\n\t\t\t\t\treturn ret;\n\t\t\t\t}\n\n\t\t\t\tret = elem.value;\n\n\t\t\t\t// Handle most common string cases\n\t\t\t\tif ( typeof ret === \"string\" ) {\n\t\t\t\t\treturn ret.replace( rreturn, \"\" );\n\t\t\t\t}\n\n\t\t\t\t// Handle cases where value is null/undef or number\n\t\t\t\treturn ret == null ? \"\" : ret;\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\tvalueIsFunction = isFunction( value );\n\n\t\treturn this.each( function( i ) {\n\t\t\tvar val;\n\n\t\t\tif ( this.nodeType !== 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( valueIsFunction ) {\n\t\t\t\tval = value.call( this, i, jQuery( this ).val() );\n\t\t\t} else {\n\t\t\t\tval = value;\n\t\t\t}\n\n\t\t\t// Treat null/undefined as \"\"; convert numbers to string\n\t\t\tif ( val == null ) {\n\t\t\t\tval = \"\";\n\n\t\t\t} else if ( typeof val === \"number\" ) {\n\t\t\t\tval += \"\";\n\n\t\t\t} else if ( Array.isArray( val ) ) {\n\t\t\t\tval = jQuery.map( val, function( value ) {\n\t\t\t\t\treturn value == null ? \"\" : value + \"\";\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\thooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];\n\n\t\t\t// If set returns undefined, fall back to normal setting\n\t\t\tif ( !hooks || !( \"set\" in hooks ) || hooks.set( this, val, \"value\" ) === undefined ) {\n\t\t\t\tthis.value = val;\n\t\t\t}\n\t\t} );\n\t}\n} );\n\njQuery.extend( {\n\tvalHooks: {\n\t\toption: {\n\t\t\tget: function( elem ) {\n\n\t\t\t\tvar val = jQuery.find.attr( elem, \"value\" );\n\t\t\t\treturn val != null ?\n\t\t\t\t\tval :\n\n\t\t\t\t\t// Support: IE <=10 - 11 only\n\t\t\t\t\t// option.text throws exceptions (trac-14686, trac-14858)\n\t\t\t\t\t// Strip and collapse whitespace\n\t\t\t\t\t// https://html.spec.whatwg.org/#strip-and-collapse-whitespace\n\t\t\t\t\tstripAndCollapse( jQuery.text( elem ) );\n\t\t\t}\n\t\t},\n\t\tselect: {\n\t\t\tget: function( elem ) {\n\t\t\t\tvar value, option, i,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tindex = elem.selectedIndex,\n\t\t\t\t\tone = elem.type === \"select-one\",\n\t\t\t\t\tvalues = one ? null : [],\n\t\t\t\t\tmax = one ? index + 1 : options.length;\n\n\t\t\t\tif ( index < 0 ) {\n\t\t\t\t\ti = max;\n\n\t\t\t\t} else {\n\t\t\t\t\ti = one ? index : 0;\n\t\t\t\t}\n\n\t\t\t\t// Loop through all the selected options\n\t\t\t\tfor ( ; i < max; i++ ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t// IE8-9 doesn't update selected after form reset (trac-2551)\n\t\t\t\t\tif ( ( option.selected || i === index ) &&\n\n\t\t\t\t\t\t\t// Don't return options that are disabled or in a disabled optgroup\n\t\t\t\t\t\t\t!option.disabled &&\n\t\t\t\t\t\t\t( !option.parentNode.disabled ||\n\t\t\t\t\t\t\t\t!nodeName( option.parentNode, \"optgroup\" ) ) ) {\n\n\t\t\t\t\t\t// Get the specific value for the option\n\t\t\t\t\t\tvalue = jQuery( option ).val();\n\n\t\t\t\t\t\t// We don't need an array for one selects\n\t\t\t\t\t\tif ( one ) {\n\t\t\t\t\t\t\treturn value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Multi-Selects return an array\n\t\t\t\t\t\tvalues.push( value );\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tset: function( elem, value ) {\n\t\t\t\tvar optionSet, option,\n\t\t\t\t\toptions = elem.options,\n\t\t\t\t\tvalues = jQuery.makeArray( value ),\n\t\t\t\t\ti = options.length;\n\n\t\t\t\twhile ( i-- ) {\n\t\t\t\t\toption = options[ i ];\n\n\t\t\t\t\t/* eslint-disable no-cond-assign */\n\n\t\t\t\t\tif ( option.selected =\n\t\t\t\t\t\tjQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1\n\t\t\t\t\t) {\n\t\t\t\t\t\toptionSet = true;\n\t\t\t\t\t}\n\n\t\t\t\t\t/* eslint-enable no-cond-assign */\n\t\t\t\t}\n\n\t\t\t\t// Force browsers to behave consistently when non-matching value is set\n\t\t\t\tif ( !optionSet ) {\n\t\t\t\t\telem.selectedIndex = -1;\n\t\t\t\t}\n\t\t\t\treturn values;\n\t\t\t}\n\t\t}\n\t}\n} );\n\n// Radios and checkboxes getter/setter\njQuery.each( [ \"radio\", \"checkbox\" ], function() {\n\tjQuery.valHooks[ this ] = {\n\t\tset: function( elem, value ) {\n\t\t\tif ( Array.isArray( value ) ) {\n\t\t\t\treturn ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );\n\t\t\t}\n\t\t}\n\t};\n\tif ( !support.checkOn ) {\n\t\tjQuery.valHooks[ this ].get = function( elem ) {\n\t\t\treturn elem.getAttribute( \"value\" ) === null ? \"on\" : elem.value;\n\t\t};\n\t}\n} );\n\n\n\n\n// Return jQuery for attributes-only inclusion\nvar location = window.location;\n\nvar nonce = { guid: Date.now() };\n\nvar rquery = ( /\\?/ );\n\n\n\n// Cross-browser xml parsing\njQuery.parseXML = function( data ) {\n\tvar xml, parserErrorElem;\n\tif ( !data || typeof data !== \"string\" ) {\n\t\treturn null;\n\t}\n\n\t// Support: IE 9 - 11 only\n\t// IE throws on parseFromString with invalid input.\n\ttry {\n\t\txml = ( new window.DOMParser() ).parseFromString( data, \"text/xml\" );\n\t} catch ( e ) {}\n\n\tparserErrorElem = xml && xml.getElementsByTagName( \"parsererror\" )[ 0 ];\n\tif ( !xml || parserErrorElem ) {\n\t\tjQuery.error( \"Invalid XML: \" + (\n\t\t\tparserErrorElem ?\n\t\t\t\tjQuery.map( parserErrorElem.childNodes, function( el ) {\n\t\t\t\t\treturn el.textContent;\n\t\t\t\t} ).join( \"\\n\" ) :\n\t\t\t\tdata\n\t\t) );\n\t}\n\treturn xml;\n};\n\n\nvar rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,\n\tstopPropagationCallback = function( e ) {\n\t\te.stopPropagation();\n\t};\n\njQuery.extend( jQuery.event, {\n\n\ttrigger: function( event, data, elem, onlyHandlers ) {\n\n\t\tvar i, cur, tmp, bubbleType, ontype, handle, special, lastElement,\n\t\t\teventPath = [ elem || document ],\n\t\t\ttype = hasOwn.call( event, \"type\" ) ? event.type : event,\n\t\t\tnamespaces = hasOwn.call( event, \"namespace\" ) ? event.namespace.split( \".\" ) : [];\n\n\t\tcur = lastElement = tmp = elem = elem || document;\n\n\t\t// Don't do events on text and comment nodes\n\t\tif ( elem.nodeType === 3 || elem.nodeType === 8 ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// focus/blur morphs to focusin/out; ensure we're not firing them right now\n\t\tif ( rfocusMorph.test( type + jQuery.event.triggered ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( type.indexOf( \".\" ) > -1 ) {\n\n\t\t\t// Namespaced trigger; create a regexp to match event type in handle()\n\t\t\tnamespaces = type.split( \".\" );\n\t\t\ttype = namespaces.shift();\n\t\t\tnamespaces.sort();\n\t\t}\n\t\tontype = type.indexOf( \":\" ) < 0 && \"on\" + type;\n\n\t\t// Caller can pass in a jQuery.Event object, Object, or just an event type string\n\t\tevent = event[ jQuery.expando ] ?\n\t\t\tevent :\n\t\t\tnew jQuery.Event( type, typeof event === \"object\" && event );\n\n\t\t// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)\n\t\tevent.isTrigger = onlyHandlers ? 2 : 3;\n\t\tevent.namespace = namespaces.join( \".\" );\n\t\tevent.rnamespace = event.namespace ?\n\t\t\tnew RegExp( \"(^|\\\\.)\" + namespaces.join( \"\\\\.(?:.*\\\\.|)\" ) + \"(\\\\.|$)\" ) :\n\t\t\tnull;\n\n\t\t// Clean up the event in case it is being reused\n\t\tevent.result = undefined;\n\t\tif ( !event.target ) {\n\t\t\tevent.target = elem;\n\t\t}\n\n\t\t// Clone any incoming data and prepend the event, creating the handler arg list\n\t\tdata = data == null ?\n\t\t\t[ event ] :\n\t\t\tjQuery.makeArray( data, [ event ] );\n\n\t\t// Allow special events to draw outside the lines\n\t\tspecial = jQuery.event.special[ type ] || {};\n\t\tif ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Determine event propagation path in advance, per W3C events spec (trac-9951)\n\t\t// Bubble up to document, then to window; watch for a global ownerDocument var (trac-9724)\n\t\tif ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {\n\n\t\t\tbubbleType = special.delegateType || type;\n\t\t\tif ( !rfocusMorph.test( bubbleType + type ) ) {\n\t\t\t\tcur = cur.parentNode;\n\t\t\t}\n\t\t\tfor ( ; cur; cur = cur.parentNode ) {\n\t\t\t\teventPath.push( cur );\n\t\t\t\ttmp = cur;\n\t\t\t}\n\n\t\t\t// Only add window if we got to document (e.g., not plain obj or detached DOM)\n\t\t\tif ( tmp === ( elem.ownerDocument || document ) ) {\n\t\t\t\teventPath.push( tmp.defaultView || tmp.parentWindow || window );\n\t\t\t}\n\t\t}\n\n\t\t// Fire handlers on the event path\n\t\ti = 0;\n\t\twhile ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {\n\t\t\tlastElement = cur;\n\t\t\tevent.type = i > 1 ?\n\t\t\t\tbubbleType :\n\t\t\t\tspecial.bindType || type;\n\n\t\t\t// jQuery handler\n\t\t\thandle = ( dataPriv.get( cur, \"events\" ) || Object.create( null ) )[ event.type ] &&\n\t\t\t\tdataPriv.get( cur, \"handle\" );\n\t\t\tif ( handle ) {\n\t\t\t\thandle.apply( cur, data );\n\t\t\t}\n\n\t\t\t// Native handler\n\t\t\thandle = ontype && cur[ ontype ];\n\t\t\tif ( handle && handle.apply && acceptData( cur ) ) {\n\t\t\t\tevent.result = handle.apply( cur, data );\n\t\t\t\tif ( event.result === false ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tevent.type = type;\n\n\t\t// If nobody prevented the default action, do it now\n\t\tif ( !onlyHandlers && !event.isDefaultPrevented() ) {\n\n\t\t\tif ( ( !special._default ||\n\t\t\t\tspecial._default.apply( eventPath.pop(), data ) === false ) &&\n\t\t\t\tacceptData( elem ) ) {\n\n\t\t\t\t// Call a native DOM method on the target with the same name as the event.\n\t\t\t\t// Don't do default actions on window, that's where global variables be (trac-6170)\n\t\t\t\tif ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {\n\n\t\t\t\t\t// Don't re-trigger an onFOO event when we call its FOO() method\n\t\t\t\t\ttmp = elem[ ontype ];\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = null;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Prevent re-triggering of the same event, since we already bubbled it above\n\t\t\t\t\tjQuery.event.triggered = type;\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.addEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\telem[ type ]();\n\n\t\t\t\t\tif ( event.isPropagationStopped() ) {\n\t\t\t\t\t\tlastElement.removeEventListener( type, stopPropagationCallback );\n\t\t\t\t\t}\n\n\t\t\t\t\tjQuery.event.triggered = undefined;\n\n\t\t\t\t\tif ( tmp ) {\n\t\t\t\t\t\telem[ ontype ] = tmp;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn event.result;\n\t},\n\n\t// Piggyback on a donor event to simulate a different one\n\t// Used only for `focus(in | out)` events\n\tsimulate: function( type, elem, event ) {\n\t\tvar e = jQuery.extend(\n\t\t\tnew jQuery.Event(),\n\t\t\tevent,\n\t\t\t{\n\t\t\t\ttype: type,\n\t\t\t\tisSimulated: true\n\t\t\t}\n\t\t);\n\n\t\tjQuery.event.trigger( e, null, elem );\n\t}\n\n} );\n\njQuery.fn.extend( {\n\n\ttrigger: function( type, data ) {\n\t\treturn this.each( function() {\n\t\t\tjQuery.event.trigger( type, data, this );\n\t\t} );\n\t},\n\ttriggerHandler: function( type, data ) {\n\t\tvar elem = this[ 0 ];\n\t\tif ( elem ) {\n\t\t\treturn jQuery.event.trigger( type, data, elem, true );\n\t\t}\n\t}\n} );\n\n\nvar\n\trbracket = /\\[\\]$/,\n\trCRLF = /\\r?\\n/g,\n\trsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,\n\trsubmittable = /^(?:input|select|textarea|keygen)/i;\n\nfunction buildParams( prefix, obj, traditional, add ) {\n\tvar name;\n\n\tif ( Array.isArray( obj ) ) {\n\n\t\t// Serialize array item.\n\t\tjQuery.each( obj, function( i, v ) {\n\t\t\tif ( traditional || rbracket.test( prefix ) ) {\n\n\t\t\t\t// Treat each array item as a scalar.\n\t\t\t\tadd( prefix, v );\n\n\t\t\t} else {\n\n\t\t\t\t// Item is non-scalar (array or object), encode its numeric index.\n\t\t\t\tbuildParams(\n\t\t\t\t\tprefix + \"[\" + ( typeof v === \"object\" && v != null ? i : \"\" ) + \"]\",\n\t\t\t\t\tv,\n\t\t\t\t\ttraditional,\n\t\t\t\t\tadd\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t} else if ( !traditional && toType( obj ) === \"object\" ) {\n\n\t\t// Serialize object item.\n\t\tfor ( name in obj ) {\n\t\t\tbuildParams( prefix + \"[\" + name + \"]\", obj[ name ], traditional, add );\n\t\t}\n\n\t} else {\n\n\t\t// Serialize scalar item.\n\t\tadd( prefix, obj );\n\t}\n}\n\n// Serialize an array of form elements or a set of\n// key/values into a query string\njQuery.param = function( a, traditional ) {\n\tvar prefix,\n\t\ts = [],\n\t\tadd = function( key, valueOrFunction ) {\n\n\t\t\t// If value is a function, invoke it and use its return value\n\t\t\tvar value = isFunction( valueOrFunction ) ?\n\t\t\t\tvalueOrFunction() :\n\t\t\t\tvalueOrFunction;\n\n\t\t\ts[ s.length ] = encodeURIComponent( key ) + \"=\" +\n\t\t\t\tencodeURIComponent( value == null ? \"\" : value );\n\t\t};\n\n\tif ( a == null ) {\n\t\treturn \"\";\n\t}\n\n\t// If an array was passed in, assume that it is an array of form elements.\n\tif ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {\n\n\t\t// Serialize the form elements\n\t\tjQuery.each( a, function() {\n\t\t\tadd( this.name, this.value );\n\t\t} );\n\n\t} else {\n\n\t\t// If traditional, encode the \"old\" way (the way 1.3.2 or older\n\t\t// did it), otherwise encode params recursively.\n\t\tfor ( prefix in a ) {\n\t\t\tbuildParams( prefix, a[ prefix ], traditional, add );\n\t\t}\n\t}\n\n\t// Return the resulting serialization\n\treturn s.join( \"&\" );\n};\n\njQuery.fn.extend( {\n\tserialize: function() {\n\t\treturn jQuery.param( this.serializeArray() );\n\t},\n\tserializeArray: function() {\n\t\treturn this.map( function() {\n\n\t\t\t// Can add propHook for \"elements\" to filter or add form elements\n\t\t\tvar elements = jQuery.prop( this, \"elements\" );\n\t\t\treturn elements ? jQuery.makeArray( elements ) : this;\n\t\t} ).filter( function() {\n\t\t\tvar type = this.type;\n\n\t\t\t// Use .is( \":disabled\" ) so that fieldset[disabled] works\n\t\t\treturn this.name && !jQuery( this ).is( \":disabled\" ) &&\n\t\t\t\trsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&\n\t\t\t\t( this.checked || !rcheckableType.test( type ) );\n\t\t} ).map( function( _i, elem ) {\n\t\t\tvar val = jQuery( this ).val();\n\n\t\t\tif ( val == null ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tif ( Array.isArray( val ) ) {\n\t\t\t\treturn jQuery.map( val, function( val ) {\n\t\t\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn { name: elem.name, value: val.replace( rCRLF, \"\\r\\n\" ) };\n\t\t} ).get();\n\t}\n} );\n\n\nvar\n\tr20 = /%20/g,\n\trhash = /#.*$/,\n\trantiCache = /([?&])_=[^&]*/,\n\trheaders = /^(.*?):[ \\t]*([^\\r\\n]*)$/mg,\n\n\t// trac-7653, trac-8125, trac-8152: local protocol detection\n\trlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,\n\trnoContent = /^(?:GET|HEAD)$/,\n\trprotocol = /^\\/\\//,\n\n\t/* Prefilters\n\t * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)\n\t * 2) These are called:\n\t * - BEFORE asking for a transport\n\t * - AFTER param serialization (s.data is a string if s.processData is true)\n\t * 3) key is the dataType\n\t * 4) the catchall symbol \"*\" can be used\n\t * 5) execution will start with transport dataType and THEN continue down to \"*\" if needed\n\t */\n\tprefilters = {},\n\n\t/* Transports bindings\n\t * 1) key is the dataType\n\t * 2) the catchall symbol \"*\" can be used\n\t * 3) selection will start with transport dataType and THEN go to \"*\" if needed\n\t */\n\ttransports = {},\n\n\t// Avoid comment-prolog char sequence (trac-10098); must appease lint and evade compression\n\tallTypes = \"*/\".concat( \"*\" ),\n\n\t// Anchor tag for parsing the document origin\n\toriginAnchor = document.createElement( \"a\" );\n\noriginAnchor.href = location.href;\n\n// Base \"constructor\" for jQuery.ajaxPrefilter and jQuery.ajaxTransport\nfunction addToPrefiltersOrTransports( structure ) {\n\n\t// dataTypeExpression is optional and defaults to \"*\"\n\treturn function( dataTypeExpression, func ) {\n\n\t\tif ( typeof dataTypeExpression !== \"string\" ) {\n\t\t\tfunc = dataTypeExpression;\n\t\t\tdataTypeExpression = \"*\";\n\t\t}\n\n\t\tvar dataType,\n\t\t\ti = 0,\n\t\t\tdataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];\n\n\t\tif ( isFunction( func ) ) {\n\n\t\t\t// For each dataType in the dataTypeExpression\n\t\t\twhile ( ( dataType = dataTypes[ i++ ] ) ) {\n\n\t\t\t\t// Prepend if requested\n\t\t\t\tif ( dataType[ 0 ] === \"+\" ) {\n\t\t\t\t\tdataType = dataType.slice( 1 ) || \"*\";\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );\n\n\t\t\t\t// Otherwise append\n\t\t\t\t} else {\n\t\t\t\t\t( structure[ dataType ] = structure[ dataType ] || [] ).push( func );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t};\n}\n\n// Base inspection function for prefilters and transports\nfunction inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {\n\n\tvar inspected = {},\n\t\tseekingTransport = ( structure === transports );\n\n\tfunction inspect( dataType ) {\n\t\tvar selected;\n\t\tinspected[ dataType ] = true;\n\t\tjQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {\n\t\t\tvar dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );\n\t\t\tif ( typeof dataTypeOrTransport === \"string\" &&\n\t\t\t\t!seekingTransport && !inspected[ dataTypeOrTransport ] ) {\n\n\t\t\t\toptions.dataTypes.unshift( dataTypeOrTransport );\n\t\t\t\tinspect( dataTypeOrTransport );\n\t\t\t\treturn false;\n\t\t\t} else if ( seekingTransport ) {\n\t\t\t\treturn !( selected = dataTypeOrTransport );\n\t\t\t}\n\t\t} );\n\t\treturn selected;\n\t}\n\n\treturn inspect( options.dataTypes[ 0 ] ) || !inspected[ \"*\" ] && inspect( \"*\" );\n}\n\n// A special extend for ajax options\n// that takes \"flat\" options (not to be deep extended)\n// Fixes trac-9887\nfunction ajaxExtend( target, src ) {\n\tvar key, deep,\n\t\tflatOptions = jQuery.ajaxSettings.flatOptions || {};\n\n\tfor ( key in src ) {\n\t\tif ( src[ key ] !== undefined ) {\n\t\t\t( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];\n\t\t}\n\t}\n\tif ( deep ) {\n\t\tjQuery.extend( true, target, deep );\n\t}\n\n\treturn target;\n}\n\n/* Handles responses to an ajax request:\n * - finds the right dataType (mediates between content-type and expected dataType)\n * - returns the corresponding response\n */\nfunction ajaxHandleResponses( s, jqXHR, responses ) {\n\n\tvar ct, type, finalDataType, firstDataType,\n\t\tcontents = s.contents,\n\t\tdataTypes = s.dataTypes;\n\n\t// Remove auto dataType and get content-type in the process\n\twhile ( dataTypes[ 0 ] === \"*\" ) {\n\t\tdataTypes.shift();\n\t\tif ( ct === undefined ) {\n\t\t\tct = s.mimeType || jqXHR.getResponseHeader( \"Content-Type\" );\n\t\t}\n\t}\n\n\t// Check if we're dealing with a known content-type\n\tif ( ct ) {\n\t\tfor ( type in contents ) {\n\t\t\tif ( contents[ type ] && contents[ type ].test( ct ) ) {\n\t\t\t\tdataTypes.unshift( type );\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n\n\t// Check to see if we have a response for the expected dataType\n\tif ( dataTypes[ 0 ] in responses ) {\n\t\tfinalDataType = dataTypes[ 0 ];\n\t} else {\n\n\t\t// Try convertible dataTypes\n\t\tfor ( type in responses ) {\n\t\t\tif ( !dataTypes[ 0 ] || s.converters[ type + \" \" + dataTypes[ 0 ] ] ) {\n\t\t\t\tfinalDataType = type;\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif ( !firstDataType ) {\n\t\t\t\tfirstDataType = type;\n\t\t\t}\n\t\t}\n\n\t\t// Or just use first one\n\t\tfinalDataType = finalDataType || firstDataType;\n\t}\n\n\t// If we found a dataType\n\t// We add the dataType to the list if needed\n\t// and return the corresponding response\n\tif ( finalDataType ) {\n\t\tif ( finalDataType !== dataTypes[ 0 ] ) {\n\t\t\tdataTypes.unshift( finalDataType );\n\t\t}\n\t\treturn responses[ finalDataType ];\n\t}\n}\n\n/* Chain conversions given the request and the original response\n * Also sets the responseXXX fields on the jqXHR instance\n */\nfunction ajaxConvert( s, response, jqXHR, isSuccess ) {\n\tvar conv2, current, conv, tmp, prev,\n\t\tconverters = {},\n\n\t\t// Work with a copy of dataTypes in case we need to modify it for conversion\n\t\tdataTypes = s.dataTypes.slice();\n\n\t// Create converters map with lowercased keys\n\tif ( dataTypes[ 1 ] ) {\n\t\tfor ( conv in s.converters ) {\n\t\t\tconverters[ conv.toLowerCase() ] = s.converters[ conv ];\n\t\t}\n\t}\n\n\tcurrent = dataTypes.shift();\n\n\t// Convert to each sequential dataType\n\twhile ( current ) {\n\n\t\tif ( s.responseFields[ current ] ) {\n\t\t\tjqXHR[ s.responseFields[ current ] ] = response;\n\t\t}\n\n\t\t// Apply the dataFilter if provided\n\t\tif ( !prev && isSuccess && s.dataFilter ) {\n\t\t\tresponse = s.dataFilter( response, s.dataType );\n\t\t}\n\n\t\tprev = current;\n\t\tcurrent = dataTypes.shift();\n\n\t\tif ( current ) {\n\n\t\t\t// There's only work to do if current dataType is non-auto\n\t\t\tif ( current === \"*\" ) {\n\n\t\t\t\tcurrent = prev;\n\n\t\t\t// Convert response if prev dataType is non-auto and differs from current\n\t\t\t} else if ( prev !== \"*\" && prev !== current ) {\n\n\t\t\t\t// Seek a direct converter\n\t\t\t\tconv = converters[ prev + \" \" + current ] || converters[ \"* \" + current ];\n\n\t\t\t\t// If none found, seek a pair\n\t\t\t\tif ( !conv ) {\n\t\t\t\t\tfor ( conv2 in converters ) {\n\n\t\t\t\t\t\t// If conv2 outputs current\n\t\t\t\t\t\ttmp = conv2.split( \" \" );\n\t\t\t\t\t\tif ( tmp[ 1 ] === current ) {\n\n\t\t\t\t\t\t\t// If prev can be converted to accepted input\n\t\t\t\t\t\t\tconv = converters[ prev + \" \" + tmp[ 0 ] ] ||\n\t\t\t\t\t\t\t\tconverters[ \"* \" + tmp[ 0 ] ];\n\t\t\t\t\t\t\tif ( conv ) {\n\n\t\t\t\t\t\t\t\t// Condense equivalence converters\n\t\t\t\t\t\t\t\tif ( conv === true ) {\n\t\t\t\t\t\t\t\t\tconv = converters[ conv2 ];\n\n\t\t\t\t\t\t\t\t// Otherwise, insert the intermediate dataType\n\t\t\t\t\t\t\t\t} else if ( converters[ conv2 ] !== true ) {\n\t\t\t\t\t\t\t\t\tcurrent = tmp[ 0 ];\n\t\t\t\t\t\t\t\t\tdataTypes.unshift( tmp[ 1 ] );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Apply converter (if not an equivalence)\n\t\t\t\tif ( conv !== true ) {\n\n\t\t\t\t\t// Unless errors are allowed to bubble, catch and return them\n\t\t\t\t\tif ( conv && s.throws ) {\n\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tresponse = conv( response );\n\t\t\t\t\t\t} catch ( e ) {\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\tstate: \"parsererror\",\n\t\t\t\t\t\t\t\terror: conv ? e : \"No conversion from \" + prev + \" to \" + current\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn { state: \"success\", data: response };\n}\n\njQuery.extend( {\n\n\t// Counter for holding the number of active queries\n\tactive: 0,\n\n\t// Last-Modified header cache for next request\n\tlastModified: {},\n\tetag: {},\n\n\tajaxSettings: {\n\t\turl: location.href,\n\t\ttype: \"GET\",\n\t\tisLocal: rlocalProtocol.test( location.protocol ),\n\t\tglobal: true,\n\t\tprocessData: true,\n\t\tasync: true,\n\t\tcontentType: \"application/x-www-form-urlencoded; charset=UTF-8\",\n\n\t\t/*\n\t\ttimeout: 0,\n\t\tdata: null,\n\t\tdataType: null,\n\t\tusername: null,\n\t\tpassword: null,\n\t\tcache: null,\n\t\tthrows: false,\n\t\ttraditional: false,\n\t\theaders: {},\n\t\t*/\n\n\t\taccepts: {\n\t\t\t\"*\": allTypes,\n\t\t\ttext: \"text/plain\",\n\t\t\thtml: \"text/html\",\n\t\t\txml: \"application/xml, text/xml\",\n\t\t\tjson: \"application/json, text/javascript\"\n\t\t},\n\n\t\tcontents: {\n\t\t\txml: /\\bxml\\b/,\n\t\t\thtml: /\\bhtml/,\n\t\t\tjson: /\\bjson\\b/\n\t\t},\n\n\t\tresponseFields: {\n\t\t\txml: \"responseXML\",\n\t\t\ttext: \"responseText\",\n\t\t\tjson: \"responseJSON\"\n\t\t},\n\n\t\t// Data converters\n\t\t// Keys separate source (or catchall \"*\") and destination types with a single space\n\t\tconverters: {\n\n\t\t\t// Convert anything to text\n\t\t\t\"* text\": String,\n\n\t\t\t// Text to html (true = no transformation)\n\t\t\t\"text html\": true,\n\n\t\t\t// Evaluate text as a json expression\n\t\t\t\"text json\": JSON.parse,\n\n\t\t\t// Parse text as xml\n\t\t\t\"text xml\": jQuery.parseXML\n\t\t},\n\n\t\t// For options that shouldn't be deep extended:\n\t\t// you can add your own custom options here if\n\t\t// and when you create one that shouldn't be\n\t\t// deep extended (see ajaxExtend)\n\t\tflatOptions: {\n\t\t\turl: true,\n\t\t\tcontext: true\n\t\t}\n\t},\n\n\t// Creates a full fledged settings object into target\n\t// with both ajaxSettings and settings fields.\n\t// If target is omitted, writes into ajaxSettings.\n\tajaxSetup: function( target, settings ) {\n\t\treturn settings ?\n\n\t\t\t// Building a settings object\n\t\t\tajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :\n\n\t\t\t// Extending ajaxSettings\n\t\t\tajaxExtend( jQuery.ajaxSettings, target );\n\t},\n\n\tajaxPrefilter: addToPrefiltersOrTransports( prefilters ),\n\tajaxTransport: addToPrefiltersOrTransports( transports ),\n\n\t// Main method\n\tajax: function( url, options ) {\n\n\t\t// If url is an object, simulate pre-1.5 signature\n\t\tif ( typeof url === \"object\" ) {\n\t\t\toptions = url;\n\t\t\turl = undefined;\n\t\t}\n\n\t\t// Force options to be an object\n\t\toptions = options || {};\n\n\t\tvar transport,\n\n\t\t\t// URL without anti-cache param\n\t\t\tcacheURL,\n\n\t\t\t// Response headers\n\t\t\tresponseHeadersString,\n\t\t\tresponseHeaders,\n\n\t\t\t// timeout handle\n\t\t\ttimeoutTimer,\n\n\t\t\t// Url cleanup var\n\t\t\turlAnchor,\n\n\t\t\t// Request state (becomes false upon send and true upon completion)\n\t\t\tcompleted,\n\n\t\t\t// To know if global events are to be dispatched\n\t\t\tfireGlobals,\n\n\t\t\t// Loop variable\n\t\t\ti,\n\n\t\t\t// uncached part of the url\n\t\t\tuncached,\n\n\t\t\t// Create the final options object\n\t\t\ts = jQuery.ajaxSetup( {}, options ),\n\n\t\t\t// Callbacks context\n\t\t\tcallbackContext = s.context || s,\n\n\t\t\t// Context for global events is callbackContext if it is a DOM node or jQuery collection\n\t\t\tglobalEventContext = s.context &&\n\t\t\t\t( callbackContext.nodeType || callbackContext.jquery ) ?\n\t\t\t\tjQuery( callbackContext ) :\n\t\t\t\tjQuery.event,\n\n\t\t\t// Deferreds\n\t\t\tdeferred = jQuery.Deferred(),\n\t\t\tcompleteDeferred = jQuery.Callbacks( \"once memory\" ),\n\n\t\t\t// Status-dependent callbacks\n\t\t\tstatusCode = s.statusCode || {},\n\n\t\t\t// Headers (they are sent all at once)\n\t\t\trequestHeaders = {},\n\t\t\trequestHeadersNames = {},\n\n\t\t\t// Default abort message\n\t\t\tstrAbort = \"canceled\",\n\n\t\t\t// Fake xhr\n\t\t\tjqXHR = {\n\t\t\t\treadyState: 0,\n\n\t\t\t\t// Builds headers hashtable if needed\n\t\t\t\tgetResponseHeader: function( key ) {\n\t\t\t\t\tvar match;\n\t\t\t\t\tif ( completed ) {\n\t\t\t\t\t\tif ( !responseHeaders ) {\n\t\t\t\t\t\t\tresponseHeaders = {};\n\t\t\t\t\t\t\twhile ( ( match = rheaders.exec( responseHeadersString ) ) ) {\n\t\t\t\t\t\t\t\tresponseHeaders[ match[ 1 ].toLowerCase() + \" \" ] =\n\t\t\t\t\t\t\t\t\t( responseHeaders[ match[ 1 ].toLowerCase() + \" \" ] || [] )\n\t\t\t\t\t\t\t\t\t\t.concat( match[ 2 ] );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmatch = responseHeaders[ key.toLowerCase() + \" \" ];\n\t\t\t\t\t}\n\t\t\t\t\treturn match == null ? null : match.join( \", \" );\n\t\t\t\t},\n\n\t\t\t\t// Raw string\n\t\t\t\tgetAllResponseHeaders: function() {\n\t\t\t\t\treturn completed ? responseHeadersString : null;\n\t\t\t\t},\n\n\t\t\t\t// Caches the header\n\t\t\t\tsetRequestHeader: function( name, value ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\tname = requestHeadersNames[ name.toLowerCase() ] =\n\t\t\t\t\t\t\trequestHeadersNames[ name.toLowerCase() ] || name;\n\t\t\t\t\t\trequestHeaders[ name ] = value;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Overrides response content-type header\n\t\t\t\toverrideMimeType: function( type ) {\n\t\t\t\t\tif ( completed == null ) {\n\t\t\t\t\t\ts.mimeType = type;\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Status-dependent callbacks\n\t\t\t\tstatusCode: function( map ) {\n\t\t\t\t\tvar code;\n\t\t\t\t\tif ( map ) {\n\t\t\t\t\t\tif ( completed ) {\n\n\t\t\t\t\t\t\t// Execute the appropriate callbacks\n\t\t\t\t\t\t\tjqXHR.always( map[ jqXHR.status ] );\n\t\t\t\t\t\t} else {\n\n\t\t\t\t\t\t\t// Lazy-add the new callbacks in a way that preserves old ones\n\t\t\t\t\t\t\tfor ( code in map ) {\n\t\t\t\t\t\t\t\tstatusCode[ code ] = [ statusCode[ code ], map[ code ] ];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn this;\n\t\t\t\t},\n\n\t\t\t\t// Cancel the request\n\t\t\t\tabort: function( statusText ) {\n\t\t\t\t\tvar finalText = statusText || strAbort;\n\t\t\t\t\tif ( transport ) {\n\t\t\t\t\t\ttransport.abort( finalText );\n\t\t\t\t\t}\n\t\t\t\t\tdone( 0, finalText );\n\t\t\t\t\treturn this;\n\t\t\t\t}\n\t\t\t};\n\n\t\t// Attach deferreds\n\t\tdeferred.promise( jqXHR );\n\n\t\t// Add protocol if not provided (prefilters might expect it)\n\t\t// Handle falsy url in the settings object (trac-10093: consistency with old signature)\n\t\t// We also use the url parameter if available\n\t\ts.url = ( ( url || s.url || location.href ) + \"\" )\n\t\t\t.replace( rprotocol, location.protocol + \"//\" );\n\n\t\t// Alias method option to type as per ticket trac-12004\n\t\ts.type = options.method || options.type || s.method || s.type;\n\n\t\t// Extract dataTypes list\n\t\ts.dataTypes = ( s.dataType || \"*\" ).toLowerCase().match( rnothtmlwhite ) || [ \"\" ];\n\n\t\t// A cross-domain request is in order when the origin doesn't match the current origin.\n\t\tif ( s.crossDomain == null ) {\n\t\t\turlAnchor = document.createElement( \"a\" );\n\n\t\t\t// Support: IE <=8 - 11, Edge 12 - 15\n\t\t\t// IE throws exception on accessing the href property if url is malformed,\n\t\t\t// e.g. http://example.com:80x/\n\t\t\ttry {\n\t\t\t\turlAnchor.href = s.url;\n\n\t\t\t\t// Support: IE <=8 - 11 only\n\t\t\t\t// Anchor's host property isn't correctly set when s.url is relative\n\t\t\t\turlAnchor.href = urlAnchor.href;\n\t\t\t\ts.crossDomain = originAnchor.protocol + \"//\" + originAnchor.host !==\n\t\t\t\t\turlAnchor.protocol + \"//\" + urlAnchor.host;\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// If there is an error parsing the URL, assume it is crossDomain,\n\t\t\t\t// it can be rejected by the transport if it is invalid\n\t\t\t\ts.crossDomain = true;\n\t\t\t}\n\t\t}\n\n\t\t// Convert data if not already a string\n\t\tif ( s.data && s.processData && typeof s.data !== \"string\" ) {\n\t\t\ts.data = jQuery.param( s.data, s.traditional );\n\t\t}\n\n\t\t// Apply prefilters\n\t\tinspectPrefiltersOrTransports( prefilters, s, options, jqXHR );\n\n\t\t// If request was aborted inside a prefilter, stop there\n\t\tif ( completed ) {\n\t\t\treturn jqXHR;\n\t\t}\n\n\t\t// We can fire global events as of now if asked to\n\t\t// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (trac-15118)\n\t\tfireGlobals = jQuery.event && s.global;\n\n\t\t// Watch for a new set of requests\n\t\tif ( fireGlobals && jQuery.active++ === 0 ) {\n\t\t\tjQuery.event.trigger( \"ajaxStart\" );\n\t\t}\n\n\t\t// Uppercase the type\n\t\ts.type = s.type.toUpperCase();\n\n\t\t// Determine if request has content\n\t\ts.hasContent = !rnoContent.test( s.type );\n\n\t\t// Save the URL in case we're toying with the If-Modified-Since\n\t\t// and/or If-None-Match header later on\n\t\t// Remove hash to simplify url manipulation\n\t\tcacheURL = s.url.replace( rhash, \"\" );\n\n\t\t// More options handling for requests with no content\n\t\tif ( !s.hasContent ) {\n\n\t\t\t// Remember the hash so we can put it back\n\t\t\tuncached = s.url.slice( cacheURL.length );\n\n\t\t\t// If data is available and should be processed, append data to url\n\t\t\tif ( s.data && ( s.processData || typeof s.data === \"string\" ) ) {\n\t\t\t\tcacheURL += ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + s.data;\n\n\t\t\t\t// trac-9682: remove data so that it's not used in an eventual retry\n\t\t\t\tdelete s.data;\n\t\t\t}\n\n\t\t\t// Add or update anti-cache param if needed\n\t\t\tif ( s.cache === false ) {\n\t\t\t\tcacheURL = cacheURL.replace( rantiCache, \"$1\" );\n\t\t\t\tuncached = ( rquery.test( cacheURL ) ? \"&\" : \"?\" ) + \"_=\" + ( nonce.guid++ ) +\n\t\t\t\t\tuncached;\n\t\t\t}\n\n\t\t\t// Put hash and anti-cache on the URL that will be requested (gh-1732)\n\t\t\ts.url = cacheURL + uncached;\n\n\t\t// Change '%20' to '+' if this is encoded form body content (gh-2658)\n\t\t} else if ( s.data && s.processData &&\n\t\t\t( s.contentType || \"\" ).indexOf( \"application/x-www-form-urlencoded\" ) === 0 ) {\n\t\t\ts.data = s.data.replace( r20, \"+\" );\n\t\t}\n\n\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\tif ( s.ifModified ) {\n\t\t\tif ( jQuery.lastModified[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-Modified-Since\", jQuery.lastModified[ cacheURL ] );\n\t\t\t}\n\t\t\tif ( jQuery.etag[ cacheURL ] ) {\n\t\t\t\tjqXHR.setRequestHeader( \"If-None-Match\", jQuery.etag[ cacheURL ] );\n\t\t\t}\n\t\t}\n\n\t\t// Set the correct header, if data is being sent\n\t\tif ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {\n\t\t\tjqXHR.setRequestHeader( \"Content-Type\", s.contentType );\n\t\t}\n\n\t\t// Set the Accepts header for the server, depending on the dataType\n\t\tjqXHR.setRequestHeader(\n\t\t\t\"Accept\",\n\t\t\ts.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?\n\t\t\t\ts.accepts[ s.dataTypes[ 0 ] ] +\n\t\t\t\t\t( s.dataTypes[ 0 ] !== \"*\" ? \", \" + allTypes + \"; q=0.01\" : \"\" ) :\n\t\t\t\ts.accepts[ \"*\" ]\n\t\t);\n\n\t\t// Check for headers option\n\t\tfor ( i in s.headers ) {\n\t\t\tjqXHR.setRequestHeader( i, s.headers[ i ] );\n\t\t}\n\n\t\t// Allow custom headers/mimetypes and early abort\n\t\tif ( s.beforeSend &&\n\t\t\t( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {\n\n\t\t\t// Abort if not done already and return\n\t\t\treturn jqXHR.abort();\n\t\t}\n\n\t\t// Aborting is no longer a cancellation\n\t\tstrAbort = \"abort\";\n\n\t\t// Install callbacks on deferreds\n\t\tcompleteDeferred.add( s.complete );\n\t\tjqXHR.done( s.success );\n\t\tjqXHR.fail( s.error );\n\n\t\t// Get transport\n\t\ttransport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );\n\n\t\t// If no transport, we auto-abort\n\t\tif ( !transport ) {\n\t\t\tdone( -1, \"No Transport\" );\n\t\t} else {\n\t\t\tjqXHR.readyState = 1;\n\n\t\t\t// Send global event\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxSend\", [ jqXHR, s ] );\n\t\t\t}\n\n\t\t\t// If request was aborted inside ajaxSend, stop there\n\t\t\tif ( completed ) {\n\t\t\t\treturn jqXHR;\n\t\t\t}\n\n\t\t\t// Timeout\n\t\t\tif ( s.async && s.timeout > 0 ) {\n\t\t\t\ttimeoutTimer = window.setTimeout( function() {\n\t\t\t\t\tjqXHR.abort( \"timeout\" );\n\t\t\t\t}, s.timeout );\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tcompleted = false;\n\t\t\t\ttransport.send( requestHeaders, done );\n\t\t\t} catch ( e ) {\n\n\t\t\t\t// Rethrow post-completion exceptions\n\t\t\t\tif ( completed ) {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\n\t\t\t\t// Propagate others as results\n\t\t\t\tdone( -1, e );\n\t\t\t}\n\t\t}\n\n\t\t// Callback for when everything is done\n\t\tfunction done( status, nativeStatusText, responses, headers ) {\n\t\t\tvar isSuccess, success, error, response, modified,\n\t\t\t\tstatusText = nativeStatusText;\n\n\t\t\t// Ignore repeat invocations\n\t\t\tif ( completed ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tcompleted = true;\n\n\t\t\t// Clear timeout if it exists\n\t\t\tif ( timeoutTimer ) {\n\t\t\t\twindow.clearTimeout( timeoutTimer );\n\t\t\t}\n\n\t\t\t// Dereference transport for early garbage collection\n\t\t\t// (no matter how long the jqXHR object will be used)\n\t\t\ttransport = undefined;\n\n\t\t\t// Cache response headers\n\t\t\tresponseHeadersString = headers || \"\";\n\n\t\t\t// Set readyState\n\t\t\tjqXHR.readyState = status > 0 ? 4 : 0;\n\n\t\t\t// Determine if successful\n\t\t\tisSuccess = status >= 200 && status < 300 || status === 304;\n\n\t\t\t// Get response data\n\t\t\tif ( responses ) {\n\t\t\t\tresponse = ajaxHandleResponses( s, jqXHR, responses );\n\t\t\t}\n\n\t\t\t// Use a noop converter for missing script but not if jsonp\n\t\t\tif ( !isSuccess &&\n\t\t\t\tjQuery.inArray( \"script\", s.dataTypes ) > -1 &&\n\t\t\t\tjQuery.inArray( \"json\", s.dataTypes ) < 0 ) {\n\t\t\t\ts.converters[ \"text script\" ] = function() {};\n\t\t\t}\n\n\t\t\t// Convert no matter what (that way responseXXX fields are always set)\n\t\t\tresponse = ajaxConvert( s, response, jqXHR, isSuccess );\n\n\t\t\t// If successful, handle type chaining\n\t\t\tif ( isSuccess ) {\n\n\t\t\t\t// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.\n\t\t\t\tif ( s.ifModified ) {\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"Last-Modified\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.lastModified[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t\tmodified = jqXHR.getResponseHeader( \"etag\" );\n\t\t\t\t\tif ( modified ) {\n\t\t\t\t\t\tjQuery.etag[ cacheURL ] = modified;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// if no content\n\t\t\t\tif ( status === 204 || s.type === \"HEAD\" ) {\n\t\t\t\t\tstatusText = \"nocontent\";\n\n\t\t\t\t// if not modified\n\t\t\t\t} else if ( status === 304 ) {\n\t\t\t\t\tstatusText = \"notmodified\";\n\n\t\t\t\t// If we have data, let's convert it\n\t\t\t\t} else {\n\t\t\t\t\tstatusText = response.state;\n\t\t\t\t\tsuccess = response.data;\n\t\t\t\t\terror = response.error;\n\t\t\t\t\tisSuccess = !error;\n\t\t\t\t}\n\t\t\t} else {\n\n\t\t\t\t// Extract error from statusText and normalize for non-aborts\n\t\t\t\terror = statusText;\n\t\t\t\tif ( status || !statusText ) {\n\t\t\t\t\tstatusText = \"error\";\n\t\t\t\t\tif ( status < 0 ) {\n\t\t\t\t\t\tstatus = 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// Set data for the fake xhr object\n\t\t\tjqXHR.status = status;\n\t\t\tjqXHR.statusText = ( nativeStatusText || statusText ) + \"\";\n\n\t\t\t// Success/Error\n\t\t\tif ( isSuccess ) {\n\t\t\t\tdeferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );\n\t\t\t} else {\n\t\t\t\tdeferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );\n\t\t\t}\n\n\t\t\t// Status-dependent callbacks\n\t\t\tjqXHR.statusCode( statusCode );\n\t\t\tstatusCode = undefined;\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( isSuccess ? \"ajaxSuccess\" : \"ajaxError\",\n\t\t\t\t\t[ jqXHR, s, isSuccess ? success : error ] );\n\t\t\t}\n\n\t\t\t// Complete\n\t\t\tcompleteDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );\n\n\t\t\tif ( fireGlobals ) {\n\t\t\t\tglobalEventContext.trigger( \"ajaxComplete\", [ jqXHR, s ] );\n\n\t\t\t\t// Handle the global AJAX counter\n\t\t\t\tif ( !( --jQuery.active ) ) {\n\t\t\t\t\tjQuery.event.trigger( \"ajaxStop\" );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn jqXHR;\n\t},\n\n\tgetJSON: function( url, data, callback ) {\n\t\treturn jQuery.get( url, data, callback, \"json\" );\n\t},\n\n\tgetScript: function( url, callback ) {\n\t\treturn jQuery.get( url, undefined, callback, \"script\" );\n\t}\n} );\n\njQuery.each( [ \"get\", \"post\" ], function( _i, method ) {\n\tjQuery[ method ] = function( url, data, callback, type ) {\n\n\t\t// Shift arguments if data argument was omitted\n\t\tif ( isFunction( data ) ) {\n\t\t\ttype = type || callback;\n\t\t\tcallback = data;\n\t\t\tdata = undefined;\n\t\t}\n\n\t\t// The url can be an options object (which then must have .url)\n\t\treturn jQuery.ajax( jQuery.extend( {\n\t\t\turl: url,\n\t\t\ttype: method,\n\t\t\tdataType: type,\n\t\t\tdata: data,\n\t\t\tsuccess: callback\n\t\t}, jQuery.isPlainObject( url ) && url ) );\n\t};\n} );\n\njQuery.ajaxPrefilter( function( s ) {\n\tvar i;\n\tfor ( i in s.headers ) {\n\t\tif ( i.toLowerCase() === \"content-type\" ) {\n\t\t\ts.contentType = s.headers[ i ] || \"\";\n\t\t}\n\t}\n} );\n\n\njQuery._evalUrl = function( url, options, doc ) {\n\treturn jQuery.ajax( {\n\t\turl: url,\n\n\t\t// Make this explicit, since user can override this through ajaxSetup (trac-11264)\n\t\ttype: \"GET\",\n\t\tdataType: \"script\",\n\t\tcache: true,\n\t\tasync: false,\n\t\tglobal: false,\n\n\t\t// Only evaluate the response if it is successful (gh-4126)\n\t\t// dataFilter is not invoked for failure responses, so using it instead\n\t\t// of the default converter is kludgy but it works.\n\t\tconverters: {\n\t\t\t\"text script\": function() {}\n\t\t},\n\t\tdataFilter: function( response ) {\n\t\t\tjQuery.globalEval( response, options, doc );\n\t\t}\n\t} );\n};\n\n\njQuery.fn.extend( {\n\twrapAll: function( html ) {\n\t\tvar wrap;\n\n\t\tif ( this[ 0 ] ) {\n\t\t\tif ( isFunction( html ) ) {\n\t\t\t\thtml = html.call( this[ 0 ] );\n\t\t\t}\n\n\t\t\t// The elements to wrap the target around\n\t\t\twrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );\n\n\t\t\tif ( this[ 0 ].parentNode ) {\n\t\t\t\twrap.insertBefore( this[ 0 ] );\n\t\t\t}\n\n\t\t\twrap.map( function() {\n\t\t\t\tvar elem = this;\n\n\t\t\t\twhile ( elem.firstElementChild ) {\n\t\t\t\t\telem = elem.firstElementChild;\n\t\t\t\t}\n\n\t\t\t\treturn elem;\n\t\t\t} ).append( this );\n\t\t}\n\n\t\treturn this;\n\t},\n\n\twrapInner: function( html ) {\n\t\tif ( isFunction( html ) ) {\n\t\t\treturn this.each( function( i ) {\n\t\t\t\tjQuery( this ).wrapInner( html.call( this, i ) );\n\t\t\t} );\n\t\t}\n\n\t\treturn this.each( function() {\n\t\t\tvar self = jQuery( this ),\n\t\t\t\tcontents = self.contents();\n\n\t\t\tif ( contents.length ) {\n\t\t\t\tcontents.wrapAll( html );\n\n\t\t\t} else {\n\t\t\t\tself.append( html );\n\t\t\t}\n\t\t} );\n\t},\n\n\twrap: function( html ) {\n\t\tvar htmlIsFunction = isFunction( html );\n\n\t\treturn this.each( function( i ) {\n\t\t\tjQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );\n\t\t} );\n\t},\n\n\tunwrap: function( selector ) {\n\t\tthis.parent( selector ).not( \"body\" ).each( function() {\n\t\t\tjQuery( this ).replaceWith( this.childNodes );\n\t\t} );\n\t\treturn this;\n\t}\n} );\n\n\njQuery.expr.pseudos.hidden = function( elem ) {\n\treturn !jQuery.expr.pseudos.visible( elem );\n};\njQuery.expr.pseudos.visible = function( elem ) {\n\treturn !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );\n};\n\n\n\n\njQuery.ajaxSettings.xhr = function() {\n\ttry {\n\t\treturn new window.XMLHttpRequest();\n\t} catch ( e ) {}\n};\n\nvar xhrSuccessStatus = {\n\n\t\t// File protocol always yields status code 0, assume 200\n\t\t0: 200,\n\n\t\t// Support: IE <=9 only\n\t\t// trac-1450: sometimes IE returns 1223 when it should be 204\n\t\t1223: 204\n\t},\n\txhrSupported = jQuery.ajaxSettings.xhr();\n\nsupport.cors = !!xhrSupported && ( \"withCredentials\" in xhrSupported );\nsupport.ajax = xhrSupported = !!xhrSupported;\n\njQuery.ajaxTransport( function( options ) {\n\tvar callback, errorCallback;\n\n\t// Cross domain only allowed if supported through XMLHttpRequest\n\tif ( support.cors || xhrSupported && !options.crossDomain ) {\n\t\treturn {\n\t\t\tsend: function( headers, complete ) {\n\t\t\t\tvar i,\n\t\t\t\t\txhr = options.xhr();\n\n\t\t\t\txhr.open(\n\t\t\t\t\toptions.type,\n\t\t\t\t\toptions.url,\n\t\t\t\t\toptions.async,\n\t\t\t\t\toptions.username,\n\t\t\t\t\toptions.password\n\t\t\t\t);\n\n\t\t\t\t// Apply custom fields if provided\n\t\t\t\tif ( options.xhrFields ) {\n\t\t\t\t\tfor ( i in options.xhrFields ) {\n\t\t\t\t\t\txhr[ i ] = options.xhrFields[ i ];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Override mime type if needed\n\t\t\t\tif ( options.mimeType && xhr.overrideMimeType ) {\n\t\t\t\t\txhr.overrideMimeType( options.mimeType );\n\t\t\t\t}\n\n\t\t\t\t// X-Requested-With header\n\t\t\t\t// For cross-domain requests, seeing as conditions for a preflight are\n\t\t\t\t// akin to a jigsaw puzzle, we simply never set it to be sure.\n\t\t\t\t// (it can always be set on a per-request basis or even using ajaxSetup)\n\t\t\t\t// For same-domain requests, won't change header if already provided.\n\t\t\t\tif ( !options.crossDomain && !headers[ \"X-Requested-With\" ] ) {\n\t\t\t\t\theaders[ \"X-Requested-With\" ] = \"XMLHttpRequest\";\n\t\t\t\t}\n\n\t\t\t\t// Set headers\n\t\t\t\tfor ( i in headers ) {\n\t\t\t\t\txhr.setRequestHeader( i, headers[ i ] );\n\t\t\t\t}\n\n\t\t\t\t// Callback\n\t\t\t\tcallback = function( type ) {\n\t\t\t\t\treturn function() {\n\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\tcallback = errorCallback = xhr.onload =\n\t\t\t\t\t\t\t\txhr.onerror = xhr.onabort = xhr.ontimeout =\n\t\t\t\t\t\t\t\t\txhr.onreadystatechange = null;\n\n\t\t\t\t\t\t\tif ( type === \"abort\" ) {\n\t\t\t\t\t\t\t\txhr.abort();\n\t\t\t\t\t\t\t} else if ( type === \"error\" ) {\n\n\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t// On a manual native abort, IE9 throws\n\t\t\t\t\t\t\t\t// errors on any property access that is not readyState\n\t\t\t\t\t\t\t\tif ( typeof xhr.status !== \"number\" ) {\n\t\t\t\t\t\t\t\t\tcomplete( 0, \"error\" );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tcomplete(\n\n\t\t\t\t\t\t\t\t\t\t// File: protocol always yields status 0; see trac-8605, trac-14207\n\t\t\t\t\t\t\t\t\t\txhr.status,\n\t\t\t\t\t\t\t\t\t\txhr.statusText\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tcomplete(\n\t\t\t\t\t\t\t\t\txhrSuccessStatus[ xhr.status ] || xhr.status,\n\t\t\t\t\t\t\t\t\txhr.statusText,\n\n\t\t\t\t\t\t\t\t\t// Support: IE <=9 only\n\t\t\t\t\t\t\t\t\t// IE9 has no XHR2 but throws on binary (trac-11426)\n\t\t\t\t\t\t\t\t\t// For XHR2 non-text, let the caller handle it (gh-2498)\n\t\t\t\t\t\t\t\t\t( xhr.responseType || \"text\" ) !== \"text\" ||\n\t\t\t\t\t\t\t\t\ttypeof xhr.responseText !== \"string\" ?\n\t\t\t\t\t\t\t\t\t\t{ binary: xhr.response } :\n\t\t\t\t\t\t\t\t\t\t{ text: xhr.responseText },\n\t\t\t\t\t\t\t\t\txhr.getAllResponseHeaders()\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t};\n\n\t\t\t\t// Listen to events\n\t\t\t\txhr.onload = callback();\n\t\t\t\terrorCallback = xhr.onerror = xhr.ontimeout = callback( \"error\" );\n\n\t\t\t\t// Support: IE 9 only\n\t\t\t\t// Use onreadystatechange to replace onabort\n\t\t\t\t// to handle uncaught aborts\n\t\t\t\tif ( xhr.onabort !== undefined ) {\n\t\t\t\t\txhr.onabort = errorCallback;\n\t\t\t\t} else {\n\t\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\t\t// Check readyState before timeout as it changes\n\t\t\t\t\t\tif ( xhr.readyState === 4 ) {\n\n\t\t\t\t\t\t\t// Allow onerror to be called first,\n\t\t\t\t\t\t\t// but that will not handle a native abort\n\t\t\t\t\t\t\t// Also, save errorCallback to a variable\n\t\t\t\t\t\t\t// as xhr.onerror cannot be accessed\n\t\t\t\t\t\t\twindow.setTimeout( function() {\n\t\t\t\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\t\t\t\terrorCallback();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\t// Create the abort callback\n\t\t\t\tcallback = callback( \"abort\" );\n\n\t\t\t\ttry {\n\n\t\t\t\t\t// Do send the request (this may raise an exception)\n\t\t\t\t\txhr.send( options.hasContent && options.data || null );\n\t\t\t\t} catch ( e ) {\n\n\t\t\t\t\t// trac-14683: Only rethrow if this hasn't been notified as an error yet\n\t\t\t\t\tif ( callback ) {\n\t\t\t\t\t\tthrow e;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\n// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)\njQuery.ajaxPrefilter( function( s ) {\n\tif ( s.crossDomain ) {\n\t\ts.contents.script = false;\n\t}\n} );\n\n// Install script dataType\njQuery.ajaxSetup( {\n\taccepts: {\n\t\tscript: \"text/javascript, application/javascript, \" +\n\t\t\t\"application/ecmascript, application/x-ecmascript\"\n\t},\n\tcontents: {\n\t\tscript: /\\b(?:java|ecma)script\\b/\n\t},\n\tconverters: {\n\t\t\"text script\": function( text ) {\n\t\t\tjQuery.globalEval( text );\n\t\t\treturn text;\n\t\t}\n\t}\n} );\n\n// Handle cache's special case and crossDomain\njQuery.ajaxPrefilter( \"script\", function( s ) {\n\tif ( s.cache === undefined ) {\n\t\ts.cache = false;\n\t}\n\tif ( s.crossDomain ) {\n\t\ts.type = \"GET\";\n\t}\n} );\n\n// Bind script tag hack transport\njQuery.ajaxTransport( \"script\", function( s ) {\n\n\t// This transport only deals with cross domain or forced-by-attrs requests\n\tif ( s.crossDomain || s.scriptAttrs ) {\n\t\tvar script, callback;\n\t\treturn {\n\t\t\tsend: function( _, complete ) {\n\t\t\t\tscript = jQuery( \"<script>\" )\n\t\t\t\t\t.attr( s.scriptAttrs || {} )\n\t\t\t\t\t.prop( { charset: s.scriptCharset, src: s.url } )\n\t\t\t\t\t.on( \"load error\", callback = function( evt ) {\n\t\t\t\t\t\tscript.remove();\n\t\t\t\t\t\tcallback = null;\n\t\t\t\t\t\tif ( evt ) {\n\t\t\t\t\t\t\tcomplete( evt.type === \"error\" ? 404 : 200, evt.type );\n\t\t\t\t\t\t}\n\t\t\t\t\t} );\n\n\t\t\t\t// Use native DOM manipulation to avoid our domManip AJAX trickery\n\t\t\t\tdocument.head.appendChild( script[ 0 ] );\n\t\t\t},\n\t\t\tabort: function() {\n\t\t\t\tif ( callback ) {\n\t\t\t\t\tcallback();\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t}\n} );\n\n\n\n\nvar oldCallbacks = [],\n\trjsonp = /(=)\\?(?=&|$)|\\?\\?/;\n\n// Default jsonp settings\njQuery.ajaxSetup( {\n\tjsonp: \"callback\",\n\tjsonpCallback: function() {\n\t\tvar callback = oldCallbacks.pop() || ( jQuery.expando + \"_\" + ( nonce.guid++ ) );\n\t\tthis[ callback ] = true;\n\t\treturn callback;\n\t}\n} );\n\n// Detect, normalize options and install callbacks for jsonp requests\njQuery.ajaxPrefilter( \"json jsonp\", function( s, originalSettings, jqXHR ) {\n\n\tvar callbackName, overwritten, responseContainer,\n\t\tjsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?\n\t\t\t\"url\" :\n\t\t\ttypeof s.data === \"string\" &&\n\t\t\t\t( s.contentType || \"\" )\n\t\t\t\t\t.indexOf( \"application/x-www-form-urlencoded\" ) === 0 &&\n\t\t\t\trjsonp.test( s.data ) && \"data\"\n\t\t);\n\n\t// Handle iff the expected data type is \"jsonp\" or we have a parameter to set\n\tif ( jsonProp || s.dataTypes[ 0 ] === \"jsonp\" ) {\n\n\t\t// Get callback name, remembering preexisting value associated with it\n\t\tcallbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?\n\t\t\ts.jsonpCallback() :\n\t\t\ts.jsonpCallback;\n\n\t\t// Insert callback into url or form data\n\t\tif ( jsonProp ) {\n\t\t\ts[ jsonProp ] = s[ jsonProp ].replace( rjsonp, \"$1\" + callbackName );\n\t\t} else if ( s.jsonp !== false ) {\n\t\t\ts.url += ( rquery.test( s.url ) ? \"&\" : \"?\" ) + s.jsonp + \"=\" + callbackName;\n\t\t}\n\n\t\t// Use data converter to retrieve json after script execution\n\t\ts.converters[ \"script json\" ] = function() {\n\t\t\tif ( !responseContainer ) {\n\t\t\t\tjQuery.error( callbackName + \" was not called\" );\n\t\t\t}\n\t\t\treturn responseContainer[ 0 ];\n\t\t};\n\n\t\t// Force json dataType\n\t\ts.dataTypes[ 0 ] = \"json\";\n\n\t\t// Install callback\n\t\toverwritten = window[ callbackName ];\n\t\twindow[ callbackName ] = function() {\n\t\t\tresponseContainer = arguments;\n\t\t};\n\n\t\t// Clean-up function (fires after converters)\n\t\tjqXHR.always( function() {\n\n\t\t\t// If previous value didn't exist - remove it\n\t\t\tif ( overwritten === undefined ) {\n\t\t\t\tjQuery( window ).removeProp( callbackName );\n\n\t\t\t// Otherwise restore preexisting value\n\t\t\t} else {\n\t\t\t\twindow[ callbackName ] = overwritten;\n\t\t\t}\n\n\t\t\t// Save back as free\n\t\t\tif ( s[ callbackName ] ) {\n\n\t\t\t\t// Make sure that re-using the options doesn't screw things around\n\t\t\t\ts.jsonpCallback = originalSettings.jsonpCallback;\n\n\t\t\t\t// Save the callback name for future use\n\t\t\t\toldCallbacks.push( callbackName );\n\t\t\t}\n\n\t\t\t// Call if it was a function and we have a response\n\t\t\tif ( responseContainer && isFunction( overwritten ) ) {\n\t\t\t\toverwritten( responseContainer[ 0 ] );\n\t\t\t}\n\n\t\t\tresponseContainer = overwritten = undefined;\n\t\t} );\n\n\t\t// Delegate to script\n\t\treturn \"script\";\n\t}\n} );\n\n\n\n\n// Support: Safari 8 only\n// In Safari 8 documents created via document.implementation.createHTMLDocument\n// collapse sibling forms: the second one becomes a child of the first one.\n// Because of that, this security measure has to be disabled in Safari 8.\n// https://bugs.webkit.org/show_bug.cgi?id=137337\nsupport.createHTMLDocument = ( function() {\n\tvar body = document.implementation.createHTMLDocument( \"\" ).body;\n\tbody.innerHTML = \"<form></form><form></form>\";\n\treturn body.childNodes.length === 2;\n} )();\n\n\n// Argument \"data\" should be string of html\n// context (optional): If specified, the fragment will be created in this context,\n// defaults to document\n// keepScripts (optional): If true, will include scripts passed in the html string\njQuery.parseHTML = function( data, context, keepScripts ) {\n\tif ( typeof data !== \"string\" ) {\n\t\treturn [];\n\t}\n\tif ( typeof context === \"boolean\" ) {\n\t\tkeepScripts = context;\n\t\tcontext = false;\n\t}\n\n\tvar base, parsed, scripts;\n\n\tif ( !context ) {\n\n\t\t// Stop scripts or inline event handlers from being executed immediately\n\t\t// by using document.implementation\n\t\tif ( support.createHTMLDocument ) {\n\t\t\tcontext = document.implementation.createHTMLDocument( \"\" );\n\n\t\t\t// Set the base href for the created document\n\t\t\t// so any parsed elements with URLs\n\t\t\t// are based on the document's URL (gh-2965)\n\t\t\tbase = context.createElement( \"base\" );\n\t\t\tbase.href = document.location.href;\n\t\t\tcontext.head.appendChild( base );\n\t\t} else {\n\t\t\tcontext = document;\n\t\t}\n\t}\n\n\tparsed = rsingleTag.exec( data );\n\tscripts = !keepScripts && [];\n\n\t// Single tag\n\tif ( parsed ) {\n\t\treturn [ context.createElement( parsed[ 1 ] ) ];\n\t}\n\n\tparsed = buildFragment( [ data ], context, scripts );\n\n\tif ( scripts && scripts.length ) {\n\t\tjQuery( scripts ).remove();\n\t}\n\n\treturn jQuery.merge( [], parsed.childNodes );\n};\n\n\n/**\n * Load a url into a page\n */\njQuery.fn.load = function( url, params, callback ) {\n\tvar selector, type, response,\n\t\tself = this,\n\t\toff = url.indexOf( \" \" );\n\n\tif ( off > -1 ) {\n\t\tselector = stripAndCollapse( url.slice( off ) );\n\t\turl = url.slice( 0, off );\n\t}\n\n\t// If it's a function\n\tif ( isFunction( params ) ) {\n\n\t\t// We assume that it's the callback\n\t\tcallback = params;\n\t\tparams = undefined;\n\n\t// Otherwise, build a param string\n\t} else if ( params && typeof params === \"object\" ) {\n\t\ttype = \"POST\";\n\t}\n\n\t// If we have elements to modify, make the request\n\tif ( self.length > 0 ) {\n\t\tjQuery.ajax( {\n\t\t\turl: url,\n\n\t\t\t// If \"type\" variable is undefined, then \"GET\" method will be used.\n\t\t\t// Make value of this field explicit since\n\t\t\t// user can override it through ajaxSetup method\n\t\t\ttype: type || \"GET\",\n\t\t\tdataType: \"html\",\n\t\t\tdata: params\n\t\t} ).done( function( responseText ) {\n\n\t\t\t// Save response for use in complete callback\n\t\t\tresponse = arguments;\n\n\t\t\tself.html( selector ?\n\n\t\t\t\t// If a selector was specified, locate the right elements in a dummy div\n\t\t\t\t// Exclude scripts to avoid IE 'Permission Denied' errors\n\t\t\t\tjQuery( \"<div>\" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :\n\n\t\t\t\t// Otherwise use the full result\n\t\t\t\tresponseText );\n\n\t\t// If the request succeeds, this function gets \"data\", \"status\", \"jqXHR\"\n\t\t// but they are ignored because response was set above.\n\t\t// If it fails, this function gets \"jqXHR\", \"status\", \"error\"\n\t\t} ).always( callback && function( jqXHR, status ) {\n\t\t\tself.each( function() {\n\t\t\t\tcallback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );\n\t\t\t} );\n\t\t} );\n\t}\n\n\treturn this;\n};\n\n\n\n\njQuery.expr.pseudos.animated = function( elem ) {\n\treturn jQuery.grep( jQuery.timers, function( fn ) {\n\t\treturn elem === fn.elem;\n\t} ).length;\n};\n\n\n\n\njQuery.offset = {\n\tsetOffset: function( elem, options, i ) {\n\t\tvar curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,\n\t\t\tposition = jQuery.css( elem, \"position\" ),\n\t\t\tcurElem = jQuery( elem ),\n\t\t\tprops = {};\n\n\t\t// Set position first, in-case top/left are set even on static elem\n\t\tif ( position === \"static\" ) {\n\t\t\telem.style.position = \"relative\";\n\t\t}\n\n\t\tcurOffset = curElem.offset();\n\t\tcurCSSTop = jQuery.css( elem, \"top\" );\n\t\tcurCSSLeft = jQuery.css( elem, \"left\" );\n\t\tcalculatePosition = ( position === \"absolute\" || position === \"fixed\" ) &&\n\t\t\t( curCSSTop + curCSSLeft ).indexOf( \"auto\" ) > -1;\n\n\t\t// Need to be able to calculate position if either\n\t\t// top or left is auto and position is either absolute or fixed\n\t\tif ( calculatePosition ) {\n\t\t\tcurPosition = curElem.position();\n\t\t\tcurTop = curPosition.top;\n\t\t\tcurLeft = curPosition.left;\n\n\t\t} else {\n\t\t\tcurTop = parseFloat( curCSSTop ) || 0;\n\t\t\tcurLeft = parseFloat( curCSSLeft ) || 0;\n\t\t}\n\n\t\tif ( isFunction( options ) ) {\n\n\t\t\t// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)\n\t\t\toptions = options.call( elem, i, jQuery.extend( {}, curOffset ) );\n\t\t}\n\n\t\tif ( options.top != null ) {\n\t\t\tprops.top = ( options.top - curOffset.top ) + curTop;\n\t\t}\n\t\tif ( options.left != null ) {\n\t\t\tprops.left = ( options.left - curOffset.left ) + curLeft;\n\t\t}\n\n\t\tif ( \"using\" in options ) {\n\t\t\toptions.using.call( elem, props );\n\n\t\t} else {\n\t\t\tcurElem.css( props );\n\t\t}\n\t}\n};\n\njQuery.fn.extend( {\n\n\t// offset() relates an element's border box to the document origin\n\toffset: function( options ) {\n\n\t\t// Preserve chaining for setter\n\t\tif ( arguments.length ) {\n\t\t\treturn options === undefined ?\n\t\t\t\tthis :\n\t\t\t\tthis.each( function( i ) {\n\t\t\t\t\tjQuery.offset.setOffset( this, options, i );\n\t\t\t\t} );\n\t\t}\n\n\t\tvar rect, win,\n\t\t\telem = this[ 0 ];\n\n\t\tif ( !elem ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Return zeros for disconnected and hidden (display: none) elements (gh-2310)\n\t\t// Support: IE <=11 only\n\t\t// Running getBoundingClientRect on a\n\t\t// disconnected node in IE throws an error\n\t\tif ( !elem.getClientRects().length ) {\n\t\t\treturn { top: 0, left: 0 };\n\t\t}\n\n\t\t// Get document-relative position by adding viewport scroll to viewport-relative gBCR\n\t\trect = elem.getBoundingClientRect();\n\t\twin = elem.ownerDocument.defaultView;\n\t\treturn {\n\t\t\ttop: rect.top + win.pageYOffset,\n\t\t\tleft: rect.left + win.pageXOffset\n\t\t};\n\t},\n\n\t// position() relates an element's margin box to its offset parent's padding box\n\t// This corresponds to the behavior of CSS absolute positioning\n\tposition: function() {\n\t\tif ( !this[ 0 ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tvar offsetParent, offset, doc,\n\t\t\telem = this[ 0 ],\n\t\t\tparentOffset = { top: 0, left: 0 };\n\n\t\t// position:fixed elements are offset from the viewport, which itself always has zero offset\n\t\tif ( jQuery.css( elem, \"position\" ) === \"fixed\" ) {\n\n\t\t\t// Assume position:fixed implies availability of getBoundingClientRect\n\t\t\toffset = elem.getBoundingClientRect();\n\n\t\t} else {\n\t\t\toffset = this.offset();\n\n\t\t\t// Account for the *real* offset parent, which can be the document or its root element\n\t\t\t// when a statically positioned element is identified\n\t\t\tdoc = elem.ownerDocument;\n\t\t\toffsetParent = elem.offsetParent || doc.documentElement;\n\t\t\twhile ( offsetParent &&\n\t\t\t\t( offsetParent === doc.body || offsetParent === doc.documentElement ) &&\n\t\t\t\tjQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\n\t\t\t\toffsetParent = offsetParent.parentNode;\n\t\t\t}\n\t\t\tif ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {\n\n\t\t\t\t// Incorporate borders into its offset, since they are outside its content origin\n\t\t\t\tparentOffset = jQuery( offsetParent ).offset();\n\t\t\t\tparentOffset.top += jQuery.css( offsetParent, \"borderTopWidth\", true );\n\t\t\t\tparentOffset.left += jQuery.css( offsetParent, \"borderLeftWidth\", true );\n\t\t\t}\n\t\t}\n\n\t\t// Subtract parent offsets and element margins\n\t\treturn {\n\t\t\ttop: offset.top - parentOffset.top - jQuery.css( elem, \"marginTop\", true ),\n\t\t\tleft: offset.left - parentOffset.left - jQuery.css( elem, \"marginLeft\", true )\n\t\t};\n\t},\n\n\t// This method will return documentElement in the following cases:\n\t// 1) For the element inside the iframe without offsetParent, this method will return\n\t// documentElement of the parent window\n\t// 2) For the hidden or detached element\n\t// 3) For body or html element, i.e. in case of the html node - it will return itself\n\t//\n\t// but those exceptions were never presented as a real life use-cases\n\t// and might be considered as more preferable results.\n\t//\n\t// This logic, however, is not guaranteed and can change at any point in the future\n\toffsetParent: function() {\n\t\treturn this.map( function() {\n\t\t\tvar offsetParent = this.offsetParent;\n\n\t\t\twhile ( offsetParent && jQuery.css( offsetParent, \"position\" ) === \"static\" ) {\n\t\t\t\toffsetParent = offsetParent.offsetParent;\n\t\t\t}\n\n\t\t\treturn offsetParent || documentElement;\n\t\t} );\n\t}\n} );\n\n// Create scrollLeft and scrollTop methods\njQuery.each( { scrollLeft: \"pageXOffset\", scrollTop: \"pageYOffset\" }, function( method, prop ) {\n\tvar top = \"pageYOffset\" === prop;\n\n\tjQuery.fn[ method ] = function( val ) {\n\t\treturn access( this, function( elem, method, val ) {\n\n\t\t\t// Coalesce documents and windows\n\t\t\tvar win;\n\t\t\tif ( isWindow( elem ) ) {\n\t\t\t\twin = elem;\n\t\t\t} else if ( elem.nodeType === 9 ) {\n\t\t\t\twin = elem.defaultView;\n\t\t\t}\n\n\t\t\tif ( val === undefined ) {\n\t\t\t\treturn win ? win[ prop ] : elem[ method ];\n\t\t\t}\n\n\t\t\tif ( win ) {\n\t\t\t\twin.scrollTo(\n\t\t\t\t\t!top ? val : win.pageXOffset,\n\t\t\t\t\ttop ? val : win.pageYOffset\n\t\t\t\t);\n\n\t\t\t} else {\n\t\t\t\telem[ method ] = val;\n\t\t\t}\n\t\t}, method, val, arguments.length );\n\t};\n} );\n\n// Support: Safari <=7 - 9.1, Chrome <=37 - 49\n// Add the top/left cssHooks using jQuery.fn.position\n// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084\n// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347\n// getComputedStyle returns percent when specified for top/left/bottom/right;\n// rather than make the css module depend on the offset module, just check for it here\njQuery.each( [ \"top\", \"left\" ], function( _i, prop ) {\n\tjQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,\n\t\tfunction( elem, computed ) {\n\t\t\tif ( computed ) {\n\t\t\t\tcomputed = curCSS( elem, prop );\n\n\t\t\t\t// If curCSS returns percentage, fallback to offset\n\t\t\t\treturn rnumnonpx.test( computed ) ?\n\t\t\t\t\tjQuery( elem ).position()[ prop ] + \"px\" :\n\t\t\t\t\tcomputed;\n\t\t\t}\n\t\t}\n\t);\n} );\n\n\n// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods\njQuery.each( { Height: \"height\", Width: \"width\" }, function( name, type ) {\n\tjQuery.each( {\n\t\tpadding: \"inner\" + name,\n\t\tcontent: type,\n\t\t\"\": \"outer\" + name\n\t}, function( defaultExtra, funcName ) {\n\n\t\t// Margin is only for outerHeight, outerWidth\n\t\tjQuery.fn[ funcName ] = function( margin, value ) {\n\t\t\tvar chainable = arguments.length && ( defaultExtra || typeof margin !== \"boolean\" ),\n\t\t\t\textra = defaultExtra || ( margin === true || value === true ? \"margin\" : \"border\" );\n\n\t\t\treturn access( this, function( elem, type, value ) {\n\t\t\t\tvar doc;\n\n\t\t\t\tif ( isWindow( elem ) ) {\n\n\t\t\t\t\t// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)\n\t\t\t\t\treturn funcName.indexOf( \"outer\" ) === 0 ?\n\t\t\t\t\t\telem[ \"inner\" + name ] :\n\t\t\t\t\t\telem.document.documentElement[ \"client\" + name ];\n\t\t\t\t}\n\n\t\t\t\t// Get document width or height\n\t\t\t\tif ( elem.nodeType === 9 ) {\n\t\t\t\t\tdoc = elem.documentElement;\n\n\t\t\t\t\t// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],\n\t\t\t\t\t// whichever is greatest\n\t\t\t\t\treturn Math.max(\n\t\t\t\t\t\telem.body[ \"scroll\" + name ], doc[ \"scroll\" + name ],\n\t\t\t\t\t\telem.body[ \"offset\" + name ], doc[ \"offset\" + name ],\n\t\t\t\t\t\tdoc[ \"client\" + name ]\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn value === undefined ?\n\n\t\t\t\t\t// Get width or height on the element, requesting but not forcing parseFloat\n\t\t\t\t\tjQuery.css( elem, type, extra ) :\n\n\t\t\t\t\t// Set width or height on the element\n\t\t\t\t\tjQuery.style( elem, type, value, extra );\n\t\t\t}, type, chainable ? margin : undefined, chainable );\n\t\t};\n\t} );\n} );\n\n\njQuery.each( [\n\t\"ajaxStart\",\n\t\"ajaxStop\",\n\t\"ajaxComplete\",\n\t\"ajaxError\",\n\t\"ajaxSuccess\",\n\t\"ajaxSend\"\n], function( _i, type ) {\n\tjQuery.fn[ type ] = function( fn ) {\n\t\treturn this.on( type, fn );\n\t};\n} );\n\n\n\n\njQuery.fn.extend( {\n\n\tbind: function( types, data, fn ) {\n\t\treturn this.on( types, null, data, fn );\n\t},\n\tunbind: function( types, fn ) {\n\t\treturn this.off( types, null, fn );\n\t},\n\n\tdelegate: function( selector, types, data, fn ) {\n\t\treturn this.on( types, selector, data, fn );\n\t},\n\tundelegate: function( selector, types, fn ) {\n\n\t\t// ( namespace ) or ( selector, types [, fn] )\n\t\treturn arguments.length === 1 ?\n\t\t\tthis.off( selector, \"**\" ) :\n\t\t\tthis.off( types, selector || \"**\", fn );\n\t},\n\n\thover: function( fnOver, fnOut ) {\n\t\treturn this\n\t\t\t.on( \"mouseenter\", fnOver )\n\t\t\t.on( \"mouseleave\", fnOut || fnOver );\n\t}\n} );\n\njQuery.each(\n\t( \"blur focus focusin focusout resize scroll click dblclick \" +\n\t\"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave \" +\n\t\"change select submit keydown keypress keyup contextmenu\" ).split( \" \" ),\n\tfunction( _i, name ) {\n\n\t\t// Handle event binding\n\t\tjQuery.fn[ name ] = function( data, fn ) {\n\t\t\treturn arguments.length > 0 ?\n\t\t\t\tthis.on( name, null, data, fn ) :\n\t\t\t\tthis.trigger( name );\n\t\t};\n\t}\n);\n\n\n\n\n// Support: Android <=4.0 only\n// Make sure we trim BOM and NBSP\n// Require that the \"whitespace run\" starts from a non-whitespace\n// to avoid O(N^2) behavior when the engine would try matching \"\\s+$\" at each space position.\nvar rtrim = /^[\\s\\uFEFF\\xA0]+|([^\\s\\uFEFF\\xA0])[\\s\\uFEFF\\xA0]+$/g;\n\n// Bind a function to a context, optionally partially applying any\n// arguments.\n// jQuery.proxy is deprecated to promote standards (specifically Function#bind)\n// However, it is not slated for removal any time soon\njQuery.proxy = function( fn, context ) {\n\tvar tmp, args, proxy;\n\n\tif ( typeof context === \"string\" ) {\n\t\ttmp = fn[ context ];\n\t\tcontext = fn;\n\t\tfn = tmp;\n\t}\n\n\t// Quick check to determine if target is callable, in the spec\n\t// this throws a TypeError, but we will just return undefined.\n\tif ( !isFunction( fn ) ) {\n\t\treturn undefined;\n\t}\n\n\t// Simulated bind\n\targs = slice.call( arguments, 2 );\n\tproxy = function() {\n\t\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\n\t};\n\n\t// Set the guid of unique handler to the same of original handler, so it can be removed\n\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\n\n\treturn proxy;\n};\n\njQuery.holdReady = function( hold ) {\n\tif ( hold ) {\n\t\tjQuery.readyWait++;\n\t} else {\n\t\tjQuery.ready( true );\n\t}\n};\njQuery.isArray = Array.isArray;\njQuery.parseJSON = JSON.parse;\njQuery.nodeName = nodeName;\njQuery.isFunction = isFunction;\njQuery.isWindow = isWindow;\njQuery.camelCase = camelCase;\njQuery.type = toType;\n\njQuery.now = Date.now;\n\njQuery.isNumeric = function( obj ) {\n\n\t// As of jQuery 3.0, isNumeric is limited to\n\t// strings and numbers (primitives or objects)\n\t// that can be coerced to finite numbers (gh-2662)\n\tvar type = jQuery.type( obj );\n\treturn ( type === \"number\" || type === \"string\" ) &&\n\n\t\t// parseFloat NaNs numeric-cast false positives (\"\")\n\t\t// ...but misinterprets leading-number strings, particularly hex literals (\"0x...\")\n\t\t// subtraction forces infinities to NaN\n\t\t!isNaN( obj - parseFloat( obj ) );\n};\n\njQuery.trim = function( text ) {\n\treturn text == null ?\n\t\t\"\" :\n\t\t( text + \"\" ).replace( rtrim, \"$1\" );\n};\n\n\n\n// Register as a named AMD module, since jQuery can be concatenated with other\n// files that may use define, but not via a proper concatenation script that\n// understands anonymous AMD modules. A named AMD is safest and most robust\n// way to register. Lowercase jquery is used because AMD module names are\n// derived from file names, and jQuery is normally delivered in a lowercase\n// file name. Do this after creating the global so that if an AMD module wants\n// to call noConflict to hide this version of jQuery, it will work.\n\n// Note that for maximum portability, libraries that are not jQuery should\n// declare themselves as anonymous modules, and avoid setting a global if an\n// AMD loader is present. jQuery is a special case. For more information, see\n// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon\n\nif ( typeof define === \"function\" && define.amd ) {\n\tdefine( \"jquery\", [], function() {\n\t\treturn jQuery;\n\t} );\n}\n\n\n\n\nvar\n\n\t// Map over jQuery in case of overwrite\n\t_jQuery = window.jQuery,\n\n\t// Map over the $ in case of overwrite\n\t_$ = window.$;\n\njQuery.noConflict = function( deep ) {\n\tif ( window.$ === jQuery ) {\n\t\twindow.$ = _$;\n\t}\n\n\tif ( deep && window.jQuery === jQuery ) {\n\t\twindow.jQuery = _jQuery;\n\t}\n\n\treturn jQuery;\n};\n\n// Expose jQuery and $ identifiers, even in AMD\n// (trac-7102#comment:10, https://github.com/jquery/jquery/pull/557)\n// and CommonJS for browser emulators (trac-13566)\nif ( typeof noGlobal === \"undefined\" ) {\n\twindow.jQuery = window.$ = jQuery;\n}\n\n\n\n\nreturn jQuery;\n} );\n","//! moment.js locale configuration\n//! locale : Serbian [sr]\n//! author : Milan JanaÄković<milanjanackovic@gmail.com> : https://github.com/milan-j\n//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //Different grammatical cases\n ss: ['sekunda', 'sekunde', 'sekundi'],\n m: ['jedan minut', 'jednog minuta'],\n mm: ['minut', 'minuta', 'minuta'],\n h: ['jedan sat', 'jednog sata'],\n hh: ['sat', 'sata', 'sati'],\n d: ['jedan dan', 'jednog dana'],\n dd: ['dan', 'dana', 'dana'],\n M: ['jedan mesec', 'jednog meseca'],\n MM: ['mesec', 'meseca', 'meseci'],\n y: ['jednu godinu', 'jedne godine'],\n yy: ['godinu', 'godine', 'godina'],\n },\n correctGrammaticalCase: function (number, wordKey) {\n if (\n number % 10 >= 1 &&\n number % 10 <= 4 &&\n (number % 100 < 10 || number % 100 >= 20)\n ) {\n return number % 10 === 1 ? wordKey[0] : wordKey[1];\n }\n return wordKey[2];\n },\n translate: function (number, withoutSuffix, key, isFuture) {\n var wordKey = translator.words[key],\n word;\n\n if (key.length === 1) {\n // Nominativ\n if (key === 'y' && withoutSuffix) return 'jedna godina';\n return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];\n }\n\n word = translator.correctGrammaticalCase(number, wordKey);\n // Nominativ\n if (key === 'yy' && withoutSuffix && word === 'godinu') {\n return number + ' godina';\n }\n\n return number + ' ' + word;\n },\n };\n\n var sr = moment.defineLocale('sr', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n '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 '_'\n ),\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: 'D. M. 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.translate,\n m: translator.translate,\n mm: translator.translate,\n h: translator.translate,\n hh: translator.translate,\n d: translator.translate,\n dd: translator.translate,\n M: translator.translate,\n MM: translator.translate,\n y: translator.translate,\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 return sr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Lithuanian [lt]\n//! author : Mindaugas MozÅ«ras : https://github.com/mmozuras\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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\n ? forms(key)[0]\n : isFuture\n ? forms(key)[1]\n : 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(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n if (number === 1) {\n return (\n result + translateSingular(number, withoutSuffix, key[0], isFuture)\n );\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 var lt = 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 '_'\n ),\n standalone:\n 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjÅ«tis_rugsÄ—jis_spalis_lapkritis_gruodis'.split(\n '_'\n ),\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 '_'\n ),\n standalone:\n 'sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis'.split(\n '_'\n ),\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,\n m: translateSingular,\n mm: translate,\n h: translateSingular,\n hh: translate,\n d: translateSingular,\n dd: translate,\n M: translateSingular,\n MM: translate,\n y: translateSingular,\n yy: translate,\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 return lt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Slovenian [sl]\n//! author : Robert SedovÅ¡ek : https://github.com/sedovsek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nekaj sekund'\n : '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 var sl = moment.defineLocale('sl', {\n months: 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split(\n '_'\n ),\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,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\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: 7, // The week that contains Jan 7th is the first week of the year.\n },\n });\n\n return sl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bulgarian [bg]\n//! author : Krasen Borisov : https://github.com/kraz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bg = moment.defineLocale('bg', {\n months: 'Ñнуари_февруари_март_април_май_юни_юли_авгуÑÑ‚_Ñептември_октомври_ноември_декември'.split(\n '_'\n ),\n monthsShort: 'Ñну_фев_мар_апр_май_юни_юли_авг_Ñеп_окт_ное_дек'.split('_'),\n weekdays: 'неделÑ_понеделник_вторник_ÑÑ€Ñда_четвъртък_петък_Ñъбота'.split(\n '_'\n ),\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 w: 'Ñедмица',\n ww: '%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 return bg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese (Brazil) [pt-br]\n//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ptBr = moment.defineLocale('pt-br', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado'.split(\n '_'\n ),\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 invalidDate: 'Data inválida',\n });\n\n return ptBr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uyghur (China) [ug-cn]\n//! author: boyaq : https://github.com/boyaq\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ugCn = moment.defineLocale('ug-cn', {\n months: 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.split(\n '_'\n ),\n monthsShort:\n 'يانۋار_ÙÛۋرال_مارت_ئاپرÛÙ„_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سÛنتەبىر_ئۆكتەبىر_نويابىر_دÛكابىر'.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 return ugCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (Taiwan) [zh-tw]\n//! author : Ben : https://github.com/ben-lin\n//! author : Chris Lam : https://github.com/hehachris\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhTw = moment.defineLocale('zh-tw', {\n months: '一月_二月_三月_四月_五月_å…月_七月_八月_ä¹æœˆ_å月_å一月_å二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\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 return zhTw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Faroese [fo]\n//! author : Ragnar Johannesen : https://github.com/ragnar123\n//! author : Kristian Sakarisson : https://github.com/sakarisson\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fo = moment.defineLocale('fo', {\n months: 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n weekdays:\n 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split(\n '_'\n ),\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 return fo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chinese (China) [zh-cn]\n//! author : suupic : https://github.com/suupic\n//! author : Zeno Zeng : https://github.com/zenozeng\n//! author : uu109 : https://github.com/uu109\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var zhCn = moment.defineLocale('zh-cn', {\n months: '一月_二月_三月_四月_五月_å…月_七月_八月_ä¹æœˆ_å月_å一月_å二月'.split(\n '_'\n ),\n monthsShort: '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split(\n '_'\n ),\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 === '早上' || 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: function (now) {\n if (now.week() !== this.week()) {\n return '[下]dddLT';\n } else {\n return '[本]dddLT';\n }\n },\n lastDay: '[昨天]LT',\n lastWeek: function (now) {\n if (this.week() !== now.week()) {\n return '[上]dddLT';\n } else {\n return '[本]dddLT';\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 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 w: '1 周',\n ww: '%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 return zhCn;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Australia) [en-au]\n//! author : Jared Morse : https://github.com/jarcoal\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enAu = moment.defineLocale('en-au', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\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 return enAu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Nynorsk [nn]\n//! authors : https://github.com/mechuwind\n//! Stephen Ramthun : https://github.com/stephenramthun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var nn = moment.defineLocale('nn', {\n months: 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split(\n '_'\n ),\n monthsShort:\n 'jan._feb._mars_apr._mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n monthsParseExact: true,\n weekdays: 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n weekdaysShort: 'su._mÃ¥._ty._on._to._fr._lau.'.split('_'),\n weekdaysMin: 'su_mÃ¥_ty_on_to_fr_la'.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.] 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 w: 'ei veke',\n ww: '%d veker',\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 return nn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Greek [el]\n//! author : Aggelos Karalias : https://github.com/mehiel\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function isFunction(input) {\n return (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n var el = moment.defineLocale('el', {\n monthsNominativeEl:\n 'ΙανουάÏιος_ΦεβÏουάÏιος_ΜάÏτιος_ΑπÏίλιος_Μάιος_ΙοÏνιος_ΙοÏλιος_ΑÏγουστος_ΣεπτÎμβÏιος_ΟκτώβÏιος_ÎοÎμβÏιος_ΔεκÎμβÏιος'.split(\n '_'\n ),\n monthsGenitiveEl:\n 'ΙανουαÏίου_ΦεβÏουαÏίου_ΜαÏτίου_ΑπÏιλίου_ΜαÎου_Ιουνίου_Ιουλίου_ΑυγοÏστου_ΣεπτεμβÏίου_ΟκτωβÏίου_ÎοεμβÏίου_ΔεκεμβÏίου'.split(\n '_'\n ),\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return this._monthsNominativeEl;\n } else if (\n typeof format === 'string' &&\n /D/.test(format.substring(0, format.indexOf('MMMM')))\n ) {\n // 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 '_'\n ),\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 return el;\n\n})));\n","//! moment.js locale configuration\n//! locale : German (Switzerland) [de-ch]\n//! author : sschueller : https://github.com/sschueller\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 w: ['eine Woche', 'einer Woche'],\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 var deCh = moment.defineLocale('de-ch', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\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 w: processRelativeTime,\n ww: '%d Wochen',\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 return deCh;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bambara [bm]\n//! author : Estelle Comment : https://github.com/estellecomment\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var bm = moment.defineLocale('bm', {\n months: 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉ›kalo_ZuwÉ›nkalo_Zuluyekalo_Utikalo_SÉ›tanburukalo_É”kutÉ”burukalo_Nowanburukalo_Desanburukalo'.split(\n '_'\n ),\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 return bm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Thai [th]\n//! author : Kridsada Thanabulpong : https://github.com/sirn\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var th = moment.defineLocale('th', {\n months: 'มà¸à¸£à¸²à¸„ม_à¸à¸¸à¸¡à¸ าพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_à¸à¸£à¸à¸Žà¸²à¸„ม_สิงหาคม_à¸à¸±à¸™à¸¢à¸²à¸¢à¸™_ตุลาคม_พฤศจิà¸à¸²à¸¢à¸™_ธันวาคม'.split(\n '_'\n ),\n monthsShort:\n 'ม.ค._à¸.พ._มี.ค._เม.ย._พ.ค._มิ.ย._à¸.ค._ส.ค._à¸.ย._ต.ค._พ.ย._ธ.ค.'.split(\n '_'\n ),\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 w: '1 สัปดาห์',\n ww: '%d สัปดาห์',\n M: '1 เดืà¸à¸™',\n MM: '%d เดืà¸à¸™',\n y: '1 ปี',\n yy: '%d ปี',\n },\n });\n\n return th;\n\n})));\n","//! moment.js locale configuration\n//! locale : siSwati [ss]\n//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ss = moment.defineLocale('ss', {\n months: \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split(\n '_'\n ),\n monthsShort: 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n weekdays:\n 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split(\n '_'\n ),\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 return ss;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (United Kingdom) [en-gb]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enGb = moment.defineLocale('en-gb', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : '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 return enGb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Czech [cs]\n//! author : petrbela : https://github.com/petrbela\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = {\n standalone:\n 'leden_únor_bÅ™ezen_duben_kvÄ›ten_Äerven_Äervenec_srpen_zářÃ_Å™Ãjen_listopad_prosinec'.split(\n '_'\n ),\n format: 'ledna_února_bÅ™ezna_dubna_kvÄ›tna_Äervna_Äervence_srpna_zářÃ_Å™Ãjna_listopadu_prosince'.split(\n '_'\n ),\n isFormat: /DD?[o.]?(\\[[^\\[\\]]*\\]|\\s)+MMMM/,\n },\n monthsShort = 'led_úno_bÅ™e_dub_kvÄ›_Ävn_Ävc_srp_zář_Å™Ãj_lis_pro'.split('_'),\n monthsParse = [\n /^led/i,\n /^úno/i,\n /^bÅ™e/i,\n /^dub/i,\n /^kvÄ›/i,\n /^(Ävn|Äerven$|Äervna)/i,\n /^(Ävc|Äervenec|Äervence)/i,\n /^srp/i,\n /^zář/i,\n /^Å™Ãj/i,\n /^lis/i,\n /^pro/i,\n ],\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 monthsRegex =\n /^(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(n) {\n return n > 1 && n < 5 && ~~(n / 10) !== 1;\n }\n function translate(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(number) ? 'sekundy' : 'sekund');\n } else {\n return result + 'sekundami';\n }\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(number) ? 'minuty' : 'minut');\n } else {\n return result + 'minutami';\n }\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(number) ? 'hodiny' : 'hodin');\n } else {\n return result + 'hodinami';\n }\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(number) ? 'dny' : 'dnÃ');\n } else {\n return result + 'dny';\n }\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(number) ? 'mÄ›sÃce' : 'mÄ›sÃců');\n } else {\n return result + 'mÄ›sÃci';\n }\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(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n }\n }\n\n var cs = moment.defineLocale('cs', {\n months: months,\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:\n /^(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:\n /^(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,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return cs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish (United States) [es-us]\n//! author : bustta : https://github.com/bustta\n//! author : chrisrodz : https://github.com/chrisrodz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(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 var esUs = moment.defineLocale('es-us', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\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 w: 'una semana',\n ww: '%d semanas',\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 return esUs;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek [uz]\n//! author : Sardor Muminov : https://github.com/muminoff\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uz = moment.defineLocale('uz', {\n months: 'Ñнвар_феврал_март_апрел_май_июн_июл_авгуÑÑ‚_ÑентÑбр_октÑбр_ноÑбр_декабр'.split(\n '_'\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: '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 return uz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Urdu [ur]\n//! author : Sawood Alam : https://github.com/ibnesayeed\n//! author : Zack : https://github.com/ZackVision\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'جنوری',\n 'Ùروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر',\n ],\n days = ['اتوار', 'پیر', 'منگل', 'بدھ', 'جمعرات', 'جمعÛ', 'ÛÙتÛ'];\n\n var ur = moment.defineLocale('ur', {\n months: months,\n monthsShort: months,\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 return ur;\n\n})));\n","//! moment.js locale configuration\n//! locale : Montenegrin [me]\n//! author : Miodrag NikaÄ <miodrag@restartit.me> : https://github.com/miodragnikac\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var translator = {\n words: {\n //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\n ? wordKey[0]\n : number >= 2 && number <= 4\n ? wordKey[1]\n : 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 (\n number +\n ' ' +\n translator.correctGrammaticalCase(number, wordKey)\n );\n }\n },\n };\n\n var me = moment.defineLocale('me', {\n months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split(\n '_'\n ),\n monthsShort:\n '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 '_'\n ),\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 return me;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Kuwait) [ar-kw]\n//! author : Nusret Parlak: https://github.com/nusretparlak\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arKw = moment.defineLocale('ar-kw', {\n months: 'يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_Ùبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.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 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 return arKw;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkmen [tk]\n//! author : Atamyrat Abdyrahmanov : https://github.com/atamyratabdy\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\n 1: \"'inji\",\n 5: \"'inji\",\n 8: \"'inji\",\n 70: \"'inji\",\n 80: \"'inji\",\n 2: \"'nji\",\n 7: \"'nji\",\n 20: \"'nji\",\n 50: \"'nji\",\n 3: \"'ünji\",\n 4: \"'ünji\",\n 100: \"'ünji\",\n 6: \"'njy\",\n 9: \"'unjy\",\n 10: \"'unjy\",\n 30: \"'unjy\",\n 60: \"'ynjy\",\n 90: \"'ynjy\",\n };\n\n var tk = moment.defineLocale('tk', {\n months: 'Ãanwar_Fewral_Mart_Aprel_Maý_Iýun_Iýul_Awgust_Sentýabr_Oktýabr_Noýabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Ãan_Few_Mar_Apr_Maý_Iýn_Iýl_Awg_Sen_Okt_Noý_Dek'.split('_'),\n weekdays: 'ÃekÅŸenbe_DuÅŸenbe_SiÅŸenbe_ÇarÅŸenbe_PenÅŸenbe_Anna_Åženbe'.split(\n '_'\n ),\n weekdaysShort: 'Ãek_DuÅŸ_SiÅŸ_Çar_Pen_Ann_Åžen'.split('_'),\n weekdaysMin: 'Ãk_DÅŸ_SÅŸ_Çr_Pn_An_Åžn'.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 sagat] LT',\n nextDay: '[ertir sagat] LT',\n nextWeek: '[indiki] dddd [sagat] LT',\n lastDay: '[düýn] LT',\n lastWeek: '[geçen] dddd [sagat] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s soň',\n past: '%s öň',\n s: 'birnäçe sekunt',\n m: 'bir minut',\n mm: '%d minut',\n h: 'bir sagat',\n hh: '%d sagat',\n d: 'bir gün',\n dd: '%d gün',\n M: 'bir aý',\n MM: '%d aý',\n y: 'bir ýyl',\n yy: '%d ýyl',\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) {\n // special case for zero\n return number + \"'unjy\";\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 },\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 return tk;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maldivian [dv]\n//! author : Jawish Hameed : https://github.com/jawish\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©',\n 'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©',\n 'Þ‰Þ§ÞƒÞ¨Þ—Þª',\n 'Þ‡ÞÞ•Þ°ÞƒÞ©ÞÞª',\n 'Þ‰Þ',\n 'Þ–Þ«Þ‚Þ°',\n 'Þ–ÞªÞÞ¦Þ‡Þ¨',\n 'Þ‡Þ¯ÞŽÞ¦ÞÞ°Þ“Þª',\n 'ÞÞ¬Þ•Þ°Þ“Þ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',\n 'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª',\n 'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',\n 'Þ‘Þ¨ÞÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',\n ],\n weekdays = [\n 'އާދިއްތަ',\n 'Þ€Þ¯Þ‰Þ¦',\n 'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦',\n 'Þ„ÞªÞ‹Þ¦',\n 'Þ„ÞªÞƒÞ§Þްފަތި',\n 'Þ€ÞªÞ†ÞªÞƒÞª',\n 'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª',\n ];\n\n var dv = moment.defineLocale('dv', {\n months: months,\n monthsShort: months,\n weekdays: weekdays,\n weekdaysShort: weekdays,\n weekdaysMin: 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'),\n longDateFormat: {\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 return dv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Bengali [bn]\n//! author : Kaushik Gandhi : https://github.com/kaushikgandhi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '১',\n 2: '২',\n 3: '৩',\n 4: '৪',\n 5: '৫',\n 6: '৬',\n 7: 'à§',\n 8: '৮',\n 9: '৯',\n 0: '০',\n },\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 var bn = moment.defineLocale('bn', {\n months: 'জানà§à§Ÿà¦¾à¦°à¦¿_ফেবà§à¦°à§à§Ÿà¦¾à¦°à¦¿_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿà§‡à¦®à§à¦¬à¦°_অকà§à¦Ÿà§‹à¦¬à¦°_নà¦à§‡à¦®à§à¦¬à¦°_ডিসেমà§à¦¬à¦°'.split(\n '_'\n ),\n monthsShort:\n 'জানà§_ফেবà§à¦°à§_মারà§à¦š_à¦à¦ªà§à¦°à¦¿à¦²_মে_জà§à¦¨_জà§à¦²à¦¾à¦‡_আগসà§à¦Ÿ_সেপà§à¦Ÿ_অকà§à¦Ÿà§‹_নà¦à§‡_ডিসে'.split(\n '_'\n ),\n weekdays: 'রবিবার_সোমবার_মঙà§à¦—লবার_বà§à¦§à¦¬à¦¾à¦°_বৃহসà§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦•à§à¦°à¦¬à¦¾à¦°_শনিবার'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /রাত|সকাল|দà§à¦ªà§à¦°|বিকাল|রাত/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (\n (meridiem === 'রাত' && hour >= 4) ||\n (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) ||\n meridiem === 'বিকাল'\n ) {\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 return bn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic [ar]\n//! author : Abdel Said: https://github.com/abdelsaid\n//! author : Ahmed Elkhatib\n//! author : forabi https://github.com/forabi\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: 'Ù¡',\n 2: 'Ù¢',\n 3: 'Ù£',\n 4: 'Ù¤',\n 5: 'Ù¥',\n 6: 'Ù¦',\n 7: 'Ù§',\n 8: 'Ù¨',\n 9: 'Ù©',\n 0: 'Ù ',\n },\n numberMap = {\n 'Ù¡': '1',\n 'Ù¢': '2',\n 'Ù£': '3',\n 'Ù¤': '4',\n 'Ù¥': '5',\n 'Ù¦': '6',\n 'Ù§': '7',\n 'Ù¨': '8',\n 'Ù©': '9',\n 'Ù ': '0',\n },\n pluralForm = function (n) {\n return n === 0\n ? 0\n : n === 1\n ? 1\n : n === 2\n ? 2\n : n % 100 >= 3 && n % 100 <= 10\n ? 3\n : n % 100 >= 11\n ? 4\n : 5;\n },\n plurals = {\n s: [\n 'أقل من ثانية',\n 'ثانية واØدة',\n ['ثانيتان', 'ثانيتين'],\n '%d ثوان',\n '%d ثانية',\n '%d ثانية',\n ],\n m: [\n 'أقل من دقيقة',\n 'دقيقة واØدة',\n ['دقيقتان', 'دقيقتين'],\n '%d دقائق',\n '%d دقيقة',\n '%d دقيقة',\n ],\n h: [\n 'أقل من ساعة',\n 'ساعة واØدة',\n ['ساعتان', 'ساعتين'],\n '%d ساعات',\n '%d ساعة',\n '%d ساعة',\n ],\n d: [\n 'أقل من يوم',\n 'يوم واØد',\n ['يومان', 'يومين'],\n '%d أيام',\n '%d يومًا',\n '%d يوم',\n ],\n M: [\n 'أقل من شهر',\n 'شهر واØد',\n ['شهران', 'شهرين'],\n '%d أشهر',\n '%d شهرا',\n '%d شهر',\n ],\n y: [\n 'أقل من عام',\n 'عام واØد',\n ['عامان', 'عامين'],\n '%d أعوام',\n '%d عامًا',\n '%d عام',\n ],\n },\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 },\n months = [\n 'يناير',\n 'Ùبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوÙمبر',\n 'ديسمبر',\n ];\n\n var ar = moment.defineLocale('ar', {\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\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/ØŒ/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\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 return ar;\n\n})));\n","//! moment.js locale configuration\n//! locale : Korean [ko]\n//! author : Kyungwook, Park : https://github.com/kyungw00k\n//! author : Jeeeyul Lee <jeeeyul@gmail.com>\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ko = 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 '_'\n ),\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 return ko;\n\n})));\n","//! moment.js locale configuration\n//! locale : Pseudo [x-pseudo]\n//! author : Andrew Hood : https://github.com/andrewhood125\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var xPseudo = 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 '_'\n ),\n monthsShort:\n 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Óct_~Ñóv_~Déc'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split(\n '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : '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 return xPseudo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Welsh [cy]\n//! author : Robert Allen : https://github.com/robgallen\n//! author : https://github.com/ryangreaves\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cy = moment.defineLocale('cy', {\n months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split(\n '_'\n ),\n monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split(\n '_'\n ),\n weekdays:\n 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split(\n '_'\n ),\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 '',\n 'af',\n 'il',\n 'ydd',\n 'ydd',\n 'ed',\n 'ed',\n 'ed',\n 'fed',\n 'fed',\n 'fed', // 1af to 10fed\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n 'eg',\n 'fed',\n 'eg',\n '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 return cy;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Israel) [en-il]\n//! author : Chris Gedrim : https://github.com/chrisgedrim\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIl = moment.defineLocale('en-il', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n return enIl;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (Ireland) [en-ie]\n//! author : Chris Cartlidge : https://github.com/chriscartlidge\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enIe = moment.defineLocale('en-ie', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : '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 return enIe;\n\n})));\n","//! moment.js locale configuration\n//! locale : Occitan, lengadocian dialecte [oc-lnc]\n//! author : Quentin PAGÈS : https://github.com/Quenty31\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ocLnc = moment.defineLocale('oc-lnc', {\n months: {\n standalone:\n 'genièr_febrièr_març_abril_mai_junh_julhet_agost_setembre_octòbre_novembre_decembre'.split(\n '_'\n ),\n format: \"de genièr_de febrièr_de març_d'abril_de mai_de junh_de julhet_d'agost_de setembre_d'octòbre_de novembre_de decembre\".split(\n '_'\n ),\n isFormat: /D[oD]?(\\s)+MMMM/,\n },\n monthsShort:\n 'gen._febr._març_abr._mai_junh_julh._ago._set._oct._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'dimenge_diluns_dimars_dimècres_dijòus_divendres_dissabte'.split(\n '_'\n ),\n weekdaysShort: 'dg._dl._dm._dc._dj._dv._ds.'.split('_'),\n weekdaysMin: 'dg_dl_dm_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] H:mm',\n lll: 'D MMM YYYY, H:mm',\n LLLL: 'dddd D MMMM [de] YYYY [a] H:mm',\n llll: 'ddd D MMM YYYY, H:mm',\n },\n calendar: {\n sameDay: '[uèi a] LT',\n nextDay: '[deman a] LT',\n nextWeek: 'dddd [a] LT',\n lastDay: '[ièr a] LT',\n lastWeek: 'dddd [passat a] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: \"d'aquà %s\",\n past: 'fa %s',\n s: 'unas segondas',\n ss: '%d segondas',\n m: 'una minuta',\n mm: '%d minutas',\n h: 'una ora',\n hh: '%d oras',\n d: 'un jorn',\n dd: '%d jorns',\n M: 'un mes',\n MM: '%d meses',\n y: 'un an',\n yy: '%d ans',\n },\n dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n ordinal: function (number, period) {\n var output =\n number === 1\n ? 'r'\n : number === 2\n ? 'n'\n : number === 3\n ? 'r'\n : number === 4\n ? 't'\n : 'è';\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,\n },\n });\n\n return ocLnc;\n\n})));\n","//! moment.js locale configuration\n//! locale : Latvian [lv]\n//! author : Kristaps Karlsons : https://github.com/skakri\n//! author : JÄnis Elmeris : https://github.com/JanisE\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var units = {\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(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n }\n function relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n }\n function relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄ“m';\n }\n\n var lv = moment.defineLocale('lv', {\n months: 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split(\n '_'\n ),\n monthsShort: 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'),\n weekdays:\n 'svÄ“tdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split(\n '_'\n ),\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,\n m: relativeTimeWithSingular,\n mm: relativeTimeWithPlural,\n h: relativeTimeWithSingular,\n hh: relativeTimeWithPlural,\n d: relativeTimeWithSingular,\n dd: relativeTimeWithPlural,\n M: relativeTimeWithSingular,\n MM: relativeTimeWithPlural,\n y: relativeTimeWithSingular,\n yy: relativeTimeWithPlural,\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 return lv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Scottish Gaelic [gd]\n//! author : Jon Ashdown : https://github.com/jonashdown\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var months = [\n 'Am Faoilleach',\n 'An Gearran',\n 'Am Mà rt',\n 'An Giblean',\n 'An Cèitean',\n 'An t-Ã’gmhios',\n 'An t-Iuchar',\n 'An Lùnastal',\n 'An t-Sultain',\n 'An Dà mhair',\n 'An t-Samhain',\n 'An Dùbhlachd',\n ],\n monthsShort = [\n 'Faoi',\n 'Gear',\n 'Mà rt',\n 'Gibl',\n 'Cèit',\n 'Ã’gmh',\n 'Iuch',\n 'Lùn',\n 'Sult',\n 'Dà mh',\n 'Samh',\n 'Dùbh',\n ],\n weekdays = [\n 'Didòmhnaich',\n 'Diluain',\n 'Dimà irt',\n 'Diciadain',\n 'Diardaoin',\n 'Dihaoine',\n 'Disathairne',\n ],\n weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'],\n weekdaysMin = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n var gd = moment.defineLocale('gd', {\n months: months,\n monthsShort: monthsShort,\n monthsParseExact: true,\n weekdays: weekdays,\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: '[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 return gd;\n\n})));\n","//! moment.js locale configuration\n//! locale : Burmese [my]\n//! author : Squar team, mysquar.com\n//! author : David Rossellat : https://github.com/gholadr\n//! author : Tin Aung Lin : https://github.com/thanyawzinmin\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: 'á',\n 2: 'á‚',\n 3: 'áƒ',\n 4: 'á„',\n 5: 'á…',\n 6: 'á†',\n 7: 'á‡',\n 8: 'áˆ',\n 9: 'á‰',\n 0: 'á€',\n },\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 var my = moment.defineLocale('my', {\n months: 'ဇန်နá€á€«á€›á€®_ဖေဖော်á€á€«á€›á€®_မá€á€º_ဧပြီ_မေ_ဇွန်_ဇူလá€á€¯á€„်_သြဂုá€á€º_စက်á€á€„်ဘာ_အောက်á€á€á€¯á€˜á€¬_နá€á€¯á€á€„်ဘာ_ဒီဇင်ဘာ'.split(\n '_'\n ),\n monthsShort: 'ဇန်_ဖေ_မá€á€º_ပြီ_မေ_ဇွန်_လá€á€¯á€„်_သြ_စက်_အောက်_နá€á€¯_ဒီ'.split('_'),\n weekdays: 'á€á€”င်္ဂနွေ_á€á€”င်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပá€á€±á€¸_သောကြာ_စနေ'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return my;\n\n})));\n","//! moment.js locale configuration\n//! locale : Uzbek Latin [uz-latn]\n//! author : Rasulbek Mirzayev : github.com/Rasulbeeek\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var uzLatn = moment.defineLocale('uz-latn', {\n months: 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split(\n '_'\n ),\n monthsShort: 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n weekdays:\n 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split(\n '_'\n ),\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 return uzLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ms = moment.defineLocale('ms', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\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 return ms;\n\n})));\n","//! moment.js locale configuration\n//! locale : Chuvash [cv]\n//! author : Anatoly Mironov : https://github.com/mirontoli\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var cv = moment.defineLocale('cv', {\n months: 'кӑрлач_нарӑÑ_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split(\n '_'\n ),\n monthsShort: 'кӑр_нар_пуш_ака_май_Ò«Ó—Ñ€_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n weekdays:\n 'вырÑарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_Ñрнекун_шӑматкун'.split(\n '_'\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: '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)\n ? 'рен'\n : /ҫул$/i.exec(output)\n ? 'тан'\n : 'ран';\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 return cv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malayalam [ml]\n//! author : Floyd Pink : https://github.com/floydpink\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var ml = moment.defineLocale('ml', {\n months: 'ജനàµà´µà´°à´¿_ഫെബàµà´°àµà´µà´°à´¿_മാർചàµà´šàµ_à´à´ªàµà´°à´¿àµ½_മേയàµ_ജൂൺ_ജൂലൈ_à´“à´—à´¸àµà´±àµà´±àµ_സെപàµà´±àµà´±à´‚ബർ_à´’à´•àµà´Ÿàµ‹à´¬àµ¼_നവംബർ_ഡിസംബർ'.split(\n '_'\n ),\n monthsShort:\n 'ജനàµ._ഫെബàµà´°àµ._മാർ._à´à´ªàµà´°à´¿._മേയàµ_ജൂൺ_ജൂലൈ._à´“à´—._സെപàµà´±àµà´±._à´’à´•àµà´Ÿàµ‹._നവം._ഡിസം.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'ഞായറാഴàµà´š_തിങàµà´•à´³à´¾à´´àµà´š_ചൊവàµà´µà´¾à´´àµà´š_à´¬àµà´§à´¨à´¾à´´àµà´š_à´µàµà´¯à´¾à´´à´¾à´´àµà´š_വെളàµà´³à´¿à´¯à´¾à´´àµà´š_ശനിയാഴàµà´š'.split(\n '_'\n ),\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 (\n (meridiem === 'രാതàµà´°à´¿' && hour >= 4) ||\n meridiem === 'ഉചàµà´š à´•à´´à´¿à´žàµà´žàµ' ||\n meridiem === 'വൈകàµà´¨àµà´¨àµ‡à´°à´‚'\n ) {\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 return ml;\n\n})));\n","//! moment.js locale configuration\n//! locale : Indonesian [id]\n//! author : Mohammad Satrio Utomo : https://github.com/tyok\n//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var id = moment.defineLocale('id', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split(\n '_'\n ),\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: 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 return id;\n\n})));\n","//! moment.js locale configuration\n//! locale : Maltese (Malta) [mt]\n//! author : Alessandro Maruccia : https://github.com/alesma\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var mt = moment.defineLocale('mt', {\n months: 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄ‹embru'.split(\n '_'\n ),\n monthsShort: 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ‹'.split('_'),\n weekdays:\n 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split(\n '_'\n ),\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 return mt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Galician [gl]\n//! author : Juan G. Hurtado : https://github.com/juanghurtado\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var gl = moment.defineLocale('gl', {\n months: 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split(\n '_'\n ),\n monthsShort:\n 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split(\n '_'\n ),\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 (\n '[o] dddd [pasado ' + (this.hours() !== 1 ? 'ás' : 'a') + '] LT'\n );\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 return gl;\n\n})));\n","//! moment.js locale configuration\n//! locale : German [de]\n//! author : lluchs : https://github.com/lluchs\n//! author: Menelion Elensúle: https://github.com/Oire\n//! author : Mikolaj Dadela : https://github.com/mik01aj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 w: ['eine Woche', 'einer Woche'],\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 var de = moment.defineLocale('de', {\n months: 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays:\n 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split(\n '_'\n ),\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 w: processRelativeTime,\n ww: '%d Wochen',\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 return de;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kyrgyz [ky]\n//! author : Chyngyz Arystan uulu : https://github.com/chyngyz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\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 var ky = moment.defineLocale('ky', {\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: '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[number] || suffixes[a] || suffixes[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 return ky;\n\n})));\n","//! moment.js locale configuration\n//! locale : English (New Zealand) [en-nz]\n//! author : Luke McGregor : https://github.com/lukemcgregor\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var enNz = moment.defineLocale('en-nz', {\n months: 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\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 '_'\n ),\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 =\n ~~((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : '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 return enNz;\n\n})));\n","//! moment.js locale configuration\n//! locale : Luxembourgish [lb]\n//! author : mweimerskirch : https://github.com/mweimerskirch\n//! author : David Raison : https://github.com/kwisatz\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(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,\n 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 var lb = moment.defineLocale('lb', {\n months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split(\n '_'\n ),\n monthsShort:\n 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays:\n 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split(\n '_'\n ),\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,\n mm: '%d Minutten',\n h: processRelativeTime,\n hh: '%d Stonnen',\n d: processRelativeTime,\n dd: '%d Deeg',\n M: processRelativeTime,\n MM: '%d Méint',\n y: processRelativeTime,\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 return lb;\n\n})));\n","//! moment.js locale configuration\n//! locale : Portuguese [pt]\n//! author : Jefferson : https://github.com/jalex79\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var pt = moment.defineLocale('pt', {\n months: 'janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro'.split(\n '_'\n ),\n monthsShort: 'jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez'.split('_'),\n weekdays:\n 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split(\n '_'\n ),\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 w: 'uma semana',\n ww: '%d semanas',\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 return pt;\n\n})));\n","//! moment.js locale configuration\n//! locale : Talossan [tzl]\n//! author : Robin van der Vliet : https://github.com/robin0van0der0v\n//! author : Iustì Canun\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var tzl = moment.defineLocale('tzl', {\n months: 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split(\n '_'\n ),\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,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\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 function processRelativeTime(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\n ? format[key][0]\n : withoutSuffix\n ? format[key][0]\n : format[key][1];\n }\n\n return tzl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight [tzm]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzm = moment.defineLocale('tzm', {\n months: 'ⵉâµâµâ´°âµ¢âµ”_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓâµâµ¢âµ“_ⵢⵓâµâµ¢âµ“âµ£_ⵖⵓⵛⵜ_ⵛⵓⵜⴰâµâ´±âµ‰âµ”_ⴽⵟⵓⴱⵕ_âµâµ“ⵡⴰâµâ´±âµ‰âµ”_ⴷⵓⵊâµâ´±âµ‰âµ”'.split(\n '_'\n ),\n monthsShort:\n 'ⵉâµâµâ´°âµ¢âµ”_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓâµâµ¢âµ“_ⵢⵓâµâµ¢âµ“âµ£_ⵖⵓⵛⵜ_ⵛⵓⵜⴰâµâ´±âµ‰âµ”_ⴽⵟⵓⴱⵕ_âµâµ“ⵡⴰâµâ´±âµ‰âµ”_ⴷⵓⵊâµâ´±âµ‰âµ”'.split(\n '_'\n ),\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 return tzm;\n\n})));\n","//! moment.js locale configuration\n//! locale : Yoruba Nigeria [yo]\n//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var yo = moment.defineLocale('yo', {\n months: 'SẹÌrẹÌ_EÌ€reÌ€leÌ€_Ẹrẹ̀naÌ€_IÌ€gbeÌ_EÌ€bibi_OÌ€kuÌ€du_Agẹmo_OÌ€guÌn_Owewe_Ọ̀waÌ€raÌ€_BeÌluÌ_Ọ̀pẹ̀̀'.split(\n '_'\n ),\n monthsShort: 'SẹÌr_EÌ€rl_Ẹrn_IÌ€gb_EÌ€bi_OÌ€kuÌ€_Agẹ_OÌ€guÌ_Owe_Ọ̀waÌ€_BeÌl_Ọ̀pẹ̀̀'.split('_'),\n weekdays: 'AÌ€iÌ€kuÌ_AjeÌ_IÌ€sẹÌgun_Ọjá»ÌruÌ_Ọjá»Ìbá»_ẸtiÌ€_AÌ€baÌmẹÌta'.split('_'),\n weekdaysShort: 'AÌ€iÌ€k_AjeÌ_IÌ€sẹÌ_Ọjr_Ọjb_ẸtiÌ€_AÌ€baÌ'.split('_'),\n weekdaysMin: 'AÌ€iÌ€_Aj_IÌ€s_Ọr_Ọb_Ẹt_AÌ€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: '[OÌ€niÌ€ ni] LT',\n nextDay: '[Ọ̀la ni] LT',\n nextWeek: \"dddd [Ọsẹ̀ toÌn'bá»] [ni] LT\",\n lastDay: '[AÌ€na ni] LT',\n lastWeek: 'dddd [Ọsẹ̀ toÌlá»Ì] [ni] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: 'niÌ %s',\n past: '%s ká»jaÌ',\n s: 'iÌ€sẹjuÌ aayaÌ die',\n ss: 'aayaÌ %d',\n m: 'iÌ€sẹjuÌ kan',\n mm: 'iÌ€sẹjuÌ %d',\n h: 'waÌkati kan',\n hh: 'waÌkati %d',\n d: 'á»já»Ì kan',\n dd: 'á»já»Ì %d',\n M: 'osuÌ€ kan',\n MM: 'osuÌ€ %d',\n y: 'á»duÌn kan',\n yy: 'á»duÌ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 return yo;\n\n})));\n","//! moment.js locale configuration\n//! locale : Russian [ru]\n//! author : Viktorminator : https://github.com/Viktorminator\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Коренберг Марк : https://github.com/socketpair\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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\n ? forms[0]\n : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)\n ? forms[1]\n : forms[2];\n }\n function relativeTimeWithPlural(number, withoutSuffix, key) {\n var format = {\n ss: withoutSuffix ? 'Ñекунда_Ñекунды_Ñекунд' : 'Ñекунду_Ñекунды_Ñекунд',\n mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n hh: 'чаÑ_чаÑа_чаÑов',\n dd: 'день_днÑ_дней',\n ww: 'неделÑ_недели_недель',\n MM: 'меÑÑц_меÑÑца_меÑÑцев',\n yy: 'год_года_лет',\n };\n if (key === 'm') {\n return withoutSuffix ? 'минута' : 'минуту';\n } else {\n return number + ' ' + plural(format[key], +number);\n }\n }\n var monthsParse = [\n /^Ñнв/i,\n /^фев/i,\n /^мар/i,\n /^апр/i,\n /^ма[йÑ]/i,\n /^июн/i,\n /^июл/i,\n /^авг/i,\n /^Ñен/i,\n /^окт/i,\n /^ноÑ/i,\n /^дек/i,\n ];\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 var ru = moment.defineLocale('ru', {\n months: {\n format: 'ÑнварÑ_февралÑ_марта_апрелÑ_маÑ_июнÑ_июлÑ_авгуÑта_ÑентÑбрÑ_октÑбрÑ_ноÑбрÑ_декабрÑ'.split(\n '_'\n ),\n standalone:\n 'Ñнварь_февраль_март_апрель_май_июнь_июль_авгуÑÑ‚_ÑентÑбрь_октÑбрь_ноÑбрь_декабрь'.split(\n '_'\n ),\n },\n monthsShort: {\n // по CLDR именно \"июл.\" и \"июн.\", но какой ÑмыÑл менÑÑ‚ÑŒ букву на точку?\n format: 'Ñнв._февр._мар._апр._маÑ_июнÑ_июлÑ_авг._Ñент._окт._ноÑб._дек.'.split(\n '_'\n ),\n standalone:\n 'Ñнв._февр._март_апр._май_июнь_июль_авг._Ñент._окт._ноÑб._дек.'.split(\n '_'\n ),\n },\n weekdays: {\n standalone:\n 'воÑкреÑенье_понедельник_вторник_Ñреда_четверг_пÑтница_Ñуббота'.split(\n '_'\n ),\n format: 'воÑкреÑенье_понедельник_вторник_Ñреду_четверг_пÑтницу_Ñубботу'.split(\n '_'\n ),\n isFormat: /\\[ ?[Вв] ?(?:прошлую|Ñледующую|Ñту)? ?] ?dddd/,\n },\n weekdaysShort: 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'),\n weekdaysMin: 'вÑ_пн_вт_ÑÑ€_чт_пт_Ñб'.split('_'),\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по три буквы, Ð´Ð»Ñ Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ñ‹Ñ…, по 4 буквы, ÑÐ¾ÐºÑ€Ð°Ñ‰ÐµÐ½Ð¸Ñ Ñ Ñ‚Ð¾Ñ‡ÐºÐ¾Ð¹ и без точки\n monthsRegex:\n /^(Ñнвар[ÑŒÑ]|Ñнв\\.?|феврал[ÑŒÑ]|февр?\\.?|марта?|мар\\.?|апрел[ÑŒÑ]|апр\\.?|ма[йÑ]|июн[ÑŒÑ]|июн\\.?|июл[ÑŒÑ]|июл\\.?|авгуÑта?|авг\\.?|ÑентÑбр[ÑŒÑ]|Ñент?\\.?|октÑбр[ÑŒÑ]|окт\\.?|ноÑбр[ÑŒÑ]|ноÑб?\\.?|декабр[ÑŒÑ]|дек\\.?)/i,\n\n // ÐºÐ¾Ð¿Ð¸Ñ Ð¿Ñ€ÐµÐ´Ñ‹Ð´ÑƒÑ‰ÐµÐ³Ð¾\n monthsShortRegex:\n /^(Ñнвар[ÑŒÑ]|Ñнв\\.?|феврал[ÑŒÑ]|февр?\\.?|марта?|мар\\.?|апрел[ÑŒÑ]|апр\\.?|ма[йÑ]|июн[ÑŒÑ]|июн\\.?|июл[ÑŒÑ]|июл\\.?|авгуÑта?|авг\\.?|ÑентÑбр[ÑŒÑ]|Ñент?\\.?|октÑбр[ÑŒÑ]|окт\\.?|ноÑбр[ÑŒÑ]|ноÑб?\\.?|декабр[ÑŒÑ]|дек\\.?)/i,\n\n // полные Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸\n monthsStrictRegex:\n /^(Ñнвар[ÑÑŒ]|феврал[ÑÑŒ]|марта?|апрел[ÑÑŒ]|ма[Ñй]|июн[ÑÑŒ]|июл[ÑÑŒ]|авгуÑта?|ÑентÑбр[ÑÑŒ]|октÑбр[ÑÑŒ]|ноÑбр[ÑÑŒ]|декабр[ÑÑŒ])/i,\n\n // Выражение, которое ÑоответÑтвует только Ñокращённым формам\n monthsShortStrictRegex:\n /^(Ñнв\\.|февр?\\.|мар[Ñ‚.]|апр\\.|ма[Ñй]|июн[ÑŒÑ.]|июл[ÑŒÑ.]|авг\\.|Ñент?\\.|окт\\.|ноÑб?\\.|дек\\.)/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,\n m: relativeTimeWithPlural,\n mm: relativeTimeWithPlural,\n h: 'чаÑ',\n hh: relativeTimeWithPlural,\n d: 'день',\n dd: relativeTimeWithPlural,\n w: 'неделÑ',\n ww: relativeTimeWithPlural,\n M: 'меÑÑц',\n MM: relativeTimeWithPlural,\n y: 'год',\n yy: relativeTimeWithPlural,\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 return ru;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Saudi Arabia) [ar-sa]\n//! author : Suhail Alkowaileet : https://github.com/xsoh\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: 'Ù¡',\n 2: 'Ù¢',\n 3: 'Ù£',\n 4: 'Ù¤',\n 5: 'Ù¥',\n 6: 'Ù¦',\n 7: 'Ù§',\n 8: 'Ù¨',\n 9: 'Ù©',\n 0: 'Ù ',\n },\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 var arSa = moment.defineLocale('ar-sa', {\n months: 'يناير_Ùبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'يناير_Ùبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.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 preparse: function (string) {\n return string\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/ØŒ/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\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 return arSa;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kannada [kn]\n//! author : Rajeev Naik : https://github.com/rajeevnaikte\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '೧',\n 2: '೨',\n 3: '೩',\n 4: '೪',\n 5: '೫',\n 6: '೬',\n 7: 'à³',\n 8: 'à³®',\n 9: '೯',\n 0: '೦',\n },\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 var kn = moment.defineLocale('kn', {\n months: 'ಜನವರಿ_ಫೆಬà³à²°à²µà²°à²¿_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚ಬರà³_ಅಕà³à²Ÿà³†à³‚ೕಬರà³_ನವೆಂಬರà³_ಡಿಸೆಂಬರà³'.split(\n '_'\n ),\n monthsShort:\n 'ಜನ_ಫೆಬà³à²°_ಮಾರà³à²šà³_à²à²ªà³à²°à²¿à²²à³_ಮೇ_ಜೂನà³_ಜà³à²²à³†à³–_ಆಗಸà³à²Ÿà³_ಸೆಪà³à²Ÿà³†à²‚_ಅಕà³à²Ÿà³†à³‚ೕ_ನವೆಂ_ಡಿಸೆಂ'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'à²à²¾à²¨à³à²µà²¾à²°_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬà³à²§à²µà²¾à²°_ಗà³à²°à³à²µà²¾à²°_ಶà³à²•à³à²°à²µà²¾à²°_ಶನಿವಾರ'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return kn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Turkish [tr]\n//! authors : Erhan Gundogan : https://github.com/erhangundogan,\n//! Burak YiÄŸit Kaya: https://github.com/BYK\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var tr = moment.defineLocale('tr', {\n months: 'Ocak_Åžubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄŸustos_Eylül_Ekim_Kasım_Aralık'.split(\n '_'\n ),\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 '_'\n ),\n weekdaysShort: 'Paz_Pzt_Sal_Çar_Per_Cum_Cmt'.split('_'),\n weekdaysMin: 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n meridiem: function (hours, minutes, isLower) {\n if (hours < 12) {\n return isLower ? 'öö' : 'ÖÖ';\n } else {\n return isLower ? 'ös' : 'ÖS';\n }\n },\n meridiemParse: /öö|ÖÖ|ös|ÖS/,\n isPM: function (input) {\n return input === 'ös' || input === 'ÖS';\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: '[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 w: 'bir hafta',\n ww: '%d hafta',\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) {\n // 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 },\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 return tr;\n\n})));\n","//! moment.js locale configuration\n//! locale : French [fr]\n//! author : John Fischer : https://github.com/jfroffice\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsStrictRegex =\n /^(janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsShortStrictRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?)/i,\n monthsRegex =\n /(janv\\.?|févr\\.?|mars|avr\\.?|mai|juin|juil\\.?|août|sept\\.?|oct\\.?|nov\\.?|déc\\.?|janvier|février|mars|avril|mai|juin|juillet|août|septembre|octobre|novembre|décembre)/i,\n monthsParse = [\n /^janv/i,\n /^févr/i,\n /^mars/i,\n /^avr/i,\n /^mai/i,\n /^juin/i,\n /^juil/i,\n /^août/i,\n /^sept/i,\n /^oct/i,\n /^nov/i,\n /^déc/i,\n ];\n\n var fr = moment.defineLocale('fr', {\n months: 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split(\n '_'\n ),\n monthsShort:\n 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split(\n '_'\n ),\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex: monthsStrictRegex,\n monthsShortStrictRegex: monthsShortStrictRegex,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 w: 'une semaine',\n ww: '%d semaines',\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 return fr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Marathi [mr]\n//! author : Harshad Kale : https://github.com/kalehv\n//! author : Vivek Athalye : https://github.com/vnathalye\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '१',\n 2: '२',\n 3: '३',\n 4: '४',\n 5: '५',\n 6: '६',\n 7: 'à¥',\n 8: '८',\n 9: '९',\n 0: '०',\n },\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 function relativeTimeMr(number, withoutSuffix, string, isFuture) {\n var output = '';\n if (withoutSuffix) {\n switch (string) {\n case 's':\n output = 'काही सेकंद';\n break;\n case 'ss':\n output = '%d सेकंद';\n break;\n case 'm':\n output = 'à¤à¤• मिनिट';\n break;\n case 'mm':\n output = '%d मिनिटे';\n break;\n case 'h':\n output = 'à¤à¤• तास';\n break;\n case 'hh':\n output = '%d तास';\n break;\n case 'd':\n output = 'à¤à¤• दिवस';\n break;\n case 'dd':\n output = '%d दिवस';\n break;\n case 'M':\n output = 'à¤à¤• महिना';\n break;\n case 'MM':\n output = '%d महिने';\n break;\n case 'y':\n output = 'à¤à¤• वरà¥à¤·';\n break;\n case 'yy':\n output = '%d वरà¥à¤·à¥‡';\n break;\n }\n } else {\n switch (string) {\n case 's':\n output = 'काही सेकंदां';\n break;\n case 'ss':\n output = '%d सेकंदां';\n break;\n case 'm':\n output = 'à¤à¤•à¤¾ मिनिटा';\n break;\n case 'mm':\n output = '%d मिनिटां';\n break;\n case 'h':\n output = 'à¤à¤•à¤¾ तासा';\n break;\n case 'hh':\n output = '%d तासां';\n break;\n case 'd':\n output = 'à¤à¤•à¤¾ दिवसा';\n break;\n case 'dd':\n output = '%d दिवसां';\n break;\n case 'M':\n output = 'à¤à¤•à¤¾ महिनà¥à¤¯à¤¾';\n break;\n case 'MM':\n output = '%d महिनà¥à¤¯à¤¾à¤‚';\n break;\n case 'y':\n output = 'à¤à¤•à¤¾ वरà¥à¤·à¤¾';\n break;\n case 'yy':\n output = '%d वरà¥à¤·à¤¾à¤‚';\n break;\n }\n }\n return output.replace(/%d/i, number);\n }\n\n var mr = moment.defineLocale('mr', {\n months: 'जानेवारी_फेबà¥à¤°à¥à¤µà¤¾à¤°à¥€_मारà¥à¤š_à¤à¤ªà¥à¤°à¤¿à¤²_मे_जून_जà¥à¤²à¥ˆ_ऑगसà¥à¤Ÿ_सपà¥à¤Ÿà¥‡à¤‚बर_ऑकà¥à¤Ÿà¥‹à¤¬à¤°_नोवà¥à¤¹à¥‡à¤‚बर_डिसेंबर'.split(\n '_'\n ),\n monthsShort:\n 'जाने._फेबà¥à¤°à¥._मारà¥à¤š._à¤à¤ªà¥à¤°à¤¿._मे._जून._जà¥à¤²à¥ˆ._ऑग._सपà¥à¤Ÿà¥‡à¤‚._ऑकà¥à¤Ÿà¥‹._नोवà¥à¤¹à¥‡à¤‚._डिसें.'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[match];\n });\n },\n meridiemParse: /पहाटे|सकाळी|दà¥à¤ªà¤¾à¤°à¥€|सायंकाळी|रातà¥à¤°à¥€/,\n meridiemHour: function (hour, meridiem) {\n if (hour === 12) {\n hour = 0;\n }\n if (meridiem === 'पहाटे' || meridiem === 'सकाळी') {\n return hour;\n } else if (\n meridiem === 'दà¥à¤ªà¤¾à¤°à¥€' ||\n meridiem === 'सायंकाळी' ||\n meridiem === 'रातà¥à¤°à¥€'\n ) {\n return hour >= 12 ? hour : hour + 12;\n }\n },\n meridiem: function (hour, minute, isLower) {\n if (hour >= 0 && hour < 6) {\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 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 return mr;\n\n})));\n","//! moment.js locale configuration\n//! locale : Tajik [tg]\n//! author : Orif N. Jr. : https://github.com/orif-jr\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var suffixes = {\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 var tg = moment.defineLocale('tg', {\n months: {\n format: 'Ñнвари_феврали_марти_апрели_майи_июни_июли_авгуÑти_ÑентÑбри_октÑбри_ноÑбри_декабри'.split(\n '_'\n ),\n standalone:\n 'Ñнвар_феврал_март_апрел_май_июн_июл_авгуÑÑ‚_ÑентÑбр_октÑбр_ноÑбр_декабр'.split(\n '_'\n ),\n },\n monthsShort: 'Ñнв_фев_мар_апр_май_июн_июл_авг_Ñен_окт_ноÑ_дек'.split('_'),\n weekdays: 'Ñкшанбе_душанбе_Ñешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split(\n '_'\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: '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[number] || suffixes[a] || suffixes[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 return tg;\n\n})));\n","//! moment.js locale configuration\n//! locale : Albanian [sq]\n//! author : Flakërim Ismani : https://github.com/flakerimi\n//! author : Menelion Elensúle : https://github.com/Oire\n//! author : Oerd Cukalla : https://github.com/oerd\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var sq = moment.defineLocale('sq', {\n months: 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split(\n '_'\n ),\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 '_'\n ),\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 return sq;\n\n})));\n","//! moment.js locale configuration\n//! locale : Italian [it]\n//! author : Lorenzo : https://github.com/aliem\n//! author: Mattia Larentis: https://github.com/nostalgiaz\n//! author: Marco : https://github.com/Manfre98\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var it = moment.defineLocale('it', {\n months: 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split(\n '_'\n ),\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 '_'\n ),\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: function () {\n return (\n '[Oggi a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextDay: function () {\n return (\n '[Domani a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n nextWeek: function () {\n return (\n 'dddd [a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastDay: function () {\n return (\n '[Ieri a' +\n (this.hours() > 1 ? 'lle ' : this.hours() === 0 ? ' ' : \"ll'\") +\n ']LT'\n );\n },\n lastWeek: function () {\n switch (this.day()) {\n case 0:\n return (\n '[La scorsa] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n default:\n return (\n '[Lo scorso] dddd [a' +\n (this.hours() > 1\n ? 'lle '\n : this.hours() === 0\n ? ' '\n : \"ll'\") +\n ']LT'\n );\n }\n },\n sameElse: 'L',\n },\n relativeTime: {\n future: 'tra %s',\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 w: 'una settimana',\n ww: '%d settimane',\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 return it;\n\n})));\n","//! moment.js locale configuration\n//! locale : Icelandic [is]\n//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function plural(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(number, withoutSuffix, key, isFuture) {\n var result = number + ' ';\n switch (key) {\n case 's':\n return withoutSuffix || isFuture\n ? 'nokkrar sekúndur'\n : 'nokkrum sekúndum';\n case 'ss':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum')\n );\n }\n return result + 'sekúnda';\n case 'm':\n return withoutSuffix ? 'mÃnúta' : 'mÃnútu';\n case 'mm':\n if (plural(number)) {\n return (\n result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum')\n );\n } else if (withoutSuffix) {\n return result + 'mÃnúta';\n }\n return result + 'mÃnútu';\n case 'hh':\n if (plural(number)) {\n return (\n result +\n (withoutSuffix || isFuture\n ? 'klukkustundir'\n : 'klukkustundum')\n );\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(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(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(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n }\n\n var is = 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 '_'\n ),\n monthsShort: 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n weekdays:\n 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split(\n '_'\n ),\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,\n ss: translate,\n m: translate,\n mm: translate,\n h: 'klukkustund',\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return is;\n\n})));\n","//! moment.js locale configuration\n//! locale : Javanese [jv]\n//! author : Rony Lantip : https://github.com/lantip\n//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var jv = moment.defineLocale('jv', {\n months: 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split(\n '_'\n ),\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 return jv;\n\n})));\n","//! moment.js locale configuration\n//! locale : Arabic (Tunisia) [ar-tn]\n//! author : Nader Toukabri : https://github.com/naderio\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var arTn = moment.defineLocale('ar-tn', {\n months: 'جانÙÙŠ_ÙÙŠÙري_مارس_Ø£Ùريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.split(\n '_'\n ),\n monthsShort:\n 'جانÙÙŠ_ÙÙŠÙري_مارس_Ø£Ùريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوÙمبر_ديسمبر'.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 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 return arTn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Finnish [fi]\n//! author : Tarmo Aidantausta : https://github.com/bleadof\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var numbersPast =\n 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(\n ' '\n ),\n numbersFuture = [\n 'nolla',\n 'yhden',\n 'kahden',\n 'kolmen',\n 'neljän',\n 'viiden',\n 'kuuden',\n numbersPast[7],\n numbersPast[8],\n numbersPast[9],\n ];\n function translate(number, withoutSuffix, key, isFuture) {\n var result = '';\n switch (key) {\n case 's':\n return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n case 'ss':\n result = isFuture ? 'sekunnin' : 'sekuntia';\n break;\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\n ? isFuture\n ? numbersFuture[number]\n : numbersPast[number]\n : number;\n }\n\n var fi = moment.defineLocale('fi', {\n months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(\n '_'\n ),\n monthsShort:\n 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(\n '_'\n ),\n weekdays:\n 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(\n '_'\n ),\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,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return fi;\n\n})));\n","//! moment.js locale configuration\n//! locale : Hungarian [hu]\n//! author : Adam Brunner : https://github.com/adambrunner\n//! author : Peter Viszt : https://github.com/passatgt\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var weekEndings =\n 'vasárnap hétfÅ‘n kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n function translate(number, withoutSuffix, key, isFuture) {\n var num = number;\n switch (key) {\n case 's':\n return isFuture || withoutSuffix\n ? 'néhány másodperc'\n : 'néhány másodperce';\n case 'ss':\n return num + (isFuture || withoutSuffix)\n ? ' másodperc'\n : ' 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 (\n (isFuture ? '' : '[múlt] ') +\n '[' +\n weekEndings[this.day()] +\n '] LT[-kor]'\n );\n }\n\n var hu = 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 '_'\n ),\n monthsShort:\n 'jan._feb._márc._ápr._máj._jún._júl._aug._szept._okt._nov._dec.'.split(\n '_'\n ),\n monthsParseExact: true,\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,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return hu;\n\n})));\n","//! moment.js locale configuration\n//! locale : Malay [ms-my]\n//! note : DEPRECATED, the correct one is [ms]\n//! author : Weldan Jamili : https://github.com/weldan\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var msMy = moment.defineLocale('ms-my', {\n months: 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split(\n '_'\n ),\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 return msMy;\n\n})));\n","//! moment.js locale configuration\n//! locale : Dutch [nl]\n//! author : Joris Röling : https://github.com/jorisroling\n//! author : Jacob Middag : https://github.com/middagj\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortWithDots =\n 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots =\n 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n monthsParse = [\n /^jan/i,\n /^feb/i,\n /^(maart|mrt\\.?)$/i,\n /^apr/i,\n /^mei$/i,\n /^jun[i.]?$/i,\n /^jul[i.]?$/i,\n /^aug/i,\n /^sep/i,\n /^okt/i,\n /^nov/i,\n /^dec/i,\n ],\n monthsRegex =\n /^(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 var nl = moment.defineLocale('nl', {\n months: 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split(\n '_'\n ),\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\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n monthsShortStrictRegex:\n /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n\n weekdays:\n '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 w: 'één week',\n ww: '%d weken',\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 (\n number +\n (number === 1 || number === 8 || number >= 20 ? 'ste' : 'de')\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 return nl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Konkani Latin script [gom-latn]\n//! author : The Discoverer : https://github.com/WikiDiscoverer\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function processRelativeTime(number, withoutSuffix, key, isFuture) {\n var format = {\n s: ['thoddea sekondamni', 'thodde sekond'],\n ss: [number + ' sekondamni', number + ' sekond'],\n m: ['eka mintan', 'ek minut'],\n mm: [number + ' mintamni', number + ' mintam'],\n h: ['eka voran', 'ek vor'],\n hh: [number + ' voramni', number + ' voram'],\n d: ['eka disan', 'ek dis'],\n dd: [number + ' disamni', number + ' dis'],\n M: ['eka mhoinean', 'ek mhoino'],\n MM: [number + ' mhoineamni', number + ' mhoine'],\n y: ['eka vorsan', 'ek voros'],\n yy: [number + ' vorsamni', number + ' vorsam'],\n };\n return isFuture ? format[key][0] : format[key][1];\n }\n\n var gomLatn = moment.defineLocale('gom-latn', {\n months: {\n standalone:\n 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split(\n '_'\n ),\n format: 'Janerachea_Febrerachea_Marsachea_Abrilachea_Maiachea_Junachea_Julaiachea_Agostachea_Setembrachea_Otubrachea_Novembrachea_Dezembrachea'.split(\n '_'\n ),\n isFormat: /MMMM(\\s)+D[oD]?/,\n },\n monthsShort:\n 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n monthsParseExact: true,\n weekdays: \"Aitar_Somar_Mongllar_Budhvar_Birestar_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 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: '[Fuddlo] dddd[,] LT',\n lastDay: '[Kal] LT',\n lastWeek: '[Fattlo] dddd[,] LT',\n sameElse: 'L',\n },\n relativeTime: {\n future: '%s',\n past: '%s adim',\n s: processRelativeTime,\n ss: processRelativeTime,\n m: processRelativeTime,\n mm: processRelativeTime,\n h: processRelativeTime,\n hh: processRelativeTime,\n d: processRelativeTime,\n dd: processRelativeTime,\n M: processRelativeTime,\n MM: processRelativeTime,\n y: processRelativeTime,\n yy: processRelativeTime,\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: 0, // Sunday is the first day of the week\n doy: 3, // The week that contains Jan 4th is the first week of the year (7 + 0 - 4)\n },\n meridiemParse: /rati|sokallim|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 === 'sokallim') {\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 'sokallim';\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 return gomLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Danish [da]\n//! author : Ulrik Nielsen : https://github.com/mrbase\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var da = moment.defineLocale('da', {\n months: 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split(\n '_'\n ),\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 return da;\n\n})));\n","//! moment.js locale configuration\n//! locale : Polish [pl]\n//! author : Rafal Hirsz : https://github.com/evoL\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsNominative =\n 'styczeÅ„_luty_marzec_kwiecieÅ„_maj_czerwiec_lipiec_sierpieÅ„_wrzesieÅ„_październik_listopad_grudzieÅ„'.split(\n '_'\n ),\n monthsSubjective =\n 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅ›nia_października_listopada_grudnia'.split(\n '_'\n ),\n monthsParse = [\n /^sty/i,\n /^lut/i,\n /^mar/i,\n /^kwi/i,\n /^maj/i,\n /^cze/i,\n /^lip/i,\n /^sie/i,\n /^wrz/i,\n /^paź/i,\n /^lis/i,\n /^gru/i,\n ];\n function plural(n) {\n return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;\n }\n function translate(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutÄ™';\n case 'mm':\n return result + (plural(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinÄ™';\n case 'hh':\n return result + (plural(number) ? 'godziny' : 'godzin');\n case 'ww':\n return result + (plural(number) ? 'tygodnie' : 'tygodni');\n case 'MM':\n return result + (plural(number) ? 'miesiÄ…ce' : 'miesiÄ™cy');\n case 'yy':\n return result + (plural(number) ? 'lata' : 'lat');\n }\n }\n\n var pl = moment.defineLocale('pl', {\n months: function (momentToFormat, format) {\n if (!momentToFormat) {\n return monthsNominative;\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 monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\n weekdays:\n '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,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: '1 dzieÅ„',\n dd: '%d dni',\n w: 'tydzieÅ„',\n ww: translate,\n M: 'miesiÄ…c',\n MM: translate,\n y: 'rok',\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: 4, // The week that contains Jan 4th is the first week of the year.\n },\n });\n\n return pl;\n\n})));\n","//! moment.js locale configuration\n//! locale : Gujarati [gu]\n//! author : Kaushik Thanki : https://github.com/Kaushik1987\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '૧',\n 2: '૨',\n 3: 'à«©',\n 4: '૪',\n 5: 'à««',\n 6: '૬',\n 7: 'à«',\n 8: 'à«®',\n 9: '૯',\n 0: '૦',\n },\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 var gu = moment.defineLocale('gu', {\n months: 'જાનà«àª¯à«àª†àª°à«€_ફેબà«àª°à«àª†àª°à«€_મારà«àªš_àªàªªà«àª°àª¿àª²_મે_જૂન_જà«àª²àª¾àªˆ_ઑગસà«àªŸ_સપà«àªŸà«‡àª®à«àª¬àª°_ઑકà«àªŸà«àª¬àª°_નવેમà«àª¬àª°_ડિસેમà«àª¬àª°'.split(\n '_'\n ),\n monthsShort:\n 'જાનà«àª¯à«._ફેબà«àª°à«._મારà«àªš_àªàªªà«àª°àª¿._મે_જૂન_જà«àª²àª¾._ઑગ._સપà«àªŸà«‡._ઑકà«àªŸà«._નવે._ડિસે.'.split(\n '_'\n ),\n monthsParseExact: true,\n weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બà«àª§à«àªµàª¾àª°_ગà«àª°à«àªµàª¾àª°_શà«àª•à«àª°àªµàª¾àª°_શનિવાર'.split(\n '_'\n ),\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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return gu;\n\n})));\n","//! moment.js\n//! version : 2.30.1\n//! authors : Tim Wood, Iskren Chernev, Moment.js contributors\n//! license : MIT\n//! momentjs.com\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n global.moment = factory()\n}(this, (function () { '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 (\n input instanceof Array ||\n Object.prototype.toString.call(input) === '[object Array]'\n );\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 (\n input != null &&\n Object.prototype.toString.call(input) === '[object Object]'\n );\n }\n\n function hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\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 (hasOwnProp(obj, 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 (\n typeof input === 'number' ||\n Object.prototype.toString.call(input) === '[object Number]'\n );\n }\n\n function isDate(input) {\n return (\n input instanceof Date ||\n Object.prototype.toString.call(input) === '[object Date]'\n );\n }\n\n function map(arr, fn) {\n var res = [],\n i,\n arrLen = arr.length;\n for (i = 0; i < arrLen; ++i) {\n res.push(fn(arr[i], i));\n }\n return res;\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 invalidEra: null,\n invalidMonth: null,\n invalidFormat: false,\n userInvalidated: false,\n iso: false,\n parsedDateParts: [],\n era: null,\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 len = t.length >>> 0,\n i;\n\n for (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 var flags = null,\n parsedParts = false,\n isNowValid = m._d && !isNaN(m._d.getTime());\n if (isNowValid) {\n flags = getParsingFlags(m);\n parsedParts = some.call(flags.parsedDateParts, function (i) {\n return i != null;\n });\n isNowValid =\n flags.overflow < 0 &&\n !flags.empty &&\n !flags.invalidEra &&\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 if (m._strict) {\n isNowValid =\n 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 } else {\n return isNowValid;\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 } 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 updateInProgress = false;\n\n function copyConfig(to, from) {\n var i,\n prop,\n val,\n momentPropertiesLen = momentProperties.length;\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 (momentPropertiesLen > 0) {\n for (i = 0; i < momentPropertiesLen; 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 // 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 (\n obj instanceof Moment || (obj != null && obj._isAMomentObject != null)\n );\n }\n\n function warn(msg) {\n if (\n hooks.suppressDeprecationWarnings === false &&\n typeof console !== 'undefined' &&\n console.warn\n ) {\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 arg,\n i,\n key,\n argLen = arguments.length;\n for (i = 0; i < argLen; i++) {\n arg = '';\n if (typeof arguments[i] === 'object') {\n arg += '\\n[' + i + '] ';\n for (key in arguments[0]) {\n if (hasOwnProp(arguments[0], key)) {\n arg += key + ': ' + arguments[0][key] + ', ';\n }\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(\n msg +\n '\\nArguments: ' +\n Array.prototype.slice.call(args).join('') +\n '\\n' +\n new Error().stack\n );\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 (\n (typeof Function !== 'undefined' && input instanceof Function) ||\n Object.prototype.toString.call(input) === '[object Function]'\n );\n }\n\n function set(config) {\n var prop, i;\n for (i in config) {\n if (hasOwnProp(config, i)) {\n prop = config[i];\n if (isFunction(prop)) {\n this[i] = prop;\n } else {\n this['_' + i] = prop;\n }\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 '|' +\n /\\d{1,2}/.source\n );\n }\n\n function mergeConfigs(parentConfig, childConfig) {\n var res = extend({}, parentConfig),\n 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 (\n hasOwnProp(parentConfig, prop) &&\n !hasOwnProp(childConfig, prop) &&\n isObject(parentConfig[prop])\n ) {\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,\n 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 function zeroFill(number, targetLength, forceSign) {\n var absNumber = '' + Math.abs(number),\n zerosToFill = targetLength - absNumber.length,\n sign = number >= 0;\n return (\n (sign ? (forceSign ? '+' : '') : '-') +\n Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) +\n absNumber\n );\n }\n\n var formattingTokens =\n /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,\n localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g,\n formatFunctions = {},\n 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(\n func.apply(this, arguments),\n token\n );\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),\n i,\n 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 = '',\n i;\n for (i = 0; i < length; i++) {\n output += isFunction(array[i])\n ? array[i].call(mom, format)\n : 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] =\n 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(\n localFormattingTokens,\n replaceLongDateFormatTokens\n );\n localFormattingTokens.lastIndex = 0;\n i -= 1;\n }\n\n return format;\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\n .match(formattingTokens)\n .map(function (tok) {\n if (\n tok === 'MMMM' ||\n tok === 'MM' ||\n tok === 'DD' ||\n tok === 'dddd'\n ) {\n return tok.slice(1);\n }\n return tok;\n })\n .join('');\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 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 w: 'a week',\n ww: '%d weeks',\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 D: 'date',\n dates: 'date',\n date: 'date',\n d: 'day',\n days: 'day',\n day: 'day',\n e: 'weekday',\n weekdays: 'weekday',\n weekday: 'weekday',\n E: 'isoWeekday',\n isoweekdays: 'isoWeekday',\n isoweekday: 'isoWeekday',\n DDD: 'dayOfYear',\n dayofyears: 'dayOfYear',\n dayofyear: 'dayOfYear',\n h: 'hour',\n hours: 'hour',\n hour: 'hour',\n ms: 'millisecond',\n milliseconds: 'millisecond',\n millisecond: 'millisecond',\n m: 'minute',\n minutes: 'minute',\n minute: 'minute',\n M: 'month',\n months: 'month',\n month: 'month',\n Q: 'quarter',\n quarters: 'quarter',\n quarter: 'quarter',\n s: 'second',\n seconds: 'second',\n second: 'second',\n gg: 'weekYear',\n weekyears: 'weekYear',\n weekyear: 'weekYear',\n GG: 'isoWeekYear',\n isoweekyears: 'isoWeekYear',\n isoweekyear: 'isoWeekYear',\n w: 'week',\n weeks: 'week',\n week: 'week',\n W: 'isoWeek',\n isoweeks: 'isoWeek',\n isoweek: 'isoWeek',\n y: 'year',\n years: 'year',\n year: 'year',\n };\n\n function normalizeUnits(units) {\n return typeof units === 'string'\n ? aliases[units] || aliases[units.toLowerCase()]\n : 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 date: 9,\n day: 11,\n weekday: 11,\n isoWeekday: 11,\n dayOfYear: 4,\n hour: 13,\n millisecond: 16,\n minute: 14,\n month: 8,\n quarter: 7,\n second: 15,\n weekYear: 1,\n isoWeekYear: 1,\n week: 5,\n isoWeek: 5,\n year: 1,\n };\n\n function getPrioritizedUnits(unitsObj) {\n var units = [],\n u;\n for (u in unitsObj) {\n if (hasOwnProp(unitsObj, u)) {\n units.push({ unit: u, priority: priorities[u] });\n }\n }\n units.sort(function (a, b) {\n return a.priority - b.priority;\n });\n return units;\n }\n\n var match1 = /\\d/, // 0 - 9\n match2 = /\\d\\d/, // 00 - 99\n match3 = /\\d{3}/, // 000 - 999\n match4 = /\\d{4}/, // 0000 - 9999\n match6 = /[+-]?\\d{6}/, // -999999 - 999999\n match1to2 = /\\d\\d?/, // 0 - 99\n match3to4 = /\\d\\d\\d\\d?/, // 999 - 9999\n match5to6 = /\\d\\d\\d\\d\\d\\d?/, // 99999 - 999999\n match1to3 = /\\d{1,3}/, // 0 - 999\n match1to4 = /\\d{1,4}/, // 0 - 9999\n match1to6 = /[+-]?\\d{1,6}/, // -999999 - 999999\n matchUnsigned = /\\d+/, // 0 - inf\n matchSigned = /[+-]?\\d+/, // -inf - inf\n matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi, // +00:00 -00:00 +0000 -0000 or Z\n matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi, // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/, // 123456789 123456789.123\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 matchWord =\n /[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 match1to2NoLeadingZero = /^[1-9]\\d?/, // 1-99\n match1to2HasZero = /^([1-9]\\d|\\d)/, // 0-99\n regexes;\n\n regexes = {};\n\n function addRegexToken(token, regex, strictRegex) {\n regexes[token] = isFunction(regex)\n ? regex\n : 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(\n s\n .replace('\\\\', '')\n .replace(\n /\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g,\n function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }\n )\n );\n }\n\n function regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\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 var tokens = {};\n\n function addParseToken(token, callback) {\n var i,\n func = callback,\n tokenLen;\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 tokenLen = token.length;\n for (i = 0; i < tokenLen; 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 function isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n }\n\n var YEAR = 0,\n MONTH = 1,\n DATE = 2,\n HOUR = 3,\n MINUTE = 4,\n SECOND = 5,\n MILLISECOND = 6,\n WEEK = 7,\n WEEKDAY = 8;\n\n // FORMATTING\n\n addFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? zeroFill(y, 4) : '+' + 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 // 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] =\n 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 // 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 if (!mom.isValid()) {\n return NaN;\n }\n\n var d = mom._d,\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return isUTC ? d.getUTCMilliseconds() : d.getMilliseconds();\n case 'Seconds':\n return isUTC ? d.getUTCSeconds() : d.getSeconds();\n case 'Minutes':\n return isUTC ? d.getUTCMinutes() : d.getMinutes();\n case 'Hours':\n return isUTC ? d.getUTCHours() : d.getHours();\n case 'Date':\n return isUTC ? d.getUTCDate() : d.getDate();\n case 'Day':\n return isUTC ? d.getUTCDay() : d.getDay();\n case 'Month':\n return isUTC ? d.getUTCMonth() : d.getMonth();\n case 'FullYear':\n return isUTC ? d.getUTCFullYear() : d.getFullYear();\n default:\n return NaN; // Just in case\n }\n }\n\n function set$1(mom, unit, value) {\n var d, isUTC, year, month, date;\n\n if (!mom.isValid() || isNaN(value)) {\n return;\n }\n\n d = mom._d;\n isUTC = mom._isUTC;\n\n switch (unit) {\n case 'Milliseconds':\n return void (isUTC\n ? d.setUTCMilliseconds(value)\n : d.setMilliseconds(value));\n case 'Seconds':\n return void (isUTC ? d.setUTCSeconds(value) : d.setSeconds(value));\n case 'Minutes':\n return void (isUTC ? d.setUTCMinutes(value) : d.setMinutes(value));\n case 'Hours':\n return void (isUTC ? d.setUTCHours(value) : d.setHours(value));\n case 'Date':\n return void (isUTC ? d.setUTCDate(value) : d.setDate(value));\n // case 'Day': // Not real\n // return void (isUTC ? d.setUTCDay(value) : d.setDay(value));\n // case 'Month': // Not used because we need to pass two variables\n // return void (isUTC ? d.setUTCMonth(value) : d.setMonth(value));\n case 'FullYear':\n break; // See below ...\n default:\n return; // Just in case\n }\n\n year = value;\n month = mom.month();\n date = mom.date();\n date = date === 29 && month === 1 && !isLeapYear(year) ? 28 : date;\n void (isUTC\n ? d.setUTCFullYear(year, month, date)\n : d.setFullYear(year, month, date));\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 function stringSet(units, value) {\n if (typeof units === 'object') {\n units = normalizeObjectUnits(units);\n var prioritized = getPrioritizedUnits(units),\n i,\n prioritizedLen = prioritized.length;\n for (i = 0; i < prioritizedLen; 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\n ? isLeapYear(year)\n ? 29\n : 28\n : 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 // PARSING\n\n addRegexToken('M', match1to2, match1to2NoLeadingZero);\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 defaultLocaleMonths =\n 'January_February_March_April_May_June_July_August_September_October_November_December'.split(\n '_'\n ),\n defaultLocaleMonthsShort =\n 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/,\n defaultMonthsShortRegex = matchWord,\n defaultMonthsRegex = matchWord;\n\n function localeMonths(m, format) {\n if (!m) {\n return isArray(this._months)\n ? this._months\n : this._months['standalone'];\n }\n return isArray(this._months)\n ? this._months[m.month()]\n : this._months[\n (this._months.isFormat || MONTHS_IN_FORMAT).test(format)\n ? 'format'\n : 'standalone'\n ][m.month()];\n }\n\n function localeMonthsShort(m, format) {\n if (!m) {\n return isArray(this._monthsShort)\n ? this._monthsShort\n : this._monthsShort['standalone'];\n }\n return isArray(this._monthsShort)\n ? this._monthsShort[m.month()]\n : this._monthsShort[\n MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'\n ][m.month()];\n }\n\n function handleStrictParse(monthName, format, strict) {\n var i,\n ii,\n mom,\n 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(\n mom,\n ''\n ).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(\n '^' + this.months(mom, '').replace('.', '') + '$',\n 'i'\n );\n this._shortMonthsParse[i] = new RegExp(\n '^' + this.monthsShort(mom, '').replace('.', '') + '$',\n 'i'\n );\n }\n if (!strict && !this._monthsParse[i]) {\n regex =\n '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'MMMM' &&\n this._longMonthsParse[i].test(monthName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'MMM' &&\n this._shortMonthsParse[i].test(monthName)\n ) {\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 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 var month = value,\n date = mom.date();\n\n date = date < 29 ? date : Math.min(date, daysInMonth(mom.year(), month));\n void (mom._isUTC\n ? mom._d.setUTCMonth(month, date)\n : mom._d.setMonth(month, date));\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 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\n : this._monthsShortRegex;\n }\n }\n\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\n : this._monthsRegex;\n }\n }\n\n function computeMonthsParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n shortP,\n longP;\n for (i = 0; i < 12; i++) {\n // make the regex if we don't have it already\n mom = createUTC([2000, i]);\n shortP = regexEscape(this.monthsShort(mom, ''));\n longP = regexEscape(this.months(mom, ''));\n shortPieces.push(shortP);\n longPieces.push(longP);\n mixedPieces.push(longP);\n mixedPieces.push(shortP);\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\n this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._monthsShortRegex = this._monthsRegex;\n this._monthsStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._monthsShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\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, args;\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0) {\n 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,\n 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,\n 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 // PARSING\n\n addRegexToken('w', match1to2, match1to2NoLeadingZero);\n addRegexToken('ww', match1to2, match2);\n addRegexToken('W', match1to2, match1to2NoLeadingZero);\n addRegexToken('WW', match1to2, match2);\n\n addWeekParseToken(\n ['w', 'ww', 'W', 'WW'],\n function (input, week, config, token) {\n week[token.substr(0, 1)] = toInt(input);\n }\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 // 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 =\n 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n defaultWeekdaysRegex = matchWord,\n defaultWeekdaysShortRegex = matchWord,\n defaultWeekdaysMinRegex = matchWord;\n\n function localeWeekdays(m, format) {\n var weekdays = isArray(this._weekdays)\n ? this._weekdays\n : this._weekdays[\n m && m !== true && this._weekdays.isFormat.test(format)\n ? 'format'\n : 'standalone'\n ];\n return m === true\n ? shiftWeekdays(weekdays, this._week.dow)\n : m\n ? weekdays[m.day()]\n : weekdays;\n }\n\n function localeWeekdaysShort(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n : m\n ? this._weekdaysShort[m.day()]\n : this._weekdaysShort;\n }\n\n function localeWeekdaysMin(m) {\n return m === true\n ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n : m\n ? this._weekdaysMin[m.day()]\n : this._weekdaysMin;\n }\n\n function handleStrictParse$1(weekdayName, format, strict) {\n var i,\n ii,\n mom,\n 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(\n mom,\n ''\n ).toLocaleLowerCase();\n this._shortWeekdaysParse[i] = this.weekdaysShort(\n mom,\n ''\n ).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(\n '^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._shortWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n this._minWeekdaysParse[i] = new RegExp(\n '^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$',\n 'i'\n );\n }\n if (!this._weekdaysParse[i]) {\n regex =\n '^' +\n this.weekdays(mom, '') +\n '|^' +\n this.weekdaysShort(mom, '') +\n '|^' +\n this.weekdaysMin(mom, '');\n this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n }\n // test the regex\n if (\n strict &&\n format === 'dddd' &&\n this._fullWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'ddd' &&\n this._shortWeekdaysParse[i].test(weekdayName)\n ) {\n return i;\n } else if (\n strict &&\n format === 'dd' &&\n this._minWeekdaysParse[i].test(weekdayName)\n ) {\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\n var day = get(this, 'Day');\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 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\n : this._weekdaysRegex;\n }\n }\n\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\n : this._weekdaysShortRegex;\n }\n }\n\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\n : this._weekdaysMinRegex;\n }\n }\n\n function computeWeekdaysParse() {\n function cmpLenRev(a, b) {\n return b.length - a.length;\n }\n\n var minPieces = [],\n shortPieces = [],\n longPieces = [],\n mixedPieces = [],\n i,\n mom,\n minp,\n shortp,\n 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 = regexEscape(this.weekdaysMin(mom, ''));\n shortp = regexEscape(this.weekdaysShort(mom, ''));\n longp = regexEscape(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\n this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._weekdaysShortRegex = this._weekdaysRegex;\n this._weekdaysMinRegex = this._weekdaysRegex;\n\n this._weekdaysStrictRegex = new RegExp(\n '^(' + longPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysShortStrictRegex = new RegExp(\n '^(' + shortPieces.join('|') + ')',\n 'i'\n );\n this._weekdaysMinStrictRegex = new RegExp(\n '^(' + minPieces.join('|') + ')',\n 'i'\n );\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 (\n '' +\n hFormat.apply(this) +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\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 (\n '' +\n this.hours() +\n zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2)\n );\n });\n\n function meridiem(token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(\n this.hours(),\n this.minutes(),\n lowercase\n );\n });\n }\n\n meridiem('a', true);\n meridiem('A', false);\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, match1to2HasZero);\n addRegexToken('h', match1to2, match1to2NoLeadingZero);\n addRegexToken('k', match1to2, match1to2NoLeadingZero);\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 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 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 // 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 getSetHour = makeGetSet('Hours', true);\n\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 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 localeFamilies = {},\n globalLocale;\n\n function commonPrefix(arr1, arr2) {\n var i,\n minl = Math.min(arr1.length, arr2.length);\n for (i = 0; i < minl; i += 1) {\n if (arr1[i] !== arr2[i]) {\n return i;\n }\n }\n return minl;\n }\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,\n j,\n next,\n locale,\n 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 (\n next &&\n next.length >= j &&\n commonPrefix(split, next) >= j - 1\n ) {\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 isLocaleNameSane(name) {\n // Prevent names that look like filesystem paths, i.e contain '/' or '\\'\n // Ensure name is available and function returns boolean\n return !!(name && name.match('^[^/\\\\\\\\]*$'));\n }\n\n function loadLocale(name) {\n var oldLocale = null,\n aliasedRequire;\n // TODO: Find a better way to register and load all the locales in Node\n if (\n locales[name] === undefined &&\n typeof module !== 'undefined' &&\n module &&\n module.exports &&\n isLocaleNameSane(name)\n ) {\n try {\n oldLocale = globalLocale._abbr;\n aliasedRequire = require;\n aliasedRequire('./locale/' + name);\n getSetGlobalLocale(oldLocale);\n } catch (e) {\n // mark as not found to avoid repeating expensive file require call causing high CPU\n // when trying to find en-US, en_US, en-us for every format call\n locales[name] = null; // null means not found\n }\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 } else {\n data = defineLocale(key, values);\n }\n\n if (data) {\n // moment.duration._locale = moment._locale = data;\n globalLocale = data;\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(\n 'Locale ' + key + ' not found. Did you forget to load it?'\n );\n }\n }\n }\n\n return globalLocale._abbr;\n }\n\n function defineLocale(name, config) {\n if (config !== null) {\n var locale,\n parentConfig = baseConfig;\n config.abbr = name;\n if (locales[name] != null) {\n deprecateSimple(\n '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 );\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 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,\n tmpLocale,\n parentConfig = baseConfig;\n\n if (locales[name] != null && locales[name].parentLocale != null) {\n // Update existing child locale in-place to avoid memory-leaks\n locales[name].set(mergeConfigs(locales[name]._config, config));\n } else {\n // MERGE\n tmpLocale = loadLocale(name);\n if (tmpLocale != null) {\n parentConfig = tmpLocale._config;\n }\n config = mergeConfigs(parentConfig, config);\n if (tmpLocale == null) {\n // updateLocale is called for creating a new locale\n // Set abbr so it will have a name (getters return\n // undefined otherwise).\n config.abbr = name;\n }\n locale = new Locale(config);\n locale.parentLocale = locales[name];\n locales[name] = locale;\n }\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 if (name === getSetGlobalLocale()) {\n getSetGlobalLocale(name);\n }\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 a = m._a;\n\n if (a && getParsingFlags(m).overflow === -2) {\n overflow =\n a[MONTH] < 0 || a[MONTH] > 11\n ? MONTH\n : a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH])\n ? DATE\n : a[HOUR] < 0 ||\n a[HOUR] > 24 ||\n (a[HOUR] === 24 &&\n (a[MINUTE] !== 0 ||\n a[SECOND] !== 0 ||\n a[MILLISECOND] !== 0))\n ? HOUR\n : a[MINUTE] < 0 || a[MINUTE] > 59\n ? MINUTE\n : a[SECOND] < 0 || a[SECOND] > 59\n ? SECOND\n : a[MILLISECOND] < 0 || a[MILLISECOND] > 999\n ? MILLISECOND\n : -1;\n\n if (\n getParsingFlags(m)._overflowDayOfYear &&\n (overflow < YEAR || overflow > DATE)\n ) {\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 // 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 =\n /^\\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 basicIsoRegex =\n /^\\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 tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/,\n 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 ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n ['YYYYDDD', /\\d{7}/],\n ['YYYYMM', /\\d{6}/, false],\n ['YYYY', /\\d{4}/, false],\n ],\n // iso time formats and regexes\n 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 aspNetJsonRegex = /^\\/?Date\\((-?\\d+)/i,\n // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n rfc2822 =\n /^(?:(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 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 // date from iso format\n function configFromISO(config) {\n var i,\n l,\n string = config._i,\n match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n allowTime,\n dateFormat,\n timeFormat,\n tzFormat,\n isoDatesLen = isoDates.length,\n isoTimesLen = isoTimes.length;\n\n if (match) {\n getParsingFlags(config).iso = true;\n for (i = 0, l = isoDatesLen; 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 = isoTimesLen; 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 function extractFromRFC2822Strings(\n yearStr,\n monthStr,\n dayStr,\n hourStr,\n minuteStr,\n secondStr\n ) {\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\n .replace(/\\([^()]*\\)|[\\n\\t]/g, ' ')\n .replace(/(\\s\\s+)/g, ' ')\n .replace(/^\\s\\s*/, '')\n .replace(/\\s\\s*$/, '');\n }\n\n function checkWeekday(weekdayStr, parsedInput, config) {\n if (weekdayStr) {\n // TODO: Replace the vanilla JS Date object with an independent day-of-week check.\n var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n weekdayActual = new Date(\n parsedInput[0],\n parsedInput[1],\n parsedInput[2]\n ).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 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 m = hm % 100,\n 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 parsedArray;\n if (match) {\n parsedArray = extractFromRFC2822Strings(\n match[4],\n match[3],\n match[2],\n match[5],\n match[6],\n match[7]\n );\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 1) ASP.NET, 2) ISO, 3) RFC 2822 formats, or 4) optional fallback if parsing isn't strict\n function configFromString(config) {\n var matched = aspNetJsonRegex.exec(config._i);\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 if (config._strict) {\n config._isValid = false;\n } else {\n // Final attempt, use Input Fallback\n hooks.createFromInputFallback(config);\n }\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. Please refer to 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 // 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 [\n nowValue.getUTCFullYear(),\n nowValue.getUTCMonth(),\n nowValue.getUTCDate(),\n ];\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,\n date,\n input = [],\n currentDate,\n expectedWeekday,\n 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 (\n config._dayOfYear > daysInYear(yearToUse) ||\n config._dayOfYear === 0\n ) {\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] =\n config._a[i] == null ? (i === 2 ? 1 : 0) : config._a[i];\n }\n\n // Check for 24:00:00.000\n if (\n config._a[HOUR] === 24 &&\n config._a[MINUTE] === 0 &&\n config._a[SECOND] === 0 &&\n config._a[MILLISECOND] === 0\n ) {\n config._nextDay = true;\n config._a[HOUR] = 0;\n }\n\n config._d = (config._useUTC ? createUTCDate : createDate).apply(\n null,\n input\n );\n expectedWeekday = config._useUTC\n ? config._d.getUTCDay()\n : 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 (\n config._w &&\n typeof config._w.d !== 'undefined' &&\n config._w.d !== expectedWeekday\n ) {\n getParsingFlags(config).weekdayMismatch = true;\n }\n }\n\n function dayOfYearFromWeekInfo(config) {\n var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow, curWeek;\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(\n w.GG,\n config._a[YEAR],\n weekOfYear(createLocal(), 1, 4).year\n );\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 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 // 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,\n parsedInput,\n tokens,\n token,\n skipped,\n stringLength = string.length,\n totalParsedInputLength = 0,\n era,\n tokenLen;\n\n tokens =\n expandFormat(config._f, config._locale).match(formattingTokens) || [];\n tokenLen = tokens.length;\n for (i = 0; i < tokenLen; i++) {\n token = tokens[i];\n parsedInput = (string.match(getParseRegexForToken(token, config)) ||\n [])[0];\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(\n string.indexOf(parsedInput) + parsedInput.length\n );\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 } else {\n getParsingFlags(config).unusedTokens.push(token);\n }\n addTimeToArrayFromToken(token, parsedInput, config);\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 =\n 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 (\n config._a[HOUR] <= 12 &&\n getParsingFlags(config).bigHour === true &&\n config._a[HOUR] > 0\n ) {\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(\n config._locale,\n config._a[HOUR],\n config._meridiem\n );\n\n // handle era\n era = getParsingFlags(config).era;\n if (era !== null) {\n config._a[YEAR] = config._locale.erasConvertYear(era, config._a[YEAR]);\n }\n\n configFromArray(config);\n checkOverflow(config);\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 scoreToBeat,\n i,\n currentScore,\n validFormatFound,\n bestFormatIsValid = false,\n configfLen = config._f.length;\n\n if (configfLen === 0) {\n getParsingFlags(config).invalidFormat = true;\n config._d = new Date(NaN);\n return;\n }\n\n for (i = 0; i < configfLen; i++) {\n currentScore = 0;\n validFormatFound = false;\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 validFormatFound = true;\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 (!bestFormatIsValid) {\n if (\n scoreToBeat == null ||\n currentScore < scoreToBeat ||\n validFormatFound\n ) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n if (validFormatFound) {\n bestFormatIsValid = true;\n }\n }\n } else {\n if (currentScore < scoreToBeat) {\n scoreToBeat = currentScore;\n bestMoment = tempConfig;\n }\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 dayOrDate = i.day === undefined ? i.date : i.day;\n config._a = map(\n [i.year, i.month, dayOrDate, i.hour, i.minute, i.second, i.millisecond],\n function (obj) {\n return obj && parseInt(obj, 10);\n }\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 (format === true || format === false) {\n strict = format;\n format = undefined;\n }\n\n if (locale === true || locale === false) {\n strict = locale;\n locale = undefined;\n }\n\n if (\n (isObject(input) && isObjectEmpty(input)) ||\n (isArray(input) && input.length === 0)\n ) {\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 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 = [\n 'year',\n 'quarter',\n 'month',\n 'week',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'millisecond',\n ];\n\n function isDurationValid(m) {\n var key,\n unitHasDecimal = false,\n i,\n orderLen = ordering.length;\n for (key in m) {\n if (\n hasOwnProp(m, key) &&\n !(\n indexOf.call(ordering, key) !== -1 &&\n (m[key] == null || !isNaN(m[key]))\n )\n ) {\n return false;\n }\n }\n\n for (i = 0; i < orderLen; ++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 =\n +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 + 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 + quarters * 3 + 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 // 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 (\n (dontConvert && array1[i] !== array2[i]) ||\n (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))\n ) {\n diffs++;\n }\n }\n return diffs + lengthDiff;\n }\n\n // FORMATTING\n\n function offset(token, separator) {\n addFormatToken(token, 0, 0, function () {\n var offset = this.utcOffset(),\n sign = '+';\n if (offset < 0) {\n offset = -offset;\n sign = '-';\n }\n return (\n sign +\n zeroFill(~~(offset / 60), 2) +\n separator +\n zeroFill(~~offset % 60, 2)\n );\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 chunk,\n parts,\n minutes;\n\n if (matches === null) {\n return null;\n }\n\n chunk = matches[matches.length - 1] || [];\n parts = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n return minutes === 0 ? 0 : 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 =\n (isMoment(input) || isDate(input)\n ? input.valueOf()\n : 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());\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(\n this,\n createDuration(input - offset, 'm'),\n 1,\n false\n );\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 } 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 other;\n\n copyConfig(c, this);\n c = prepareConfig(c);\n\n if (c._a) {\n other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n this._isDSTShifted =\n this.isValid() && 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 // 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 isoRegex =\n /^(-|\\+)?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) || !isNaN(+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) {\n // checks for null or undefined\n duration = {};\n } else if (\n typeof duration === 'object' &&\n ('from' in duration || 'to' in duration)\n ) {\n diffRes = momentsDifference(\n createLocal(duration.from),\n createLocal(duration.to)\n );\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 if (isDuration(input) && hasOwnProp(input, '_isValid')) {\n ret._isValid = input._isValid;\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 =\n other.month() - base.month() + (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(\n name,\n 'moment().' +\n name +\n '(period, number) is deprecated. Please use moment().' +\n name +\n '(number, period). ' +\n 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'\n );\n tmp = val;\n val = period;\n period = tmp;\n }\n\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 subtract = createAdder(-1, 'subtract');\n\n function isString(input) {\n return typeof input === 'string' || input instanceof String;\n }\n\n // type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined\n function isMomentInput(input) {\n return (\n isMoment(input) ||\n isDate(input) ||\n isString(input) ||\n isNumber(input) ||\n isNumberOrStringArray(input) ||\n isMomentInputObject(input) ||\n input === null ||\n input === undefined\n );\n }\n\n function isMomentInputObject(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'years',\n 'year',\n 'y',\n 'months',\n 'month',\n 'M',\n 'days',\n 'day',\n 'd',\n 'dates',\n 'date',\n 'D',\n 'hours',\n 'hour',\n 'h',\n 'minutes',\n 'minute',\n 'm',\n 'seconds',\n 'second',\n 's',\n 'milliseconds',\n 'millisecond',\n 'ms',\n ],\n i,\n property,\n propertyLen = properties.length;\n\n for (i = 0; i < propertyLen; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function isNumberOrStringArray(input) {\n var arrayTest = isArray(input),\n dataTypeTest = false;\n if (arrayTest) {\n dataTypeTest =\n input.filter(function (item) {\n return !isNumber(item) && isString(input);\n }).length === 0;\n }\n return arrayTest && dataTypeTest;\n }\n\n function isCalendarSpec(input) {\n var objectTest = isObject(input) && !isObjectEmpty(input),\n propertyTest = false,\n properties = [\n 'sameDay',\n 'nextDay',\n 'lastDay',\n 'nextWeek',\n 'lastWeek',\n 'sameElse',\n ],\n i,\n property;\n\n for (i = 0; i < properties.length; i += 1) {\n property = properties[i];\n propertyTest = propertyTest || hasOwnProp(input, property);\n }\n\n return objectTest && propertyTest;\n }\n\n function getCalendarFormat(myMoment, now) {\n var diff = myMoment.diff(now, 'days', true);\n return diff < -6\n ? 'sameElse'\n : diff < -1\n ? 'lastWeek'\n : diff < 0\n ? 'lastDay'\n : diff < 1\n ? 'sameDay'\n : diff < 2\n ? 'nextDay'\n : diff < 7\n ? 'nextWeek'\n : 'sameElse';\n }\n\n function calendar$1(time, formats) {\n // Support for single parameter, formats only overload to the calendar function\n if (arguments.length === 1) {\n if (!arguments[0]) {\n time = undefined;\n formats = undefined;\n } else if (isMomentInput(arguments[0])) {\n time = arguments[0];\n formats = undefined;\n } else if (isCalendarSpec(arguments[0])) {\n formats = arguments[0];\n time = undefined;\n }\n }\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 output =\n formats &&\n (isFunction(formats[format])\n ? formats[format].call(this, now)\n : formats[format]);\n\n return this.format(\n output || this.localeData().calendar(format, this, createLocal(now))\n );\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 (\n (inclusivity[0] === '('\n ? this.isAfter(localFrom, units)\n : !this.isBefore(localFrom, units)) &&\n (inclusivity[1] === ')'\n ? this.isBefore(localTo, units)\n : !this.isAfter(localTo, units))\n );\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 (\n this.clone().startOf(units).valueOf() <= inputMs &&\n inputMs <= this.clone().endOf(units).valueOf()\n );\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, zoneDelta, 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':\n output = monthDiff(this, that) / 12;\n break;\n case 'month':\n output = monthDiff(this, that);\n break;\n case 'quarter':\n output = monthDiff(this, that) / 3;\n break;\n case 'second':\n output = (this - that) / 1e3;\n break; // 1000\n case 'minute':\n output = (this - that) / 6e4;\n break; // 1000 * 60\n case 'hour':\n output = (this - that) / 36e5;\n break; // 1000 * 60 * 60\n case 'day':\n output = (this - that - zoneDelta) / 864e5;\n break; // 1000 * 60 * 60 * 24, negate dst\n case 'week':\n output = (this - that - zoneDelta) / 6048e5;\n break; // 1000 * 60 * 60 * 24 * 7, negate dst\n default:\n output = this - that;\n }\n\n return asFloat ? output : absFloor(output);\n }\n\n function monthDiff(a, b) {\n if (a.date() < b.date()) {\n // end-of-month calculations work correct when the start month has more\n // days than the end month.\n return -monthDiff(b, a);\n }\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,\n 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 m = utc ? this.clone().utc() : this;\n if (m.year() < 0 || m.year() > 9999) {\n return formatMoment(\n m,\n utc\n ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]'\n : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\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)\n .toISOString()\n .replace('Z', formatMoment(m, 'Z'));\n }\n }\n return formatMoment(\n m,\n utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'\n );\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 zone = '',\n prefix,\n year,\n datetime,\n suffix;\n if (!this.isLocal()) {\n func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n zone = 'Z';\n }\n prefix = '[' + func + '(\"]';\n year = 0 <= this.year() && this.year() <= 9999 ? 'YYYY' : 'YYYYYY';\n datetime = '-MM-DD[T]HH:mm:ss.SSS';\n suffix = zone + '[\")]';\n\n return this.format(prefix + year + datetime + suffix);\n }\n\n function format(inputString) {\n if (!inputString) {\n inputString = this.isUtc()\n ? hooks.defaultFormatUtc\n : hooks.defaultFormat;\n }\n var output = formatMoment(this, inputString);\n return this.localeData().postformat(output);\n }\n\n function from(time, withoutSuffix) {\n if (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ to: this, from: time })\n .locale(this.locale())\n .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 (\n this.isValid() &&\n ((isMoment(time) && time.isValid()) || createLocal(time).isValid())\n ) {\n return createDuration({ from: this, to: time })\n .locale(this.locale())\n .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 MS_PER_MINUTE = 60 * MS_PER_SECOND,\n MS_PER_HOUR = 60 * MS_PER_MINUTE,\n 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, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n 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(\n this.year(),\n this.month() - (this.month() % 3),\n 1\n );\n break;\n case 'month':\n time = startOfDate(this.year(), this.month(), 1);\n break;\n case 'week':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday()\n );\n break;\n case 'isoWeek':\n time = startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1)\n );\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(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n );\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, startOfDate;\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond' || !this.isValid()) {\n return this;\n }\n\n 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 =\n startOfDate(\n this.year(),\n this.month() - (this.month() % 3) + 3,\n 1\n ) - 1;\n break;\n case 'month':\n time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n break;\n case 'week':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - this.weekday() + 7\n ) - 1;\n break;\n case 'isoWeek':\n time =\n startOfDate(\n this.year(),\n this.month(),\n this.date() - (this.isoWeekday() - 1) + 7\n ) - 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 +=\n MS_PER_HOUR -\n mod$1(\n time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE),\n MS_PER_HOUR\n ) -\n 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 [\n m.year(),\n m.month(),\n m.date(),\n m.hour(),\n m.minute(),\n m.second(),\n m.millisecond(),\n ];\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 addFormatToken('N', 0, 0, 'eraAbbr');\n addFormatToken('NN', 0, 0, 'eraAbbr');\n addFormatToken('NNN', 0, 0, 'eraAbbr');\n addFormatToken('NNNN', 0, 0, 'eraName');\n addFormatToken('NNNNN', 0, 0, 'eraNarrow');\n\n addFormatToken('y', ['y', 1], 'yo', 'eraYear');\n addFormatToken('y', ['yy', 2], 0, 'eraYear');\n addFormatToken('y', ['yyy', 3], 0, 'eraYear');\n addFormatToken('y', ['yyyy', 4], 0, 'eraYear');\n\n addRegexToken('N', matchEraAbbr);\n addRegexToken('NN', matchEraAbbr);\n addRegexToken('NNN', matchEraAbbr);\n addRegexToken('NNNN', matchEraName);\n addRegexToken('NNNNN', matchEraNarrow);\n\n addParseToken(\n ['N', 'NN', 'NNN', 'NNNN', 'NNNNN'],\n function (input, array, config, token) {\n var era = config._locale.erasParse(input, token, config._strict);\n if (era) {\n getParsingFlags(config).era = era;\n } else {\n getParsingFlags(config).invalidEra = input;\n }\n }\n );\n\n addRegexToken('y', matchUnsigned);\n addRegexToken('yy', matchUnsigned);\n addRegexToken('yyy', matchUnsigned);\n addRegexToken('yyyy', matchUnsigned);\n addRegexToken('yo', matchEraYearOrdinal);\n\n addParseToken(['y', 'yy', 'yyy', 'yyyy'], YEAR);\n addParseToken(['yo'], function (input, array, config, token) {\n var match;\n if (config._locale._eraYearOrdinalRegex) {\n match = input.match(config._locale._eraYearOrdinalRegex);\n }\n\n if (config._locale.eraYearOrdinalParse) {\n array[YEAR] = config._locale.eraYearOrdinalParse(input, match);\n } else {\n array[YEAR] = parseInt(input, 10);\n }\n });\n\n function localeEras(m, format) {\n var i,\n l,\n date,\n eras = this._eras || getLocale('en')._eras;\n for (i = 0, l = eras.length; i < l; ++i) {\n switch (typeof eras[i].since) {\n case 'string':\n // truncate time\n date = hooks(eras[i].since).startOf('day');\n eras[i].since = date.valueOf();\n break;\n }\n\n switch (typeof eras[i].until) {\n case 'undefined':\n eras[i].until = +Infinity;\n break;\n case 'string':\n // truncate time\n date = hooks(eras[i].until).startOf('day').valueOf();\n eras[i].until = date.valueOf();\n break;\n }\n }\n return eras;\n }\n\n function localeErasParse(eraName, format, strict) {\n var i,\n l,\n eras = this.eras(),\n name,\n abbr,\n narrow;\n eraName = eraName.toUpperCase();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n name = eras[i].name.toUpperCase();\n abbr = eras[i].abbr.toUpperCase();\n narrow = eras[i].narrow.toUpperCase();\n\n if (strict) {\n switch (format) {\n case 'N':\n case 'NN':\n case 'NNN':\n if (abbr === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNN':\n if (name === eraName) {\n return eras[i];\n }\n break;\n\n case 'NNNNN':\n if (narrow === eraName) {\n return eras[i];\n }\n break;\n }\n } else if ([name, abbr, narrow].indexOf(eraName) >= 0) {\n return eras[i];\n }\n }\n }\n\n function localeErasConvertYear(era, year) {\n var dir = era.since <= era.until ? +1 : -1;\n if (year === undefined) {\n return hooks(era.since).year();\n } else {\n return hooks(era.since).year() + (year - era.offset) * dir;\n }\n }\n\n function getEraName() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].name;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].name;\n }\n }\n\n return '';\n }\n\n function getEraNarrow() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].narrow;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].narrow;\n }\n }\n\n return '';\n }\n\n function getEraAbbr() {\n var i,\n l,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (eras[i].since <= val && val <= eras[i].until) {\n return eras[i].abbr;\n }\n if (eras[i].until <= val && val <= eras[i].since) {\n return eras[i].abbr;\n }\n }\n\n return '';\n }\n\n function getEraYear() {\n var i,\n l,\n dir,\n val,\n eras = this.localeData().eras();\n for (i = 0, l = eras.length; i < l; ++i) {\n dir = eras[i].since <= eras[i].until ? +1 : -1;\n\n // truncate time\n val = this.clone().startOf('day').valueOf();\n\n if (\n (eras[i].since <= val && val <= eras[i].until) ||\n (eras[i].until <= val && val <= eras[i].since)\n ) {\n return (\n (this.year() - hooks(eras[i].since).year()) * dir +\n eras[i].offset\n );\n }\n }\n\n return this.year();\n }\n\n function erasNameRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNameRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNameRegex : this._erasRegex;\n }\n\n function erasAbbrRegex(isStrict) {\n if (!hasOwnProp(this, '_erasAbbrRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasAbbrRegex : this._erasRegex;\n }\n\n function erasNarrowRegex(isStrict) {\n if (!hasOwnProp(this, '_erasNarrowRegex')) {\n computeErasParse.call(this);\n }\n return isStrict ? this._erasNarrowRegex : this._erasRegex;\n }\n\n function matchEraAbbr(isStrict, locale) {\n return locale.erasAbbrRegex(isStrict);\n }\n\n function matchEraName(isStrict, locale) {\n return locale.erasNameRegex(isStrict);\n }\n\n function matchEraNarrow(isStrict, locale) {\n return locale.erasNarrowRegex(isStrict);\n }\n\n function matchEraYearOrdinal(isStrict, locale) {\n return locale._eraYearOrdinalRegex || matchUnsigned;\n }\n\n function computeErasParse() {\n var abbrPieces = [],\n namePieces = [],\n narrowPieces = [],\n mixedPieces = [],\n i,\n l,\n erasName,\n erasAbbr,\n erasNarrow,\n eras = this.eras();\n\n for (i = 0, l = eras.length; i < l; ++i) {\n erasName = regexEscape(eras[i].name);\n erasAbbr = regexEscape(eras[i].abbr);\n erasNarrow = regexEscape(eras[i].narrow);\n\n namePieces.push(erasName);\n abbrPieces.push(erasAbbr);\n narrowPieces.push(erasNarrow);\n mixedPieces.push(erasName);\n mixedPieces.push(erasAbbr);\n mixedPieces.push(erasNarrow);\n }\n\n this._erasRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n this._erasNameRegex = new RegExp('^(' + namePieces.join('|') + ')', 'i');\n this._erasAbbrRegex = new RegExp('^(' + abbrPieces.join('|') + ')', 'i');\n this._erasNarrowRegex = new RegExp(\n '^(' + narrowPieces.join('|') + ')',\n 'i'\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 // 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(\n ['gggg', 'ggggg', 'GGGG', 'GGGGG'],\n function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n }\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(\n this,\n input,\n this.week(),\n this.weekday() + this.localeData()._week.dow,\n this.localeData()._week.dow,\n this.localeData()._week.doy\n );\n }\n\n function getSetISOWeekYear(input) {\n return getSetWeekYearHelper.call(\n this,\n input,\n this.isoWeek(),\n this.isoWeekday(),\n 1,\n 4\n );\n }\n\n function getISOWeeksInYear() {\n return weeksInYear(this.year(), 1, 4);\n }\n\n function getISOWeeksInISOWeekYear() {\n return weeksInYear(this.isoWeekYear(), 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 getWeeksInWeekYear() {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.weekYear(), 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 // 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\n ? Math.ceil((this.month() + 1) / 3)\n : this.month((input - 1) * 3 + (this.month() % 3));\n }\n\n // FORMATTING\n\n addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n // PARSING\n\n addRegexToken('D', match1to2, match1to2NoLeadingZero);\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 // 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 =\n Math.round(\n (this.clone().startOf('day') - this.clone().startOf('year')) / 864e5\n ) + 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 // PARSING\n\n addRegexToken('m', match1to2, match1to2HasZero);\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 // PARSING\n\n addRegexToken('s', match1to2, match1to2HasZero);\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 // PARSING\n\n addRegexToken('S', match1to3, match1);\n addRegexToken('SS', match1to3, match2);\n addRegexToken('SSS', match1to3, match3);\n\n var token, getSetMillisecond;\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\n 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 if (typeof Symbol !== 'undefined' && Symbol.for != null) {\n proto[Symbol.for('nodejs.util.inspect.custom')] = function () {\n return 'Moment<' + this.format() + '>';\n };\n }\n proto.toJSON = toJSON;\n proto.toString = toString;\n proto.unix = unix;\n proto.valueOf = valueOf;\n proto.creationData = creationData;\n proto.eraName = getEraName;\n proto.eraNarrow = getEraNarrow;\n proto.eraAbbr = getEraAbbr;\n proto.eraYear = getEraYear;\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.weeksInWeekYear = getWeeksInWeekYear;\n proto.isoWeeksInYear = getISOWeeksInYear;\n proto.isoWeeksInISOWeekYear = getISOWeeksInISOWeekYear;\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(\n 'dates accessor is deprecated. Use date instead.',\n getSetDayOfMonth\n );\n proto.months = deprecate(\n 'months accessor is deprecated. Use month instead',\n getSetMonth\n );\n proto.years = deprecate(\n 'years accessor is deprecated. Use year instead',\n getSetYear\n );\n proto.zone = deprecate(\n 'moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/',\n getSetZone\n );\n proto.isDSTShifted = deprecate(\n 'isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information',\n isDaylightSavingTimeShifted\n );\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 proto$1.eras = localeEras;\n proto$1.erasParse = localeErasParse;\n proto$1.erasConvertYear = localeErasConvertYear;\n proto$1.erasAbbrRegex = erasAbbrRegex;\n proto$1.erasNameRegex = erasNameRegex;\n proto$1.erasNarrowRegex = erasNarrowRegex;\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 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 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 i,\n out = [];\n\n if (index != null) {\n return get$1(format, (index + shift) % 7, field, 'day');\n }\n\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 eras: [\n {\n since: '0001-01-01',\n until: +Infinity,\n offset: 1,\n name: 'Anno Domini',\n narrow: 'AD',\n abbr: 'AD',\n },\n {\n since: '0000-12-31',\n until: -Infinity,\n offset: 1,\n name: 'Before Christ',\n narrow: 'BC',\n abbr: 'BC',\n },\n ],\n dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n ordinal: function (number) {\n var b = number % 10,\n output =\n toInt((number % 100) / 10) === 1\n ? 'th'\n : b === 1\n ? 'st'\n : b === 2\n ? 'nd'\n : b === 3\n ? 'rd'\n : 'th';\n return number + output;\n },\n });\n\n // Side effect imports\n\n hooks.lang = deprecate(\n 'moment.lang is deprecated. Use moment.locale instead.',\n getSetGlobalLocale\n );\n hooks.langData = deprecate(\n 'moment.langData is deprecated. Use moment.localeData instead.',\n getLocale\n );\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 days = this._days,\n months = this._months,\n data = this._data,\n seconds,\n minutes,\n hours,\n years,\n 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 (\n !(\n (milliseconds >= 0 && days >= 0 && months >= 0) ||\n (milliseconds <= 0 && days <= 0 && months <= 0)\n )\n ) {\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 months,\n 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':\n return months;\n case 'quarter':\n return months / 3;\n case 'year':\n 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':\n return days / 7 + milliseconds / 6048e5;\n case 'day':\n return days + milliseconds / 864e5;\n case 'hour':\n return days * 24 + milliseconds / 36e5;\n case 'minute':\n return days * 1440 + milliseconds / 6e4;\n case 'second':\n return days * 86400 + milliseconds / 1000;\n // Math.floor prevents floating point math errors here\n case 'millisecond':\n return Math.floor(days * 864e5) + milliseconds;\n default:\n throw new Error('Unknown unit ' + units);\n }\n }\n }\n\n function makeAs(alias) {\n return function () {\n return this.as(alias);\n };\n }\n\n var asMilliseconds = makeAs('ms'),\n asSeconds = makeAs('s'),\n asMinutes = makeAs('m'),\n asHours = makeAs('h'),\n asDays = makeAs('d'),\n asWeeks = makeAs('w'),\n asMonths = makeAs('M'),\n asQuarters = makeAs('Q'),\n asYears = makeAs('y'),\n valueOf$1 = asMilliseconds;\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 seconds = makeGetter('seconds'),\n minutes = makeGetter('minutes'),\n hours = makeGetter('hours'),\n days = makeGetter('days'),\n months = makeGetter('months'),\n years = makeGetter('years');\n\n function weeks() {\n return absFloor(this.days() / 7);\n }\n\n var round = Math.round,\n 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/week\n w: null, // weeks 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, thresholds, locale) {\n var duration = createDuration(posNegDuration).abs(),\n seconds = round(duration.as('s')),\n minutes = round(duration.as('m')),\n hours = round(duration.as('h')),\n days = round(duration.as('d')),\n months = round(duration.as('M')),\n weeks = round(duration.as('w')),\n years = round(duration.as('y')),\n a =\n (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\n if (thresholds.w != null) {\n a =\n a ||\n (weeks <= 1 && ['w']) ||\n (weeks < thresholds.w && ['ww', weeks]);\n }\n a = a ||\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(argWithSuffix, argThresholds) {\n if (!this.isValid()) {\n return this.localeData().invalidDate();\n }\n\n var withSuffix = false,\n th = thresholds,\n locale,\n output;\n\n if (typeof argWithSuffix === 'object') {\n argThresholds = argWithSuffix;\n argWithSuffix = false;\n }\n if (typeof argWithSuffix === 'boolean') {\n withSuffix = argWithSuffix;\n }\n if (typeof argThresholds === 'object') {\n th = Object.assign({}, thresholds, argThresholds);\n if (argThresholds.s != null && argThresholds.ss == null) {\n th.ss = argThresholds.s - 1;\n }\n }\n\n locale = this.localeData();\n output = relativeTime$1(this, !withSuffix, th, 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 days = abs$1(this._days),\n months = abs$1(this._months),\n minutes,\n hours,\n years,\n s,\n total = this.asSeconds(),\n totalSign,\n ymSign,\n daysSign,\n hmsSign;\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 // 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 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n\n totalSign = total < 0 ? '-' : '';\n ymSign = sign(this._months) !== sign(total) ? '-' : '';\n daysSign = sign(this._days) !== sign(total) ? '-' : '';\n hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n return (\n totalSign +\n 'P' +\n (years ? ymSign + years + 'Y' : '') +\n (months ? ymSign + months + 'M' : '') +\n (days ? daysSign + days + 'D' : '') +\n (hours || minutes || seconds ? 'T' : '') +\n (hours ? hmsSign + hours + 'H' : '') +\n (minutes ? hmsSign + minutes + 'M' : '') +\n (seconds ? hmsSign + s + 'S' : '')\n );\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(\n 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)',\n toISOString$1\n );\n proto$2.lang = lang;\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) * 1000);\n });\n addParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n });\n\n //! moment.js\n\n hooks.version = '2.30.1';\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', // <input type=\"datetime-local\" />\n DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type=\"datetime-local\" step=\"1\" />\n DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type=\"datetime-local\" step=\"0.001\" />\n DATE: 'YYYY-MM-DD', // <input type=\"date\" />\n TIME: 'HH:mm', // <input type=\"time\" />\n TIME_SECONDS: 'HH:mm:ss', // <input type=\"time\" step=\"1\" />\n TIME_MS: 'HH:mm:ss.SSS', // <input type=\"time\" step=\"0.001\" />\n WEEK: 'GGGG-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM', // <input type=\"month\" />\n };\n\n return hooks;\n\n})));\n","//! moment.js locale configuration\n//! locale : Azerbaijani [az]\n//! author : topchiyev : https://github.com/topchiyev\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\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 var az = moment.defineLocale('az', {\n months: 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split(\n '_'\n ),\n monthsShort: 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n weekdays:\n 'Bazar_Bazar ertÉ™si_ÇərÅŸÉ™nbÉ™ axÅŸamı_ÇərÅŸÉ™nbÉ™_CümÉ™ axÅŸamı_CümÉ™_ŞənbÉ™'.split(\n '_'\n ),\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: 'bir neçə 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) {\n // 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 return az;\n\n})));\n","//! moment.js locale configuration\n//! locale : Filipino [fil]\n//! author : Dan Hagman : https://github.com/hagmandan\n//! author : Matthew Co : https://github.com/matthewdeeco\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var fil = moment.defineLocale('fil', {\n months: 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split(\n '_'\n ),\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 '_'\n ),\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 return fil;\n\n})));\n","//! moment.js locale configuration\n//! locale : Cambodian [km]\n//! author : Kruy Vanna : https://github.com/kruyvanna\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: '១',\n 2: '២',\n 3: '៣',\n 4: '៤',\n 5: '៥',\n 6: '៦',\n 7: '៧',\n 8: '៨',\n 9: '៩',\n 0: '០',\n },\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 var km = moment.defineLocale('km', {\n months: 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“ា_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.split(\n '_'\n ),\n monthsShort:\n 'មករា_កុម្ភៈ_មីនា_មáŸážŸáž¶_ឧសភា_មិážáž»áž“ា_កក្កដា_សីហា_កញ្ញា_ážáž»áž›áž¶_វិច្ឆិកា_ធ្នូ'.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[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap[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 return km;\n\n})));\n","//! moment.js locale configuration\n//! locale : Spanish [es]\n//! author : Julio Napurà : https://github.com/julionc\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var monthsShortDot =\n 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split(\n '_'\n ),\n monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'),\n monthsParse = [\n /^ene/i,\n /^feb/i,\n /^mar/i,\n /^abr/i,\n /^may/i,\n /^jun/i,\n /^jul/i,\n /^ago/i,\n /^sep/i,\n /^oct/i,\n /^nov/i,\n /^dic/i,\n ],\n monthsRegex =\n /^(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 var es = moment.defineLocale('es', {\n months: 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split(\n '_'\n ),\n monthsShort: function (m, format) {\n if (!m) {\n return monthsShortDot;\n } else if (/-MMM-/.test(format)) {\n return monthsShort[m.month()];\n } else {\n return monthsShortDot[m.month()];\n }\n },\n monthsRegex: monthsRegex,\n monthsShortRegex: monthsRegex,\n monthsStrictRegex:\n /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n monthsShortStrictRegex:\n /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n monthsParse: monthsParse,\n longMonthsParse: monthsParse,\n shortMonthsParse: monthsParse,\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 (\n '[el] dddd [pasado a la' +\n (this.hours() !== 1 ? 's' : '') +\n '] LT'\n );\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 w: 'una semana',\n ww: '%d semanas',\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 invalidDate: 'Fecha inválida',\n });\n\n return es;\n\n})));\n","//! moment.js locale configuration\n//! locale : Central Atlas Tamazight Latin [tzm-latn]\n//! author : Abdel Said : https://github.com/abdelsaid\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var tzmLatn = moment.defineLocale('tzm-latn', {\n months: 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\n monthsShort:\n 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split(\n '_'\n ),\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 return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n//! locale : Kurdish [ku]\n//! author : Shahram Mebashar : https://github.com/ShahramMebashar\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n var symbolMap = {\n 1: 'Ù¡',\n 2: 'Ù¢',\n 3: 'Ù£',\n 4: 'Ù¤',\n 5: 'Ù¥',\n 6: 'Ù¦',\n 7: 'Ù§',\n 8: 'Ù¨',\n 9: 'Ù©',\n 0: 'Ù ',\n },\n numberMap = {\n 'Ù¡': '1',\n 'Ù¢': '2',\n 'Ù£': '3',\n 'Ù¤': '4',\n 'Ù¥': '5',\n 'Ù¦': '6',\n 'Ù§': '7',\n 'Ù¨': '8',\n 'Ù©': '9',\n 'Ù ': '0',\n },\n months = [\n 'کانونی دووەم',\n 'شوبات',\n 'ئازار',\n 'نیسان',\n 'ئایار',\n 'Øوزەیران',\n 'تەمموز',\n 'ئاب',\n 'ئەیلوول',\n 'تشرینی یەكەم',\n 'تشرینی دووەم',\n 'كانونی یەکەم',\n ];\n\n var ku = moment.defineLocale('ku', {\n months: months,\n monthsShort: months,\n weekdays:\n 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split(\n '_'\n ),\n weekdaysShort:\n 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.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\n .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap[match];\n })\n .replace(/ØŒ/g, ',');\n },\n postformat: function (string) {\n return string\n .replace(/\\d/g, function (match) {\n return symbolMap[match];\n })\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 return ku;\n\n})));\n","//! moment.js locale configuration\n//! locale : Mongolian [mn]\n//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7\n\n;(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined'\n && typeof require === 'function' ? factory(require('../moment')) :\n typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n //! moment.js locale configuration\n\n function translate(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 var mn = moment.defineLocale('mn', {\n months: 'ÐÑгдүгÑÑÑ€ Ñар_Хоёрдугаар Ñар_Гуравдугаар Ñар_ДөрөвдүгÑÑÑ€ Ñар_Тавдугаар Ñар_Зургадугаар Ñар_Долдугаар Ñар_Ðаймдугаар Ñар_ЕÑдүгÑÑÑ€ Ñар_Ðравдугаар Ñар_Ðрван нÑгдүгÑÑÑ€ Ñар_Ðрван хоёрдугаар Ñар'.split(\n '_'\n ),\n monthsShort:\n '1 Ñар_2 Ñар_3 Ñар_4 Ñар_5 Ñар_6 Ñар_7 Ñар_8 Ñар_9 Ñар_10 Ñар_11 Ñар_12 Ñар'.split(\n '_'\n ),\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,\n ss: translate,\n m: translate,\n mm: translate,\n h: translate,\n hh: translate,\n d: translate,\n dd: translate,\n M: translate,\n MM: translate,\n y: translate,\n yy: translate,\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 return mn;\n\n})));\n"],"names":["moment","symbolMap","numberMap","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","weekdaysParseExact","longDateFormat","LT","LTS","L","LL","LLL","LLLL","meridiemParse","isPM","input","test","meridiem","hour","minute","isLower","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","relativeTime","future","past","s","ss","m","mm","h","hh","d","dd","M","MM","y","yy","preparse","string","replace","match","postformat","dayOfMonthOrdinalParse","ordinal","week","dow","doy","factory","days","l","ll","lll","llll","meridiemHour","hm","number","period","processRelativeTime","withoutSuffix","key","isFuture","format","translator","words","correctGrammaticalCase","wordKey","translate","word","length","monthsParseExact","this","day","plural","n","result","num","w","ww","ezafeNumSuffix","substring","hours","minutes","p","toLowerCase","includes","reverse","join","standalone","isFormat","output","b","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","text","softMutation","mutationTable","undefined","charAt","monthsParse","monthsRegex","monthsStrictRegex","monthsShortStrictRegex","fullWeekdaysParse","shortWeekdaysParse","minWeekdaysParse","weekdaysParse","monthsShortRegex","longMonthsParse","shortMonthsParse","token","forms","relativeTimeWithPlural","weekdaysCaseReplace","nominative","accusative","genitive","slice","concat","processHoursFunction","str","call","monthsShortDot","month","invalidDate","eras","since","offset","name","narrow","abbr","until","eraYearOrdinalRegex","eraYearOrdinalParse","parseInt","now","separator","suffixes","a","lastDigit","last2Digits","numbersNouns","translateFuture","time","indexOf","translatePast","numberNoun","numberAsNoun","hundred","Math","floor","ten","one","monthsShortWithDots","monthsShortWithoutDots","pluralForm","plurals","pluralize","u","f","$0","$1","$2","jquery","fn","hasOwnProperty","$","DateRangePicker","element","options","cb","parentEl","startDate","startOf","endDate","endOf","minDate","maxDate","maxSpan","autoApply","singleDatePicker","showDropdowns","minYear","subtract","maxYear","add","showWeekNumbers","showISOWeekNumbers","showCustomRangeLabel","timePicker","timePicker24Hour","timePickerIncrement","timePickerSeconds","linkedCalendars","autoUpdateInput","alwaysShowCalendars","ranges","opens","hasClass","drops","buttonClasses","applyButtonClasses","cancelButtonClasses","locale","direction","localeData","applyLabel","cancelLabel","weekLabel","customRangeLabel","daysOfWeek","monthNames","firstDay","firstDayOfWeek","callback","isShowing","leftCalendar","rightCalendar","extend","data","template","container","appendTo","elem","document","createElement","innerHTML","rangeHtml","value","addClass","isBefore","clone","isAfter","applyClass","cancelClass","dateLimit","isInvalidDate","isCustomDate","iterator","push","shift","start","end","range","is","val","setStartDate","setEndDate","timepicker","list","find","prepend","hide","show","html","on","proxy","clickPrev","clickNext","clickDate","hoverDate","monthOrYearChanged","timeChanged","clickRange","clickApply","clickCancel","elementChanged","keydown","toggle","updateElement","prototype","constructor","round","updateMonthsInView","previousRightTime","updateView","renderTimePicker","prop","removeClass","updateCalendars","updateFormInputs","date","year","second","ampm","isNaN","renderCalendar","calculateChosenLabel","side","daysInMonth","lastMonth","lastYear","daysInLastMonth","dayOfWeek","i","startDay","curDate","col","row","dateHtml","currentMonth","currentYear","inMinYear","inMaxYear","monthHtml","yearHtml","each","index","maxLimit","isoWeek","classes","isSame","Date","isoWeekday","isCustom","Array","apply","cname","disabled","selected","timeSelector","i_in_24","padded","am_html","pm_html","move","containerTop","parentOffset","top","left","parentRightEdge","window","width","scrollTop","scrollLeft","clientWidth","outerHeight","scrollHeight","css","right","containerWidth","outerWidth","toggleClass","containerRight","containerLeft","e","_outsideClickProxy","outsideClick","oldStartDate","oldEndDate","trigger","chosenLabel","off","target","type","closest","showCalendars","hideCalendars","label","getAttribute","dates","parents","title","attr","substr","el","dt","stopPropagation","customRange","isLeft","leftOrRight","cal","dateString","isValid","keyCode","preventDefault","newValue","remove","removeData","daterangepicker","implementOptions","defaultOptions","global","module","exports","Error","noGlobal","arr","getProto","Object","getPrototypeOf","flat","array","class2type","toString","hasOwn","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","item","isWindow","preservedScriptAttributes","src","nonce","noModule","DOMEval","code","node","doc","script","setAttribute","head","appendChild","parentNode","removeChild","toType","version","rhtmlSuffix","jQuery","selector","context","init","isArrayLike","nodeName","toArray","get","pushStack","elems","ret","merge","prevObject","map","arguments","first","eq","last","even","grep","_elem","odd","len","j","sort","splice","copy","copyIsArray","deep","isPlainObject","isArray","expando","random","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","textContent","documentElement","nodeValue","makeArray","results","inArray","isXMLDoc","namespace","namespaceURI","docElem","ownerDocument","invert","matches","callbackExpect","arg","guid","Symbol","_i","pop","whitespace","rtrimCSS","RegExp","contains","bup","compareDocumentPosition","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","escapeSelector","sel","preferredDoc","pushNative","Expr","outermostContext","sortInput","hasDuplicate","documentIsHTML","rbuggyQSA","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","booleans","identifier","attributes","pseudos","rwhitespace","rcomma","rleadingCombinator","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","unloadHandler","setDocument","inDisabledFieldset","addCombinator","dir","next","childNodes","els","seed","nid","groups","newSelector","newContext","exec","getElementById","id","getElementsByTagName","getElementsByClassName","testContext","scope","tokenize","toSelector","querySelectorAll","qsaError","removeAttribute","select","keys","cache","cacheLength","markFunction","assert","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","subWindow","webkitMatchesSelector","msMatchesSelector","defaultView","addEventListener","getById","getElementsByName","disconnectedMatch","cssHas","querySelector","filter","attrId","getAttributeNode","tag","className","compare","sortDetached","expr","elements","matchesSelector","attrHandle","uniqueSort","duplicates","sortStable","createPseudo","relative","preFilter","excess","unquoted","nodeNameSelector","expectedNodeName","pattern","operator","check","what","_argument","simple","forward","ofType","_context","xml","outerCache","nodeIndex","parent","useCache","diff","firstChild","lastChild","pseudo","args","setFilters","idx","matched","not","matcher","compile","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","err","safeActiveElement","hasFocus","href","tabIndex","enabled","checked","selectedIndex","empty","nextSibling","header","button","_matchIndexes","lt","gt","nth","radio","checkbox","file","password","image","submit","reset","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","matcherOut","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","setMatchers","elementMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","matcherFromGroupMatchers","compiled","filters","unique","getText","isXML","selectors","truncate","siblings","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","cur","targets","prevAll","addBack","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","createOptions","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","handler","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","rejectWith","getErrorHook","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","primary","updateFunc","rerrorNames","asyncError","console","warn","message","stack","readyException","readyList","completed","removeEventListener","catch","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","acceptData","owner","Data","uid","defineProperty","configurable","set","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","getData","_data","_removeData","attrs","dequeue","startLength","hooks","_queueHooks","unshift","stop","setter","clearQueue","tmp","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","values","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","defaultValue","option","wrapMap","thead","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","rhtml","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rtypenamespace","returnTrue","returnFalse","types","origFn","event","leverageNative","isSetup","saved","isTrigger","delegateType","stopImmediatePropagation","isImmediatePropagationStopped","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","create","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","charCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","focusMappedHandler","documentMode","simulate","attaches","dataHolder","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","insertBefore","before","after","replaceWith","replaceChild","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","rcustomProp","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","minWidth","maxWidth","isCustomProp","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","borderTopWidth","borderBottomWidth","offsetHeight","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","rdisplayswap","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","marginDelta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","Tween","easing","cssHooks","opacity","animationIterationCount","aspectRatio","borderImageSlice","columnCount","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeMiterlimit","strokeOpacity","origName","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","margin","padding","border","prefix","suffix","expand","expanded","parts","propHooks","run","percent","eased","duration","pos","step","fx","linear","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","createTween","animation","Animation","tweeners","properties","stopped","prefilters","currentTime","startTime","tweens","opts","specialEasing","originalProperties","originalOptions","gotoEnd","propFilter","bind","complete","timer","anim","tweener","oldfire","propTween","restoreDisplay","isBox","dataShow","unqueued","overflow","overflowX","overflowY","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","tabindex","classNames","curValue","finalValue","stateVal","isValidValue","rreturn","valHooks","optionSet","rquery","parseXML","parserErrorElem","DOMParser","parseFromString","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","triggerHandler","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","responseFields","converters","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getResponseHeader","getAllResponseHeaders","setRequestHeader","overrideMimeType","mimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","responses","isSuccess","response","modified","ct","finalDataType","firstDataType","ajaxHandleResponses","conv2","current","conv","dataFilter","throws","ajaxConvert","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","xhr","XMLHttpRequest","xhrSuccessStatus","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","scriptAttrs","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","scrollTo","Height","Width","defaultExtra","funcName","unbind","delegate","undelegate","hover","fnOver","fnOut","rtrim","holdReady","hold","parseJSON","isNumeric","trim","_jQuery","_$","noConflict","units","translateSeconds","translateSingular","Function","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","mom","_calendarEl","c","isUpper","relativeTimeWithSingular","relativeSeconds","processFutureTime","eifelerRegelAppliesToNumber","processPastTime","relativeTimeMr","numbersPast","numbersFuture","verbalNumber","weekEndings","monthsNominative","monthsSubjective","hookCallback","some","setHookCallback","isObject","hasOwnProp","isObjectEmpty","getOwnPropertyNames","k","isUndefined","isNumber","isDate","res","arrLen","valueOf","createUTC","strict","createLocalOrUTC","utc","defaultParsingFlags","unusedTokens","unusedInput","charsLeftOver","nullInput","invalidEra","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","era","rfc2822","weekdayMismatch","getParsingFlags","_pf","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","_isValid","createInvalid","NaN","fun","momentProperties","updateInProgress","copyConfig","from","momentPropertiesLen","_isAMomentObject","_f","_l","_tzm","_isUTC","_offset","_locale","Moment","config","updateOffset","isMoment","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","argLen","deprecations","deprecateSimple","_config","_dayOfMonthOrdinalParseLenient","_dayOfMonthOrdinalParse","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","zeroFill","targetLength","forceSign","absNumber","abs","zerosToFill","pow","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","removeFormattingTokens","makeFormatFunction","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","defaultLongDateFormat","_longDateFormat","formatUpper","tok","defaultInvalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","_relativeTime","pastFuture","aliases","D","weekday","E","isoweekdays","isoweekday","DDD","dayofyears","dayofyear","ms","milliseconds","millisecond","Q","quarters","quarter","seconds","gg","weekyears","weekyear","GG","isoweekyears","isoweekyear","weeks","W","isoweeks","isoweek","years","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","dayOfYear","weekYear","isoWeekYear","getPrioritizedUnits","unitsObj","priority","regexes","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","match1to2NoLeadingZero","match1to2HasZero","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","p1","p2","p3","p4","absFloor","toInt","argumentForCoercion","coercedNumber","addParseToken","tokenLen","addWeekParseToken","_w","addTimeToArrayFromToken","_a","isLeapYear","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","isUTC","getUTCMilliseconds","getMilliseconds","getUTCSeconds","getSeconds","getUTCMinutes","getMinutes","getUTCHours","getHours","getUTCDate","getDate","getUTCDay","getDay","getUTCMonth","getMonth","getUTCFullYear","getFullYear","setUTCMilliseconds","setMilliseconds","setUTCSeconds","setSeconds","setUTCMinutes","setMinutes","setUTCHours","setHours","setUTCDate","setDate","setUTCFullYear","setFullYear","stringGet","stringSet","prioritized","prioritizedLen","mod","x","modMonth","o","defaultLocaleMonths","defaultLocaleMonthsShort","MONTHS_IN_FORMAT","defaultMonthsShortRegex","defaultMonthsRegex","localeMonths","_months","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","min","setUTCMonth","getSetMonth","getDaysInMonth","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortP","longP","shortPieces","longPieces","mixedPieces","createDate","createUTCDate","UTC","firstWeekOffset","fwd","dayOfYearFromWeeks","resYear","resDayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","getSetISOWeek","parseWeekday","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","localeWeekdays","_weekdays","localeWeekdaysShort","_weekdaysShort","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getSetLocaleDayOfWeek","getSetISODayOfWeek","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos1","pos2","defaultLocaleMeridiemParse","getSetHour","localeMeridiem","globalLocale","baseConfig","locales","localeFamilies","commonPrefix","arr1","arr2","minl","normalizeLocale","chooseLocale","names","loadLocale","isLocaleNameSane","oldLocale","_abbr","getSetGlobalLocale","getLocale","parentLocale","forEach","updateLocale","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","isoDatesLen","isoTimesLen","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","defaults","currentDateArray","nowValue","_useUTC","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","weekdayOverflow","curWeek","createLocal","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","erasConvertYear","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","validFormatFound","bestFormatIsValid","configfLen","score","configFromObject","dayOrDate","createFromConfig","prepareConfig","configFromInput","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","orderLen","isValid$1","createInvalid$1","createDuration","Duration","_milliseconds","_days","_bubble","isDuration","absRound","compareArrays","array1","array2","dontConvert","lengthDiff","diffs","utcOffset","sign","offsetFromString","chunkOffset","cloneWithOffset","model","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","isUtcOffset","isUtc","aspNetRegex","isoRegex","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","createAdder","isAdding","invalid","isString","isMomentInput","isNumberOrStringArray","isMomentInputObject","property","objectTest","propertyTest","propertyLen","arrayTest","dataTypeTest","isCalendarSpec","getCalendarFormat","myMoment","calendar$1","formats","sod","calendarFormat","localInput","isBetween","inclusivity","localFrom","localTo","inputMs","isSameOrAfter","isSameOrBefore","asFloat","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","datetime","zone","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","localeEras","_eras","localeErasParse","eraName","localeErasConvertYear","getEraName","getEraNarrow","getEraAbbr","getEraYear","erasNameRegex","computeErasParse","_erasNameRegex","_erasRegex","erasAbbrRegex","_erasAbbrRegex","erasNarrowRegex","_erasNarrowRegex","matchEraAbbr","matchEraName","matchEraNarrow","matchEraYearOrdinal","_eraYearOrdinalRegex","erasName","erasAbbr","erasNarrow","abbrPieces","namePieces","narrowPieces","addWeekYearFormatToken","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getISOWeeksInISOWeekYear","getWeeksInYear","weekInfo","getWeeksInWeekYear","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","erasParse","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetMillisecond","getSetSecond","parseMs","getZoneAbbr","getZoneName","createUnix","createInZone","parseZone","preParsePostFormat","for","eraNarrow","eraAbbr","eraYear","isoWeeks","weeksInWeekYear","isoWeeksInYear","isoWeeksInISOWeekYear","isDST","zoneAbbr","zoneName","isDSTShifted","proto$1","get$1","field","listMonthsImpl","out","listWeekdaysImpl","localeSorted","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","valueOf$1","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","argWithSuffix","argThresholds","withSuffix","assign","abs$1","toISOString$1","totalSign","ymSign","daysSign","hmsSign","total","toFixed","proto$2","toIsoString","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS"],"sourceRoot":""}