From 11c6e4ffe399b26e82b20d8b94b08410e71e1f63 Mon Sep 17 00:00:00 2001
From: Rahmat Santosa <rnsantosa@Rahmats-MacBook-Pro.local>
Date: Mon, 11 Feb 2019 14:45:20 +0700
Subject: [PATCH] change date time picker

---
 .DS_Store                                     |   Bin 6148 -> 6148 bytes
 .../Controllers/SeminarTopikController.php    |     2 +
 public/.DS_Store                              |   Bin 0 -> 6148 bytes
 .../.bower.json                               |    44 +
 .../CONTRIBUTING.md                           |    38 +
 .../Gruntfile.js                              |   195 +
 .../eonasdan-bootstrap-datetimepicker/LICENSE |    21 +
 .../README.md                                 |    20 +
 .../bower.json                                |    34 +
 .../bootstrap-datetimepicker-standalone.css   |    98 +
 .../build/css/bootstrap-datetimepicker.css    |   374 +
 .../css/bootstrap-datetimepicker.min.css      |     5 +
 .../build/js/bootstrap-datetimepicker.min.js  |     2 +
 .../component.json                            |     9 +
 .../composer.json                             |    28 +
 .../docs/ChangeLog.md                         |   237 +
 .../docs/ContributorsGuide.md                 |   126 +
 .../docs/Events.md                            |    97 +
 .../docs/Extras.md                            |    95 +
 .../docs/FAQ.md                               |    22 +
 .../docs/Functions.md                         |    82 +
 .../docs/Installing.md                        |   161 +
 .../docs/Options.md                           |   909 +
 .../docs/Version 4 Changelog.md               |     6 +
 .../docs/Version 4 Contributors guide.md      |     6 +
 .../docs/index.md                             |   644 +
 .../docs/theme/android-chrome-144x144.png     |   Bin 0 -> 40227 bytes
 .../docs/theme/android-chrome-192x192.png     |   Bin 0 -> 68963 bytes
 .../docs/theme/android-chrome-36x36.png       |   Bin 0 -> 3800 bytes
 .../docs/theme/android-chrome-48x48.png       |   Bin 0 -> 5971 bytes
 .../docs/theme/android-chrome-72x72.png       |   Bin 0 -> 11838 bytes
 .../docs/theme/android-chrome-96x96.png       |   Bin 0 -> 19482 bytes
 .../docs/theme/apple-touch-icon-114x114.png   |   Bin 0 -> 26475 bytes
 .../docs/theme/apple-touch-icon-120x120.png   |   Bin 0 -> 29019 bytes
 .../docs/theme/apple-touch-icon-144x144.png   |   Bin 0 -> 40227 bytes
 .../docs/theme/apple-touch-icon-152x152.png   |   Bin 0 -> 44355 bytes
 .../docs/theme/apple-touch-icon-180x180.png   |   Bin 0 -> 60935 bytes
 .../docs/theme/apple-touch-icon-57x57.png     |   Bin 0 -> 7933 bytes
 .../docs/theme/apple-touch-icon-60x60.png     |   Bin 0 -> 8684 bytes
 .../docs/theme/apple-touch-icon-72x72.png     |   Bin 0 -> 11838 bytes
 .../docs/theme/apple-touch-icon-76x76.png     |   Bin 0 -> 13014 bytes
 .../theme/apple-touch-icon-precomposed.png    |   Bin 0 -> 65745 bytes
 .../docs/theme/apple-touch-icon.png           |   Bin 0 -> 60935 bytes
 .../docs/theme/base.html                      |    74 +
 .../docs/theme/browserconfig.xml              |    12 +
 .../docs/theme/content.html                   |     9 +
 .../docs/theme/css/base.css                   |   107 +
 .../docs/theme/css/prettify-1.0.css           |    28 +
 .../docs/theme/favicon-16x16.png              |   Bin 0 -> 1433 bytes
 .../docs/theme/favicon-32x32.png              |   Bin 0 -> 3187 bytes
 .../docs/theme/favicon-96x96.png              |   Bin 0 -> 19482 bytes
 .../docs/theme/favicon.ico                    |   Bin 0 -> 12014 bytes
 .../docs/theme/js/base.js                     |    52 +
 .../docs/theme/js/prettify-1.0.min.js         |    28 +
 .../docs/theme/manifest.json                  |    41 +
 .../docs/theme/mstile-144x144.png             |   Bin 0 -> 42796 bytes
 .../docs/theme/mstile-150x150.png             |   Bin 0 -> 36570 bytes
 .../docs/theme/mstile-310x150.png             |   Bin 0 -> 38916 bytes
 .../docs/theme/mstile-310x310.png             |   Bin 0 -> 144673 bytes
 .../docs/theme/mstile-70x70.png               |   Bin 0 -> 21052 bytes
 .../docs/theme/nav.html                       |    76 +
 .../docs/theme/toc.html                       |    10 +
 .../mkdocs.yml                                |   202 +
 .../package.json                              |    51 +
 .../src/js/bootstrap-datetimepicker.js        |  2636 +++
 .../src/less/_bootstrap-datetimepicker.less   |   353 +
 .../less/bootstrap-datetimepicker-build.less  |    17 +
 .../Bootstrap.v3.Datetimepicker.CSS.nuspec    |    34 +
 .../nuget/Bootstrap.v3.Datetimepicker.nuspec  |    34 +
 .../src/nuget/NuGet.exe                       |   Bin 0 -> 1662976 bytes
 .../src/nuget/install.ps1                     |     2 +
 .../src/sass/_bootstrap-datetimepicker.scss   |   344 +
 .../sass/bootstrap-datetimepicker-build.scss  |    16 +
 .../tasks/bump_version.js                     |    88 +
 public/bower_components/jquery/.bower.json    |    25 +
 public/bower_components/jquery/AUTHORS.txt    |   313 +
 public/bower_components/jquery/LICENSE.txt    |    36 +
 public/bower_components/jquery/README.md      |    67 +
 public/bower_components/jquery/bower.json     |    14 +
 public/bower_components/jquery/dist/core.js   |   399 +
 public/bower_components/jquery/dist/jquery.js | 10364 +++++++++++
 .../jquery/dist/jquery.min.js                 |     2 +
 .../jquery/dist/jquery.min.map                |     1 +
 .../jquery/dist/jquery.slim.js                |  8269 +++++++++
 .../jquery/dist/jquery.slim.min.js            |     2 +
 .../jquery/dist/jquery.slim.min.map           |     1 +
 .../jquery/external/sizzle/LICENSE.txt        |    36 +
 .../jquery/external/sizzle/dist/sizzle.js     |  2272 +++
 .../jquery/external/sizzle/dist/sizzle.min.js |     3 +
 .../external/sizzle/dist/sizzle.min.map       |     1 +
 .../jquery/src/.eslintrc.json                 |     5 +
 public/bower_components/jquery/src/ajax.js    |   856 +
 .../bower_components/jquery/src/ajax/jsonp.js |   103 +
 .../bower_components/jquery/src/ajax/load.js  |    77 +
 .../jquery/src/ajax/parseXML.js               |    30 +
 .../jquery/src/ajax/script.js                 |    77 +
 .../jquery/src/ajax/var/location.js           |     5 +
 .../jquery/src/ajax/var/nonce.js              |     5 +
 .../jquery/src/ajax/var/rquery.js             |     5 +
 .../bower_components/jquery/src/ajax/xhr.js   |   170 +
 .../bower_components/jquery/src/attributes.js |    13 +
 .../jquery/src/attributes/attr.js             |   141 +
 .../jquery/src/attributes/classes.js          |   186 +
 .../jquery/src/attributes/prop.js             |   143 +
 .../jquery/src/attributes/support.js          |    33 +
 .../jquery/src/attributes/val.js              |   191 +
 .../bower_components/jquery/src/callbacks.js  |   236 +
 public/bower_components/jquery/src/core.js    |   399 +
 .../jquery/src/core/DOMEval.js                |    30 +
 .../jquery/src/core/access.js                 |    72 +
 .../jquery/src/core/camelCase.js              |    23 +
 .../bower_components/jquery/src/core/init.js  |   129 +
 .../jquery/src/core/nodeName.js               |    13 +
 .../jquery/src/core/parseHTML.js              |    65 +
 .../jquery/src/core/ready-no-deferred.js      |    97 +
 .../bower_components/jquery/src/core/ready.js |    86 +
 .../jquery/src/core/readyException.js         |    13 +
 .../jquery/src/core/stripAndCollapse.js       |    14 +
 .../jquery/src/core/support.js                |    20 +
 .../jquery/src/core/toType.js                 |    20 +
 .../jquery/src/core/var/rsingleTag.js         |     6 +
 public/bower_components/jquery/src/css.js     |   481 +
 .../jquery/src/css/addGetHookIf.js            |    26 +
 .../jquery/src/css/adjustCSS.js               |    73 +
 .../bower_components/jquery/src/css/curCSS.js |    65 +
 .../jquery/src/css/hiddenVisibleSelectors.js  |    15 +
 .../jquery/src/css/showHide.js                |   105 +
 .../jquery/src/css/support.js                 |   102 +
 .../jquery/src/css/var/cssExpand.js           |     5 +
 .../jquery/src/css/var/getStyles.js           |    17 +
 .../jquery/src/css/var/isHiddenWithinTree.js  |    34 +
 .../jquery/src/css/var/rboxStyle.js           |     7 +
 .../jquery/src/css/var/rnumnonpx.js           |     7 +
 .../jquery/src/css/var/swap.js                |    26 +
 public/bower_components/jquery/src/data.js    |   180 +
 .../bower_components/jquery/src/data/Data.js  |   162 +
 .../jquery/src/data/var/acceptData.js         |    19 +
 .../jquery/src/data/var/dataPriv.js           |     7 +
 .../jquery/src/data/var/dataUser.js           |     7 +
 .../bower_components/jquery/src/deferred.js   |   399 +
 .../jquery/src/deferred/exceptionHook.js      |    21 +
 .../bower_components/jquery/src/deprecated.js |    98 +
 .../bower_components/jquery/src/dimensions.js |    57 +
 public/bower_components/jquery/src/effects.js |   702 +
 .../jquery/src/effects/Tween.js               |   123 +
 .../jquery/src/effects/animatedSelector.js    |    15 +
 public/bower_components/jquery/src/event.js   |   748 +
 .../bower_components/jquery/src/event/ajax.js |    22 +
 .../jquery/src/event/alias.js                 |    29 +
 .../jquery/src/event/focusin.js               |    55 +
 .../jquery/src/event/support.js               |    11 +
 .../jquery/src/event/trigger.js               |   199 +
 .../jquery/src/exports/amd.js                 |    26 +
 .../jquery/src/exports/global.js              |    34 +
 public/bower_components/jquery/src/jquery.js  |    40 +
 .../jquery/src/manipulation.js                |   486 +
 .../jquery/src/manipulation/_evalUrl.js       |    23 +
 .../jquery/src/manipulation/buildFragment.js  |   105 +
 .../jquery/src/manipulation/getAll.js         |    32 +
 .../jquery/src/manipulation/setGlobalEval.js  |    22 +
 .../jquery/src/manipulation/support.js        |    35 +
 .../src/manipulation/var/rcheckableType.js    |     5 +
 .../src/manipulation/var/rscriptType.js       |     5 +
 .../jquery/src/manipulation/var/rtagName.js   |     5 +
 .../jquery/src/manipulation/wrapMap.js        |    29 +
 public/bower_components/jquery/src/offset.js  |   233 +
 public/bower_components/jquery/src/queue.js   |   145 +
 .../jquery/src/queue/delay.js                 |    24 +
 .../jquery/src/selector-native.js             |   237 +
 .../jquery/src/selector-sizzle.js             |    19 +
 .../bower_components/jquery/src/selector.js   |     3 +
 .../bower_components/jquery/src/serialize.js  |   132 +
 .../bower_components/jquery/src/traversing.js |   191 +
 .../jquery/src/traversing/findFilter.js       |    97 +
 .../jquery/src/traversing/var/dir.js          |    22 +
 .../src/traversing/var/rneedsContext.js       |     8 +
 .../jquery/src/traversing/var/siblings.js     |    17 +
 .../jquery/src/var/ObjectFunctionString.js    |     7 +
 public/bower_components/jquery/src/var/arr.js |     5 +
 .../jquery/src/var/class2type.js              |     6 +
 .../bower_components/jquery/src/var/concat.js |     7 +
 .../jquery/src/var/document.js                |     5 +
 .../jquery/src/var/documentElement.js         |     7 +
 .../jquery/src/var/fnToString.js              |     7 +
 .../jquery/src/var/getProto.js                |     5 +
 .../bower_components/jquery/src/var/hasOwn.js |     7 +
 .../jquery/src/var/indexOf.js                 |     7 +
 .../jquery/src/var/isFunction.js              |    13 +
 .../jquery/src/var/isWindow.js                |     8 +
 .../bower_components/jquery/src/var/pnum.js   |     5 +
 .../bower_components/jquery/src/var/push.js   |     7 +
 .../jquery/src/var/rcssNum.js                 |     9 +
 .../jquery/src/var/rnothtmlwhite.js           |     8 +
 .../bower_components/jquery/src/var/slice.js  |     7 +
 .../jquery/src/var/support.js                 |     6 +
 .../jquery/src/var/toString.js                |     7 +
 public/bower_components/jquery/src/wrap.js    |    78 +
 public/bower_components/moment/.bower.json    |    37 +
 public/bower_components/moment/CHANGELOG.md   |   895 +
 public/bower_components/moment/LICENSE        |    22 +
 public/bower_components/moment/README.md      |    65 +
 public/bower_components/moment/bower.json     |    26 +
 public/bower_components/moment/locale/af.js   |    72 +
 .../bower_components/moment/locale/ar-dz.js   |    58 +
 .../bower_components/moment/locale/ar-kw.js   |    58 +
 .../bower_components/moment/locale/ar-ly.js   |   121 +
 .../bower_components/moment/locale/ar-ma.js   |    58 +
 .../bower_components/moment/locale/ar-sa.js   |   103 +
 .../bower_components/moment/locale/ar-tn.js   |    58 +
 public/bower_components/moment/locale/ar.js   |   134 +
 public/bower_components/moment/locale/az.js   |   104 +
 public/bower_components/moment/locale/be.js   |   131 +
 public/bower_components/moment/locale/bg.js   |    89 +
 public/bower_components/moment/locale/bm.js   |    57 +
 public/bower_components/moment/locale/bn.js   |   118 +
 public/bower_components/moment/locale/bo.js   |   118 +
 public/bower_components/moment/locale/br.js   |   107 +
 public/bower_components/moment/locale/bs.js   |   150 +
 public/bower_components/moment/locale/ca.js   |    87 +
 public/bower_components/moment/locale/cs.js   |   171 +
 public/bower_components/moment/locale/cv.js   |    62 +
 public/bower_components/moment/locale/cy.js   |    79 +
 public/bower_components/moment/locale/da.js   |    59 +
 .../bower_components/moment/locale/de-at.js   |    75 +
 .../bower_components/moment/locale/de-ch.js   |    75 +
 public/bower_components/moment/locale/de.js   |    75 +
 public/bower_components/moment/locale/dv.js   |    98 +
 public/bower_components/moment/locale/el.js   |    99 +
 .../bower_components/moment/locale/en-SG.js   |    66 +
 .../bower_components/moment/locale/en-au.js   |    66 +
 .../bower_components/moment/locale/en-ca.js   |    62 +
 .../bower_components/moment/locale/en-gb.js   |    66 +
 .../bower_components/moment/locale/en-ie.js   |    66 +
 .../bower_components/moment/locale/en-il.js   |    61 +
 .../bower_components/moment/locale/en-nz.js   |    66 +
 public/bower_components/moment/locale/eo.js   |    70 +
 .../bower_components/moment/locale/es-do.js   |    91 +
 .../bower_components/moment/locale/es-us.js   |    91 +
 public/bower_components/moment/locale/es.js   |    91 +
 public/bower_components/moment/locale/et.js   |    79 +
 public/bower_components/moment/locale/eu.js   |    65 +
 public/bower_components/moment/locale/fa.js   |   105 +
 public/bower_components/moment/locale/fi.js   |   108 +
 public/bower_components/moment/locale/fo.js   |    59 +
 .../bower_components/moment/locale/fr-ca.js   |    73 +
 .../bower_components/moment/locale/fr-ch.js   |    77 +
 public/bower_components/moment/locale/fr.js   |    82 +
 public/bower_components/moment/locale/fy.js   |    74 +
 public/bower_components/moment/locale/ga.js   |    76 +
 public/bower_components/moment/locale/gd.js   |    75 +
 public/bower_components/moment/locale/gl.js   |    76 +
 .../moment/locale/gom-latn.js                 |   122 +
 public/bower_components/moment/locale/gu.js   |   123 +
 public/bower_components/moment/locale/he.js   |    96 +
 public/bower_components/moment/locale/hi.js   |   123 +
 public/bower_components/moment/locale/hr.js   |   153 +
 public/bower_components/moment/locale/hu.js   |   109 +
 .../bower_components/moment/locale/hy-am.js   |    94 +
 public/bower_components/moment/locale/id.js   |    81 +
 public/bower_components/moment/locale/is.js   |   131 +
 .../bower_components/moment/locale/it-ch.js   |    68 +
 public/bower_components/moment/locale/it.js   |    68 +
 public/bower_components/moment/locale/ja.js   |    91 +
 public/bower_components/moment/locale/jv.js   |    81 +
 public/bower_components/moment/locale/ka.js   |    88 +
 public/bower_components/moment/locale/kk.js   |    86 +
 public/bower_components/moment/locale/km.js   |   109 +
 public/bower_components/moment/locale/kn.js   |   125 +
 public/bower_components/moment/locale/ko.js   |    80 +
 public/bower_components/moment/locale/ku.js   |   118 +
 public/bower_components/moment/locale/ky.js   |    86 +
 public/bower_components/moment/locale/lb.js   |   135 +
 public/bower_components/moment/locale/lo.js   |    69 +
 public/bower_components/moment/locale/lt.js   |   117 +
 public/bower_components/moment/locale/lv.js   |    96 +
 public/bower_components/moment/locale/me.js   |   111 +
 public/bower_components/moment/locale/mi.js   |    63 +
 public/bower_components/moment/locale/mk.js   |    89 +
 public/bower_components/moment/locale/ml.js   |    80 +
 public/bower_components/moment/locale/mn.js   |   103 +
 public/bower_components/moment/locale/mr.js   |   159 +
 .../bower_components/moment/locale/ms-my.js   |    81 +
 public/bower_components/moment/locale/ms.js   |    81 +
 public/bower_components/moment/locale/mt.js   |    59 +
 public/bower_components/moment/locale/my.js   |    92 +
 public/bower_components/moment/locale/nb.js   |    61 +
 public/bower_components/moment/locale/ne.js   |   122 +
 .../bower_components/moment/locale/nl-be.js   |    86 +
 public/bower_components/moment/locale/nl.js   |    86 +
 public/bower_components/moment/locale/nn.js   |    59 +
 .../bower_components/moment/locale/pa-in.js   |   123 +
 public/bower_components/moment/locale/pl.js   |   125 +
 .../bower_components/moment/locale/pt-br.js   |    60 +
 public/bower_components/moment/locale/pt.js   |    64 +
 public/bower_components/moment/locale/ro.js   |    74 +
 public/bower_components/moment/locale/ru.js   |   181 +
 public/bower_components/moment/locale/sd.js   |    97 +
 public/bower_components/moment/locale/se.js   |    59 +
 public/bower_components/moment/locale/si.js   |    70 +
 public/bower_components/moment/locale/sk.js   |   155 +
 public/bower_components/moment/locale/sl.js   |   172 +
 public/bower_components/moment/locale/sq.js   |    67 +
 .../bower_components/moment/locale/sr-cyrl.js |   110 +
 public/bower_components/moment/locale/sr.js   |   110 +
 public/bower_components/moment/locale/ss.js   |    87 +
 public/bower_components/moment/locale/sv.js   |    68 +
 public/bower_components/moment/locale/sw.js   |    58 +
 public/bower_components/moment/locale/ta.js   |   128 +
 public/bower_components/moment/locale/te.js   |    88 +
 public/bower_components/moment/locale/tet.js  |    66 +
 public/bower_components/moment/locale/tg.js   |   115 +
 public/bower_components/moment/locale/th.js   |    66 +
 .../bower_components/moment/locale/tl-ph.js   |    61 +
 public/bower_components/moment/locale/tlh.js  |   121 +
 public/bower_components/moment/locale/tr.js   |    93 +
 public/bower_components/moment/locale/tzl.js  |    90 +
 .../moment/locale/tzm-latn.js                 |    57 +
 public/bower_components/moment/locale/tzm.js  |    57 +
 .../bower_components/moment/locale/ug-cn.js   |   118 +
 public/bower_components/moment/locale/uk.js   |   153 +
 public/bower_components/moment/locale/ur.js   |    97 +
 .../bower_components/moment/locale/uz-latn.js |    57 +
 public/bower_components/moment/locale/uz.js   |    57 +
 public/bower_components/moment/locale/vi.js   |    78 +
 .../moment/locale/x-pseudo.js                 |    67 +
 public/bower_components/moment/locale/yo.js   |    59 +
 .../bower_components/moment/locale/zh-cn.js   |   109 +
 .../bower_components/moment/locale/zh-hk.js   |   102 +
 .../bower_components/moment/locale/zh-tw.js   |   102 +
 public/bower_components/moment/min/locales.js | 10178 +++++++++++
 .../moment/min/locales.min.js                 |     1 +
 .../moment/min/moment-with-locales.js         | 14765 ++++++++++++++++
 .../moment/min/moment-with-locales.min.js     |     1 +
 .../bower_components/moment/min/moment.min.js |     1 +
 public/bower_components/moment/moment.d.ts    |   736 +
 public/bower_components/moment/moment.js      |  4602 +++++
 .../bower_components/moment/package-lock.json |  9699 ++++++++++
 .../moment/src/lib/create/check-overflow.js   |    34 +
 .../moment/src/lib/create/date-from-array.js  |    35 +
 .../moment/src/lib/create/from-anything.js    |   110 +
 .../moment/src/lib/create/from-array.js       |   147 +
 .../moment/src/lib/create/from-object.js      |    16 +
 .../src/lib/create/from-string-and-array.js   |    50 +
 .../src/lib/create/from-string-and-format.js  |   113 +
 .../moment/src/lib/create/from-string.js      |   230 +
 .../moment/src/lib/create/local.js            |     5 +
 .../moment/src/lib/create/parsing-flags.js    |    26 +
 .../moment/src/lib/create/utc.js              |     5 +
 .../moment/src/lib/create/valid.js            |    50 +
 .../moment/src/lib/duration/abs.js            |    18 +
 .../moment/src/lib/duration/add-subtract.js   |    21 +
 .../moment/src/lib/duration/as.js             |    66 +
 .../moment/src/lib/duration/bubble.js         |    61 +
 .../moment/src/lib/duration/clone.js          |     6 +
 .../moment/src/lib/duration/constructor.js    |    44 +
 .../moment/src/lib/duration/create.js         |   122 +
 .../moment/src/lib/duration/duration.js       |    16 +
 .../moment/src/lib/duration/get.js            |    25 +
 .../moment/src/lib/duration/humanize.js       |    85 +
 .../moment/src/lib/duration/iso-string.js     |    64 +
 .../moment/src/lib/duration/prototype.js      |    53 +
 .../moment/src/lib/duration/valid.js          |    36 +
 .../moment/src/lib/format/format.js           |    92 +
 .../moment/src/lib/locale/base-config.js      |    44 +
 .../moment/src/lib/locale/calendar.js         |    15 +
 .../moment/src/lib/locale/constructor.js      |     5 +
 .../moment/src/lib/locale/en.js               |    15 +
 .../moment/src/lib/locale/formats.js          |    23 +
 .../moment/src/lib/locale/invalid.js          |     5 +
 .../moment/src/lib/locale/lists.js            |    93 +
 .../moment/src/lib/locale/locale.js           |    39 +
 .../moment/src/lib/locale/locales.js          |   197 +
 .../moment/src/lib/locale/ordinal.js          |     7 +
 .../moment/src/lib/locale/pre-post-format.js  |     3 +
 .../moment/src/lib/locale/prototype.js        |    69 +
 .../moment/src/lib/locale/relative.js         |    30 +
 .../moment/src/lib/locale/set.js              |    49 +
 .../moment/src/lib/moment/add-subtract.js     |    55 +
 .../moment/src/lib/moment/calendar.js         |    26 +
 .../moment/src/lib/moment/clone.js            |     5 +
 .../moment/src/lib/moment/compare.js          |    63 +
 .../moment/src/lib/moment/constructor.js      |    77 +
 .../moment/src/lib/moment/creation-data.js    |     9 +
 .../moment/src/lib/moment/diff.js             |    58 +
 .../moment/src/lib/moment/format.js           |    62 +
 .../moment/src/lib/moment/from.js             |    17 +
 .../moment/src/lib/moment/get-set.js          |    61 +
 .../moment/src/lib/moment/locale.js           |    34 +
 .../moment/src/lib/moment/min-max.js          |    63 +
 .../moment/src/lib/moment/moment.js           |    28 +
 .../moment/src/lib/moment/now.js              |     3 +
 .../moment/src/lib/moment/prototype.js        |   150 +
 .../moment/src/lib/moment/start-end-of.js     |   128 +
 .../moment/src/lib/moment/to-type.js          |    34 +
 .../moment/src/lib/moment/to.js               |    17 +
 .../moment/src/lib/moment/valid.js            |    15 +
 .../moment/src/lib/parse/regex.js             |    54 +
 .../moment/src/lib/parse/token.js             |    33 +
 .../moment/src/lib/units/aliases.js           |    30 +
 .../moment/src/lib/units/constants.js         |     9 +
 .../moment/src/lib/units/day-of-month.js      |    39 +
 .../moment/src/lib/units/day-of-week.js       |   367 +
 .../moment/src/lib/units/day-of-year.js       |    36 +
 .../moment/src/lib/units/hour.js              |   144 +
 .../moment/src/lib/units/millisecond.js       |    69 +
 .../moment/src/lib/units/minute.js            |    29 +
 .../moment/src/lib/units/month.js             |   290 +
 .../moment/src/lib/units/offset.js            |   235 +
 .../moment/src/lib/units/priorities.js        |    16 +
 .../moment/src/lib/units/quarter.js           |    32 +
 .../moment/src/lib/units/second.js            |    29 +
 .../moment/src/lib/units/timestamp.js         |    20 +
 .../moment/src/lib/units/timezone.js          |    16 +
 .../moment/src/lib/units/units.js             |    20 +
 .../src/lib/units/week-calendar-utils.js      |    65 +
 .../moment/src/lib/units/week-year.js         |   107 +
 .../moment/src/lib/units/week.js              |    67 +
 .../moment/src/lib/units/year.js              |    75 +
 .../moment/src/lib/utils/abs-ceil.js          |     7 +
 .../moment/src/lib/utils/abs-floor.js         |     8 +
 .../moment/src/lib/utils/abs-round.js         |     7 +
 .../moment/src/lib/utils/compare-arrays.js    |    16 +
 .../moment/src/lib/utils/defaults.js          |    10 +
 .../moment/src/lib/utils/deprecate.js         |    55 +
 .../moment/src/lib/utils/extend.js            |    19 +
 .../moment/src/lib/utils/has-own-prop.js      |     3 +
 .../moment/src/lib/utils/hooks.js             |    13 +
 .../moment/src/lib/utils/index-of.js          |    18 +
 .../moment/src/lib/utils/is-array.js          |     3 +
 .../moment/src/lib/utils/is-date.js           |     3 +
 .../moment/src/lib/utils/is-function.js       |     3 +
 .../moment/src/lib/utils/is-number.js         |     3 +
 .../moment/src/lib/utils/is-object-empty.js   |    13 +
 .../moment/src/lib/utils/is-object.js         |     5 +
 .../moment/src/lib/utils/is-undefined.js      |     3 +
 .../moment/src/lib/utils/keys.js              |    19 +
 .../moment/src/lib/utils/map.js               |     7 +
 .../moment/src/lib/utils/mod.js               |     3 +
 .../moment/src/lib/utils/some.js              |    19 +
 .../moment/src/lib/utils/to-int.js            |    12 +
 .../moment/src/lib/utils/zero-fill.js         |     7 +
 .../bower_components/moment/src/locale/af.js  |    64 +
 .../moment/src/locale/ar-dz.js                |    51 +
 .../moment/src/locale/ar-kw.js                |    50 +
 .../moment/src/locale/ar-ly.js                |   113 +
 .../moment/src/locale/ar-ma.js                |    52 +
 .../moment/src/locale/ar-sa.js                |    96 +
 .../moment/src/locale/ar-tn.js                |    51 +
 .../bower_components/moment/src/locale/ar.js  |   128 +
 .../bower_components/moment/src/locale/az.js  |    97 +
 .../bower_components/moment/src/locale/be.js  |   126 +
 .../bower_components/moment/src/locale/bg.js  |    82 +
 .../bower_components/moment/src/locale/bm.js  |    50 +
 .../bower_components/moment/src/locale/bn.js  |   110 +
 .../bower_components/moment/src/locale/bo.js  |   111 +
 .../bower_components/moment/src/locale/br.js  |   100 +
 .../bower_components/moment/src/locale/bs.js  |   143 +
 .../bower_components/moment/src/locale/ca.js  |    80 +
 .../bower_components/moment/src/locale/cs.js  |   164 +
 .../bower_components/moment/src/locale/cv.js  |    54 +
 .../bower_components/moment/src/locale/cy.js  |    73 +
 .../bower_components/moment/src/locale/da.js  |    51 +
 .../moment/src/locale/de-at.js                |    70 +
 .../moment/src/locale/de-ch.js                |    69 +
 .../bower_components/moment/src/locale/de.js  |    69 +
 .../bower_components/moment/src/locale/dv.js  |    90 +
 .../bower_components/moment/src/locale/el.js  |    89 +
 .../moment/src/locale/en-SG.js                |    59 +
 .../moment/src/locale/en-au.js                |    58 +
 .../moment/src/locale/en-ca.js                |    54 +
 .../moment/src/locale/en-gb.js                |    59 +
 .../moment/src/locale/en-ie.js                |    59 +
 .../moment/src/locale/en-il.js                |    54 +
 .../moment/src/locale/en-nz.js                |    58 +
 .../bower_components/moment/src/locale/eo.js  |    65 +
 .../moment/src/locale/es-do.js                |    83 +
 .../moment/src/locale/es-us.js                |    84 +
 .../bower_components/moment/src/locale/es.js  |    83 +
 .../bower_components/moment/src/locale/et.js  |    73 +
 .../bower_components/moment/src/locale/eu.js  |    58 +
 .../bower_components/moment/src/locale/fa.js  |    98 +
 .../bower_components/moment/src/locale/fi.js  |   101 +
 .../bower_components/moment/src/locale/fo.js  |    53 +
 .../moment/src/locale/fr-ca.js                |    66 +
 .../moment/src/locale/fr-ch.js                |    70 +
 .../bower_components/moment/src/locale/fr.js  |    75 +
 .../bower_components/moment/src/locale/fy.js  |    67 +
 .../bower_components/moment/src/locale/ga.js  |    68 +
 .../bower_components/moment/src/locale/gd.js  |    68 +
 .../bower_components/moment/src/locale/gl.js  |    69 +
 .../moment/src/locale/gom-latn.js             |   114 +
 .../bower_components/moment/src/locale/gu.js  |   115 +
 .../bower_components/moment/src/locale/he.js  |    91 +
 .../bower_components/moment/src/locale/hi.js  |   116 +
 .../bower_components/moment/src/locale/hr.js  |   145 +
 .../bower_components/moment/src/locale/hu.js  |   103 +
 .../moment/src/locale/hy-am.js                |    87 +
 .../bower_components/moment/src/locale/id.js  |    74 +
 .../bower_components/moment/src/locale/is.js  |   124 +
 .../moment/src/locale/it-ch.js                |    61 +
 .../bower_components/moment/src/locale/it.js  |    62 +
 .../bower_components/moment/src/locale/ja.js  |    84 +
 .../bower_components/moment/src/locale/jv.js  |    74 +
 .../bower_components/moment/src/locale/ka.js  |    81 +
 .../bower_components/moment/src/locale/kk.js  |    78 +
 .../bower_components/moment/src/locale/km.js  |   101 +
 .../bower_components/moment/src/locale/kn.js  |   117 +
 .../bower_components/moment/src/locale/ko.js  |    74 +
 .../bower_components/moment/src/locale/ku.js  |   110 +
 .../bower_components/moment/src/locale/ky.js  |    79 +
 .../bower_components/moment/src/locale/lb.js  |   129 +
 .../bower_components/moment/src/locale/lo.js  |    62 +
 .../bower_components/moment/src/locale/lt.js  |   110 +
 .../bower_components/moment/src/locale/lv.js  |    90 +
 .../bower_components/moment/src/locale/me.js  |   103 +
 .../bower_components/moment/src/locale/mi.js  |    55 +
 .../bower_components/moment/src/locale/mk.js  |    82 +
 .../bower_components/moment/src/locale/ml.js  |    73 +
 .../bower_components/moment/src/locale/mn.js  |    96 +
 .../bower_components/moment/src/locale/mr.js  |   153 +
 .../moment/src/locale/ms-my.js                |    75 +
 .../bower_components/moment/src/locale/ms.js  |    74 +
 .../bower_components/moment/src/locale/mt.js  |    51 +
 .../bower_components/moment/src/locale/my.js  |    87 +
 .../bower_components/moment/src/locale/nb.js  |    55 +
 .../bower_components/moment/src/locale/ne.js  |   115 +
 .../moment/src/locale/nl-be.js                |    80 +
 .../bower_components/moment/src/locale/nl.js  |    80 +
 .../bower_components/moment/src/locale/nn.js  |    52 +
 .../moment/src/locale/pa-in.js                |   116 +
 .../bower_components/moment/src/locale/pl.js  |   117 +
 .../moment/src/locale/pt-br.js                |    53 +
 .../bower_components/moment/src/locale/pt.js  |    57 +
 .../bower_components/moment/src/locale/ro.js  |    68 +
 .../bower_components/moment/src/locale/ru.js  |   175 +
 .../bower_components/moment/src/locale/sd.js  |    89 +
 .../bower_components/moment/src/locale/se.js  |    52 +
 .../bower_components/moment/src/locale/si.js  |    62 +
 .../bower_components/moment/src/locale/sk.js  |   149 +
 .../bower_components/moment/src/locale/sl.js  |   164 +
 .../bower_components/moment/src/locale/sq.js  |    62 +
 .../moment/src/locale/sr-cyrl.js              |   102 +
 .../bower_components/moment/src/locale/sr.js  |   102 +
 .../bower_components/moment/src/locale/ss.js  |    81 +
 .../bower_components/moment/src/locale/sv.js  |    61 +
 .../bower_components/moment/src/locale/sw.js  |    51 +
 .../bower_components/moment/src/locale/ta.js  |   121 +
 .../bower_components/moment/src/locale/te.js  |    80 +
 .../bower_components/moment/src/locale/tet.js |    60 +
 .../bower_components/moment/src/locale/tg.js  |   107 +
 .../bower_components/moment/src/locale/th.js  |    58 +
 .../moment/src/locale/tl-ph.js                |    54 +
 .../bower_components/moment/src/locale/tlh.js |   113 +
 .../bower_components/moment/src/locale/tr.js  |    90 +
 .../bower_components/moment/src/locale/tzl.js |    84 +
 .../moment/src/locale/tzm-latn.js             |    50 +
 .../bower_components/moment/src/locale/tzm.js |    50 +
 .../moment/src/locale/ug-cn.js                |   110 +
 .../bower_components/moment/src/locale/uk.js  |   146 +
 .../bower_components/moment/src/locale/ur.js  |    90 +
 .../moment/src/locale/uz-latn.js              |    50 +
 .../bower_components/moment/src/locale/uz.js  |    50 +
 .../bower_components/moment/src/locale/vi.js  |    71 +
 .../moment/src/locale/x-pseudo.js             |    59 +
 .../bower_components/moment/src/locale/yo.js  |    51 +
 .../moment/src/locale/zh-cn.js                |   102 +
 .../moment/src/locale/zh-hk.js                |    96 +
 .../moment/src/locale/zh-tw.js                |    95 +
 public/bower_components/moment/src/moment.js  |    95 +
 .../moment/templates/default.js               |     5 +
 .../moment/templates/locale-header.js         |     6 +
 .../moment/templates/test-header.js           |     6 +
 public/coba.html                              |    60 +
 public/test.html                              |    36 +
 resources/.DS_Store                           |   Bin 0 -> 6148 bytes
 resources/assets/.DS_Store                    |   Bin 0 -> 6148 bytes
 resources/views/layouts/app.blade.php         |     7 +
 .../mahasiswa/form_hasil_bimbingan.blade.php  |    30 +-
 .../detail_mahasiswa_control.blade.php        |    64 +-
 resources/views/manajer/penjadwalan.blade.php |    28 +-
 580 files changed, 107193 insertions(+), 17 deletions(-)
 create mode 100644 public/.DS_Store
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/README.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/component.json
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/package.json
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss
 create mode 100644 public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js
 create mode 100644 public/bower_components/jquery/.bower.json
 create mode 100644 public/bower_components/jquery/AUTHORS.txt
 create mode 100644 public/bower_components/jquery/LICENSE.txt
 create mode 100644 public/bower_components/jquery/README.md
 create mode 100644 public/bower_components/jquery/bower.json
 create mode 100644 public/bower_components/jquery/dist/core.js
 create mode 100644 public/bower_components/jquery/dist/jquery.js
 create mode 100644 public/bower_components/jquery/dist/jquery.min.js
 create mode 100644 public/bower_components/jquery/dist/jquery.min.map
 create mode 100644 public/bower_components/jquery/dist/jquery.slim.js
 create mode 100644 public/bower_components/jquery/dist/jquery.slim.min.js
 create mode 100644 public/bower_components/jquery/dist/jquery.slim.min.map
 create mode 100644 public/bower_components/jquery/external/sizzle/LICENSE.txt
 create mode 100644 public/bower_components/jquery/external/sizzle/dist/sizzle.js
 create mode 100644 public/bower_components/jquery/external/sizzle/dist/sizzle.min.js
 create mode 100644 public/bower_components/jquery/external/sizzle/dist/sizzle.min.map
 create mode 100644 public/bower_components/jquery/src/.eslintrc.json
 create mode 100644 public/bower_components/jquery/src/ajax.js
 create mode 100644 public/bower_components/jquery/src/ajax/jsonp.js
 create mode 100644 public/bower_components/jquery/src/ajax/load.js
 create mode 100644 public/bower_components/jquery/src/ajax/parseXML.js
 create mode 100644 public/bower_components/jquery/src/ajax/script.js
 create mode 100644 public/bower_components/jquery/src/ajax/var/location.js
 create mode 100644 public/bower_components/jquery/src/ajax/var/nonce.js
 create mode 100644 public/bower_components/jquery/src/ajax/var/rquery.js
 create mode 100644 public/bower_components/jquery/src/ajax/xhr.js
 create mode 100644 public/bower_components/jquery/src/attributes.js
 create mode 100644 public/bower_components/jquery/src/attributes/attr.js
 create mode 100644 public/bower_components/jquery/src/attributes/classes.js
 create mode 100644 public/bower_components/jquery/src/attributes/prop.js
 create mode 100644 public/bower_components/jquery/src/attributes/support.js
 create mode 100644 public/bower_components/jquery/src/attributes/val.js
 create mode 100644 public/bower_components/jquery/src/callbacks.js
 create mode 100644 public/bower_components/jquery/src/core.js
 create mode 100644 public/bower_components/jquery/src/core/DOMEval.js
 create mode 100644 public/bower_components/jquery/src/core/access.js
 create mode 100644 public/bower_components/jquery/src/core/camelCase.js
 create mode 100644 public/bower_components/jquery/src/core/init.js
 create mode 100644 public/bower_components/jquery/src/core/nodeName.js
 create mode 100644 public/bower_components/jquery/src/core/parseHTML.js
 create mode 100644 public/bower_components/jquery/src/core/ready-no-deferred.js
 create mode 100644 public/bower_components/jquery/src/core/ready.js
 create mode 100644 public/bower_components/jquery/src/core/readyException.js
 create mode 100644 public/bower_components/jquery/src/core/stripAndCollapse.js
 create mode 100644 public/bower_components/jquery/src/core/support.js
 create mode 100644 public/bower_components/jquery/src/core/toType.js
 create mode 100644 public/bower_components/jquery/src/core/var/rsingleTag.js
 create mode 100644 public/bower_components/jquery/src/css.js
 create mode 100644 public/bower_components/jquery/src/css/addGetHookIf.js
 create mode 100644 public/bower_components/jquery/src/css/adjustCSS.js
 create mode 100644 public/bower_components/jquery/src/css/curCSS.js
 create mode 100644 public/bower_components/jquery/src/css/hiddenVisibleSelectors.js
 create mode 100644 public/bower_components/jquery/src/css/showHide.js
 create mode 100644 public/bower_components/jquery/src/css/support.js
 create mode 100644 public/bower_components/jquery/src/css/var/cssExpand.js
 create mode 100644 public/bower_components/jquery/src/css/var/getStyles.js
 create mode 100644 public/bower_components/jquery/src/css/var/isHiddenWithinTree.js
 create mode 100644 public/bower_components/jquery/src/css/var/rboxStyle.js
 create mode 100644 public/bower_components/jquery/src/css/var/rnumnonpx.js
 create mode 100644 public/bower_components/jquery/src/css/var/swap.js
 create mode 100644 public/bower_components/jquery/src/data.js
 create mode 100644 public/bower_components/jquery/src/data/Data.js
 create mode 100644 public/bower_components/jquery/src/data/var/acceptData.js
 create mode 100644 public/bower_components/jquery/src/data/var/dataPriv.js
 create mode 100644 public/bower_components/jquery/src/data/var/dataUser.js
 create mode 100644 public/bower_components/jquery/src/deferred.js
 create mode 100644 public/bower_components/jquery/src/deferred/exceptionHook.js
 create mode 100644 public/bower_components/jquery/src/deprecated.js
 create mode 100644 public/bower_components/jquery/src/dimensions.js
 create mode 100644 public/bower_components/jquery/src/effects.js
 create mode 100644 public/bower_components/jquery/src/effects/Tween.js
 create mode 100644 public/bower_components/jquery/src/effects/animatedSelector.js
 create mode 100644 public/bower_components/jquery/src/event.js
 create mode 100644 public/bower_components/jquery/src/event/ajax.js
 create mode 100644 public/bower_components/jquery/src/event/alias.js
 create mode 100644 public/bower_components/jquery/src/event/focusin.js
 create mode 100644 public/bower_components/jquery/src/event/support.js
 create mode 100644 public/bower_components/jquery/src/event/trigger.js
 create mode 100644 public/bower_components/jquery/src/exports/amd.js
 create mode 100644 public/bower_components/jquery/src/exports/global.js
 create mode 100644 public/bower_components/jquery/src/jquery.js
 create mode 100644 public/bower_components/jquery/src/manipulation.js
 create mode 100644 public/bower_components/jquery/src/manipulation/_evalUrl.js
 create mode 100644 public/bower_components/jquery/src/manipulation/buildFragment.js
 create mode 100644 public/bower_components/jquery/src/manipulation/getAll.js
 create mode 100644 public/bower_components/jquery/src/manipulation/setGlobalEval.js
 create mode 100644 public/bower_components/jquery/src/manipulation/support.js
 create mode 100644 public/bower_components/jquery/src/manipulation/var/rcheckableType.js
 create mode 100644 public/bower_components/jquery/src/manipulation/var/rscriptType.js
 create mode 100644 public/bower_components/jquery/src/manipulation/var/rtagName.js
 create mode 100644 public/bower_components/jquery/src/manipulation/wrapMap.js
 create mode 100644 public/bower_components/jquery/src/offset.js
 create mode 100644 public/bower_components/jquery/src/queue.js
 create mode 100644 public/bower_components/jquery/src/queue/delay.js
 create mode 100644 public/bower_components/jquery/src/selector-native.js
 create mode 100644 public/bower_components/jquery/src/selector-sizzle.js
 create mode 100644 public/bower_components/jquery/src/selector.js
 create mode 100644 public/bower_components/jquery/src/serialize.js
 create mode 100644 public/bower_components/jquery/src/traversing.js
 create mode 100644 public/bower_components/jquery/src/traversing/findFilter.js
 create mode 100644 public/bower_components/jquery/src/traversing/var/dir.js
 create mode 100644 public/bower_components/jquery/src/traversing/var/rneedsContext.js
 create mode 100644 public/bower_components/jquery/src/traversing/var/siblings.js
 create mode 100644 public/bower_components/jquery/src/var/ObjectFunctionString.js
 create mode 100644 public/bower_components/jquery/src/var/arr.js
 create mode 100644 public/bower_components/jquery/src/var/class2type.js
 create mode 100644 public/bower_components/jquery/src/var/concat.js
 create mode 100644 public/bower_components/jquery/src/var/document.js
 create mode 100644 public/bower_components/jquery/src/var/documentElement.js
 create mode 100644 public/bower_components/jquery/src/var/fnToString.js
 create mode 100644 public/bower_components/jquery/src/var/getProto.js
 create mode 100644 public/bower_components/jquery/src/var/hasOwn.js
 create mode 100644 public/bower_components/jquery/src/var/indexOf.js
 create mode 100644 public/bower_components/jquery/src/var/isFunction.js
 create mode 100644 public/bower_components/jquery/src/var/isWindow.js
 create mode 100644 public/bower_components/jquery/src/var/pnum.js
 create mode 100644 public/bower_components/jquery/src/var/push.js
 create mode 100644 public/bower_components/jquery/src/var/rcssNum.js
 create mode 100644 public/bower_components/jquery/src/var/rnothtmlwhite.js
 create mode 100644 public/bower_components/jquery/src/var/slice.js
 create mode 100644 public/bower_components/jquery/src/var/support.js
 create mode 100644 public/bower_components/jquery/src/var/toString.js
 create mode 100644 public/bower_components/jquery/src/wrap.js
 create mode 100644 public/bower_components/moment/.bower.json
 create mode 100644 public/bower_components/moment/CHANGELOG.md
 create mode 100644 public/bower_components/moment/LICENSE
 create mode 100644 public/bower_components/moment/README.md
 create mode 100644 public/bower_components/moment/bower.json
 create mode 100644 public/bower_components/moment/locale/af.js
 create mode 100644 public/bower_components/moment/locale/ar-dz.js
 create mode 100644 public/bower_components/moment/locale/ar-kw.js
 create mode 100644 public/bower_components/moment/locale/ar-ly.js
 create mode 100644 public/bower_components/moment/locale/ar-ma.js
 create mode 100644 public/bower_components/moment/locale/ar-sa.js
 create mode 100644 public/bower_components/moment/locale/ar-tn.js
 create mode 100644 public/bower_components/moment/locale/ar.js
 create mode 100644 public/bower_components/moment/locale/az.js
 create mode 100644 public/bower_components/moment/locale/be.js
 create mode 100644 public/bower_components/moment/locale/bg.js
 create mode 100644 public/bower_components/moment/locale/bm.js
 create mode 100644 public/bower_components/moment/locale/bn.js
 create mode 100644 public/bower_components/moment/locale/bo.js
 create mode 100644 public/bower_components/moment/locale/br.js
 create mode 100644 public/bower_components/moment/locale/bs.js
 create mode 100644 public/bower_components/moment/locale/ca.js
 create mode 100644 public/bower_components/moment/locale/cs.js
 create mode 100644 public/bower_components/moment/locale/cv.js
 create mode 100644 public/bower_components/moment/locale/cy.js
 create mode 100644 public/bower_components/moment/locale/da.js
 create mode 100644 public/bower_components/moment/locale/de-at.js
 create mode 100644 public/bower_components/moment/locale/de-ch.js
 create mode 100644 public/bower_components/moment/locale/de.js
 create mode 100644 public/bower_components/moment/locale/dv.js
 create mode 100644 public/bower_components/moment/locale/el.js
 create mode 100644 public/bower_components/moment/locale/en-SG.js
 create mode 100644 public/bower_components/moment/locale/en-au.js
 create mode 100644 public/bower_components/moment/locale/en-ca.js
 create mode 100644 public/bower_components/moment/locale/en-gb.js
 create mode 100644 public/bower_components/moment/locale/en-ie.js
 create mode 100644 public/bower_components/moment/locale/en-il.js
 create mode 100644 public/bower_components/moment/locale/en-nz.js
 create mode 100644 public/bower_components/moment/locale/eo.js
 create mode 100644 public/bower_components/moment/locale/es-do.js
 create mode 100644 public/bower_components/moment/locale/es-us.js
 create mode 100644 public/bower_components/moment/locale/es.js
 create mode 100644 public/bower_components/moment/locale/et.js
 create mode 100644 public/bower_components/moment/locale/eu.js
 create mode 100644 public/bower_components/moment/locale/fa.js
 create mode 100644 public/bower_components/moment/locale/fi.js
 create mode 100644 public/bower_components/moment/locale/fo.js
 create mode 100644 public/bower_components/moment/locale/fr-ca.js
 create mode 100644 public/bower_components/moment/locale/fr-ch.js
 create mode 100644 public/bower_components/moment/locale/fr.js
 create mode 100644 public/bower_components/moment/locale/fy.js
 create mode 100644 public/bower_components/moment/locale/ga.js
 create mode 100644 public/bower_components/moment/locale/gd.js
 create mode 100644 public/bower_components/moment/locale/gl.js
 create mode 100644 public/bower_components/moment/locale/gom-latn.js
 create mode 100644 public/bower_components/moment/locale/gu.js
 create mode 100644 public/bower_components/moment/locale/he.js
 create mode 100644 public/bower_components/moment/locale/hi.js
 create mode 100644 public/bower_components/moment/locale/hr.js
 create mode 100644 public/bower_components/moment/locale/hu.js
 create mode 100644 public/bower_components/moment/locale/hy-am.js
 create mode 100644 public/bower_components/moment/locale/id.js
 create mode 100644 public/bower_components/moment/locale/is.js
 create mode 100644 public/bower_components/moment/locale/it-ch.js
 create mode 100644 public/bower_components/moment/locale/it.js
 create mode 100644 public/bower_components/moment/locale/ja.js
 create mode 100644 public/bower_components/moment/locale/jv.js
 create mode 100644 public/bower_components/moment/locale/ka.js
 create mode 100644 public/bower_components/moment/locale/kk.js
 create mode 100644 public/bower_components/moment/locale/km.js
 create mode 100644 public/bower_components/moment/locale/kn.js
 create mode 100644 public/bower_components/moment/locale/ko.js
 create mode 100644 public/bower_components/moment/locale/ku.js
 create mode 100644 public/bower_components/moment/locale/ky.js
 create mode 100644 public/bower_components/moment/locale/lb.js
 create mode 100644 public/bower_components/moment/locale/lo.js
 create mode 100644 public/bower_components/moment/locale/lt.js
 create mode 100644 public/bower_components/moment/locale/lv.js
 create mode 100644 public/bower_components/moment/locale/me.js
 create mode 100644 public/bower_components/moment/locale/mi.js
 create mode 100644 public/bower_components/moment/locale/mk.js
 create mode 100644 public/bower_components/moment/locale/ml.js
 create mode 100644 public/bower_components/moment/locale/mn.js
 create mode 100644 public/bower_components/moment/locale/mr.js
 create mode 100644 public/bower_components/moment/locale/ms-my.js
 create mode 100644 public/bower_components/moment/locale/ms.js
 create mode 100644 public/bower_components/moment/locale/mt.js
 create mode 100644 public/bower_components/moment/locale/my.js
 create mode 100644 public/bower_components/moment/locale/nb.js
 create mode 100644 public/bower_components/moment/locale/ne.js
 create mode 100644 public/bower_components/moment/locale/nl-be.js
 create mode 100644 public/bower_components/moment/locale/nl.js
 create mode 100644 public/bower_components/moment/locale/nn.js
 create mode 100644 public/bower_components/moment/locale/pa-in.js
 create mode 100644 public/bower_components/moment/locale/pl.js
 create mode 100644 public/bower_components/moment/locale/pt-br.js
 create mode 100644 public/bower_components/moment/locale/pt.js
 create mode 100644 public/bower_components/moment/locale/ro.js
 create mode 100644 public/bower_components/moment/locale/ru.js
 create mode 100644 public/bower_components/moment/locale/sd.js
 create mode 100644 public/bower_components/moment/locale/se.js
 create mode 100644 public/bower_components/moment/locale/si.js
 create mode 100644 public/bower_components/moment/locale/sk.js
 create mode 100644 public/bower_components/moment/locale/sl.js
 create mode 100644 public/bower_components/moment/locale/sq.js
 create mode 100644 public/bower_components/moment/locale/sr-cyrl.js
 create mode 100644 public/bower_components/moment/locale/sr.js
 create mode 100644 public/bower_components/moment/locale/ss.js
 create mode 100644 public/bower_components/moment/locale/sv.js
 create mode 100644 public/bower_components/moment/locale/sw.js
 create mode 100644 public/bower_components/moment/locale/ta.js
 create mode 100644 public/bower_components/moment/locale/te.js
 create mode 100644 public/bower_components/moment/locale/tet.js
 create mode 100644 public/bower_components/moment/locale/tg.js
 create mode 100644 public/bower_components/moment/locale/th.js
 create mode 100644 public/bower_components/moment/locale/tl-ph.js
 create mode 100644 public/bower_components/moment/locale/tlh.js
 create mode 100644 public/bower_components/moment/locale/tr.js
 create mode 100644 public/bower_components/moment/locale/tzl.js
 create mode 100644 public/bower_components/moment/locale/tzm-latn.js
 create mode 100644 public/bower_components/moment/locale/tzm.js
 create mode 100644 public/bower_components/moment/locale/ug-cn.js
 create mode 100644 public/bower_components/moment/locale/uk.js
 create mode 100644 public/bower_components/moment/locale/ur.js
 create mode 100644 public/bower_components/moment/locale/uz-latn.js
 create mode 100644 public/bower_components/moment/locale/uz.js
 create mode 100644 public/bower_components/moment/locale/vi.js
 create mode 100644 public/bower_components/moment/locale/x-pseudo.js
 create mode 100644 public/bower_components/moment/locale/yo.js
 create mode 100644 public/bower_components/moment/locale/zh-cn.js
 create mode 100644 public/bower_components/moment/locale/zh-hk.js
 create mode 100644 public/bower_components/moment/locale/zh-tw.js
 create mode 100644 public/bower_components/moment/min/locales.js
 create mode 100644 public/bower_components/moment/min/locales.min.js
 create mode 100644 public/bower_components/moment/min/moment-with-locales.js
 create mode 100644 public/bower_components/moment/min/moment-with-locales.min.js
 create mode 100644 public/bower_components/moment/min/moment.min.js
 create mode 100644 public/bower_components/moment/moment.d.ts
 create mode 100644 public/bower_components/moment/moment.js
 create mode 100644 public/bower_components/moment/package-lock.json
 create mode 100644 public/bower_components/moment/src/lib/create/check-overflow.js
 create mode 100644 public/bower_components/moment/src/lib/create/date-from-array.js
 create mode 100644 public/bower_components/moment/src/lib/create/from-anything.js
 create mode 100644 public/bower_components/moment/src/lib/create/from-array.js
 create mode 100644 public/bower_components/moment/src/lib/create/from-object.js
 create mode 100644 public/bower_components/moment/src/lib/create/from-string-and-array.js
 create mode 100644 public/bower_components/moment/src/lib/create/from-string-and-format.js
 create mode 100644 public/bower_components/moment/src/lib/create/from-string.js
 create mode 100644 public/bower_components/moment/src/lib/create/local.js
 create mode 100644 public/bower_components/moment/src/lib/create/parsing-flags.js
 create mode 100644 public/bower_components/moment/src/lib/create/utc.js
 create mode 100644 public/bower_components/moment/src/lib/create/valid.js
 create mode 100644 public/bower_components/moment/src/lib/duration/abs.js
 create mode 100644 public/bower_components/moment/src/lib/duration/add-subtract.js
 create mode 100644 public/bower_components/moment/src/lib/duration/as.js
 create mode 100644 public/bower_components/moment/src/lib/duration/bubble.js
 create mode 100644 public/bower_components/moment/src/lib/duration/clone.js
 create mode 100644 public/bower_components/moment/src/lib/duration/constructor.js
 create mode 100644 public/bower_components/moment/src/lib/duration/create.js
 create mode 100644 public/bower_components/moment/src/lib/duration/duration.js
 create mode 100644 public/bower_components/moment/src/lib/duration/get.js
 create mode 100644 public/bower_components/moment/src/lib/duration/humanize.js
 create mode 100644 public/bower_components/moment/src/lib/duration/iso-string.js
 create mode 100644 public/bower_components/moment/src/lib/duration/prototype.js
 create mode 100644 public/bower_components/moment/src/lib/duration/valid.js
 create mode 100644 public/bower_components/moment/src/lib/format/format.js
 create mode 100644 public/bower_components/moment/src/lib/locale/base-config.js
 create mode 100644 public/bower_components/moment/src/lib/locale/calendar.js
 create mode 100644 public/bower_components/moment/src/lib/locale/constructor.js
 create mode 100644 public/bower_components/moment/src/lib/locale/en.js
 create mode 100644 public/bower_components/moment/src/lib/locale/formats.js
 create mode 100644 public/bower_components/moment/src/lib/locale/invalid.js
 create mode 100644 public/bower_components/moment/src/lib/locale/lists.js
 create mode 100644 public/bower_components/moment/src/lib/locale/locale.js
 create mode 100644 public/bower_components/moment/src/lib/locale/locales.js
 create mode 100644 public/bower_components/moment/src/lib/locale/ordinal.js
 create mode 100644 public/bower_components/moment/src/lib/locale/pre-post-format.js
 create mode 100644 public/bower_components/moment/src/lib/locale/prototype.js
 create mode 100644 public/bower_components/moment/src/lib/locale/relative.js
 create mode 100644 public/bower_components/moment/src/lib/locale/set.js
 create mode 100644 public/bower_components/moment/src/lib/moment/add-subtract.js
 create mode 100644 public/bower_components/moment/src/lib/moment/calendar.js
 create mode 100644 public/bower_components/moment/src/lib/moment/clone.js
 create mode 100644 public/bower_components/moment/src/lib/moment/compare.js
 create mode 100644 public/bower_components/moment/src/lib/moment/constructor.js
 create mode 100644 public/bower_components/moment/src/lib/moment/creation-data.js
 create mode 100644 public/bower_components/moment/src/lib/moment/diff.js
 create mode 100644 public/bower_components/moment/src/lib/moment/format.js
 create mode 100644 public/bower_components/moment/src/lib/moment/from.js
 create mode 100644 public/bower_components/moment/src/lib/moment/get-set.js
 create mode 100644 public/bower_components/moment/src/lib/moment/locale.js
 create mode 100644 public/bower_components/moment/src/lib/moment/min-max.js
 create mode 100644 public/bower_components/moment/src/lib/moment/moment.js
 create mode 100644 public/bower_components/moment/src/lib/moment/now.js
 create mode 100644 public/bower_components/moment/src/lib/moment/prototype.js
 create mode 100644 public/bower_components/moment/src/lib/moment/start-end-of.js
 create mode 100644 public/bower_components/moment/src/lib/moment/to-type.js
 create mode 100644 public/bower_components/moment/src/lib/moment/to.js
 create mode 100644 public/bower_components/moment/src/lib/moment/valid.js
 create mode 100644 public/bower_components/moment/src/lib/parse/regex.js
 create mode 100644 public/bower_components/moment/src/lib/parse/token.js
 create mode 100644 public/bower_components/moment/src/lib/units/aliases.js
 create mode 100644 public/bower_components/moment/src/lib/units/constants.js
 create mode 100644 public/bower_components/moment/src/lib/units/day-of-month.js
 create mode 100644 public/bower_components/moment/src/lib/units/day-of-week.js
 create mode 100644 public/bower_components/moment/src/lib/units/day-of-year.js
 create mode 100644 public/bower_components/moment/src/lib/units/hour.js
 create mode 100644 public/bower_components/moment/src/lib/units/millisecond.js
 create mode 100644 public/bower_components/moment/src/lib/units/minute.js
 create mode 100644 public/bower_components/moment/src/lib/units/month.js
 create mode 100644 public/bower_components/moment/src/lib/units/offset.js
 create mode 100644 public/bower_components/moment/src/lib/units/priorities.js
 create mode 100644 public/bower_components/moment/src/lib/units/quarter.js
 create mode 100644 public/bower_components/moment/src/lib/units/second.js
 create mode 100644 public/bower_components/moment/src/lib/units/timestamp.js
 create mode 100644 public/bower_components/moment/src/lib/units/timezone.js
 create mode 100644 public/bower_components/moment/src/lib/units/units.js
 create mode 100644 public/bower_components/moment/src/lib/units/week-calendar-utils.js
 create mode 100644 public/bower_components/moment/src/lib/units/week-year.js
 create mode 100644 public/bower_components/moment/src/lib/units/week.js
 create mode 100644 public/bower_components/moment/src/lib/units/year.js
 create mode 100644 public/bower_components/moment/src/lib/utils/abs-ceil.js
 create mode 100644 public/bower_components/moment/src/lib/utils/abs-floor.js
 create mode 100644 public/bower_components/moment/src/lib/utils/abs-round.js
 create mode 100644 public/bower_components/moment/src/lib/utils/compare-arrays.js
 create mode 100644 public/bower_components/moment/src/lib/utils/defaults.js
 create mode 100644 public/bower_components/moment/src/lib/utils/deprecate.js
 create mode 100644 public/bower_components/moment/src/lib/utils/extend.js
 create mode 100644 public/bower_components/moment/src/lib/utils/has-own-prop.js
 create mode 100644 public/bower_components/moment/src/lib/utils/hooks.js
 create mode 100644 public/bower_components/moment/src/lib/utils/index-of.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-array.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-date.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-function.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-number.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-object-empty.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-object.js
 create mode 100644 public/bower_components/moment/src/lib/utils/is-undefined.js
 create mode 100644 public/bower_components/moment/src/lib/utils/keys.js
 create mode 100644 public/bower_components/moment/src/lib/utils/map.js
 create mode 100644 public/bower_components/moment/src/lib/utils/mod.js
 create mode 100644 public/bower_components/moment/src/lib/utils/some.js
 create mode 100644 public/bower_components/moment/src/lib/utils/to-int.js
 create mode 100644 public/bower_components/moment/src/lib/utils/zero-fill.js
 create mode 100644 public/bower_components/moment/src/locale/af.js
 create mode 100644 public/bower_components/moment/src/locale/ar-dz.js
 create mode 100644 public/bower_components/moment/src/locale/ar-kw.js
 create mode 100644 public/bower_components/moment/src/locale/ar-ly.js
 create mode 100644 public/bower_components/moment/src/locale/ar-ma.js
 create mode 100644 public/bower_components/moment/src/locale/ar-sa.js
 create mode 100644 public/bower_components/moment/src/locale/ar-tn.js
 create mode 100644 public/bower_components/moment/src/locale/ar.js
 create mode 100644 public/bower_components/moment/src/locale/az.js
 create mode 100644 public/bower_components/moment/src/locale/be.js
 create mode 100644 public/bower_components/moment/src/locale/bg.js
 create mode 100644 public/bower_components/moment/src/locale/bm.js
 create mode 100644 public/bower_components/moment/src/locale/bn.js
 create mode 100644 public/bower_components/moment/src/locale/bo.js
 create mode 100644 public/bower_components/moment/src/locale/br.js
 create mode 100644 public/bower_components/moment/src/locale/bs.js
 create mode 100644 public/bower_components/moment/src/locale/ca.js
 create mode 100644 public/bower_components/moment/src/locale/cs.js
 create mode 100644 public/bower_components/moment/src/locale/cv.js
 create mode 100644 public/bower_components/moment/src/locale/cy.js
 create mode 100644 public/bower_components/moment/src/locale/da.js
 create mode 100644 public/bower_components/moment/src/locale/de-at.js
 create mode 100644 public/bower_components/moment/src/locale/de-ch.js
 create mode 100644 public/bower_components/moment/src/locale/de.js
 create mode 100644 public/bower_components/moment/src/locale/dv.js
 create mode 100644 public/bower_components/moment/src/locale/el.js
 create mode 100644 public/bower_components/moment/src/locale/en-SG.js
 create mode 100644 public/bower_components/moment/src/locale/en-au.js
 create mode 100644 public/bower_components/moment/src/locale/en-ca.js
 create mode 100644 public/bower_components/moment/src/locale/en-gb.js
 create mode 100644 public/bower_components/moment/src/locale/en-ie.js
 create mode 100644 public/bower_components/moment/src/locale/en-il.js
 create mode 100644 public/bower_components/moment/src/locale/en-nz.js
 create mode 100644 public/bower_components/moment/src/locale/eo.js
 create mode 100644 public/bower_components/moment/src/locale/es-do.js
 create mode 100644 public/bower_components/moment/src/locale/es-us.js
 create mode 100644 public/bower_components/moment/src/locale/es.js
 create mode 100644 public/bower_components/moment/src/locale/et.js
 create mode 100644 public/bower_components/moment/src/locale/eu.js
 create mode 100644 public/bower_components/moment/src/locale/fa.js
 create mode 100644 public/bower_components/moment/src/locale/fi.js
 create mode 100644 public/bower_components/moment/src/locale/fo.js
 create mode 100644 public/bower_components/moment/src/locale/fr-ca.js
 create mode 100644 public/bower_components/moment/src/locale/fr-ch.js
 create mode 100644 public/bower_components/moment/src/locale/fr.js
 create mode 100644 public/bower_components/moment/src/locale/fy.js
 create mode 100644 public/bower_components/moment/src/locale/ga.js
 create mode 100644 public/bower_components/moment/src/locale/gd.js
 create mode 100644 public/bower_components/moment/src/locale/gl.js
 create mode 100644 public/bower_components/moment/src/locale/gom-latn.js
 create mode 100644 public/bower_components/moment/src/locale/gu.js
 create mode 100644 public/bower_components/moment/src/locale/he.js
 create mode 100644 public/bower_components/moment/src/locale/hi.js
 create mode 100644 public/bower_components/moment/src/locale/hr.js
 create mode 100644 public/bower_components/moment/src/locale/hu.js
 create mode 100644 public/bower_components/moment/src/locale/hy-am.js
 create mode 100644 public/bower_components/moment/src/locale/id.js
 create mode 100644 public/bower_components/moment/src/locale/is.js
 create mode 100644 public/bower_components/moment/src/locale/it-ch.js
 create mode 100644 public/bower_components/moment/src/locale/it.js
 create mode 100644 public/bower_components/moment/src/locale/ja.js
 create mode 100644 public/bower_components/moment/src/locale/jv.js
 create mode 100644 public/bower_components/moment/src/locale/ka.js
 create mode 100644 public/bower_components/moment/src/locale/kk.js
 create mode 100644 public/bower_components/moment/src/locale/km.js
 create mode 100644 public/bower_components/moment/src/locale/kn.js
 create mode 100644 public/bower_components/moment/src/locale/ko.js
 create mode 100644 public/bower_components/moment/src/locale/ku.js
 create mode 100644 public/bower_components/moment/src/locale/ky.js
 create mode 100644 public/bower_components/moment/src/locale/lb.js
 create mode 100644 public/bower_components/moment/src/locale/lo.js
 create mode 100644 public/bower_components/moment/src/locale/lt.js
 create mode 100644 public/bower_components/moment/src/locale/lv.js
 create mode 100644 public/bower_components/moment/src/locale/me.js
 create mode 100644 public/bower_components/moment/src/locale/mi.js
 create mode 100644 public/bower_components/moment/src/locale/mk.js
 create mode 100644 public/bower_components/moment/src/locale/ml.js
 create mode 100644 public/bower_components/moment/src/locale/mn.js
 create mode 100644 public/bower_components/moment/src/locale/mr.js
 create mode 100644 public/bower_components/moment/src/locale/ms-my.js
 create mode 100644 public/bower_components/moment/src/locale/ms.js
 create mode 100644 public/bower_components/moment/src/locale/mt.js
 create mode 100644 public/bower_components/moment/src/locale/my.js
 create mode 100644 public/bower_components/moment/src/locale/nb.js
 create mode 100644 public/bower_components/moment/src/locale/ne.js
 create mode 100644 public/bower_components/moment/src/locale/nl-be.js
 create mode 100644 public/bower_components/moment/src/locale/nl.js
 create mode 100644 public/bower_components/moment/src/locale/nn.js
 create mode 100644 public/bower_components/moment/src/locale/pa-in.js
 create mode 100644 public/bower_components/moment/src/locale/pl.js
 create mode 100644 public/bower_components/moment/src/locale/pt-br.js
 create mode 100644 public/bower_components/moment/src/locale/pt.js
 create mode 100644 public/bower_components/moment/src/locale/ro.js
 create mode 100644 public/bower_components/moment/src/locale/ru.js
 create mode 100644 public/bower_components/moment/src/locale/sd.js
 create mode 100644 public/bower_components/moment/src/locale/se.js
 create mode 100644 public/bower_components/moment/src/locale/si.js
 create mode 100644 public/bower_components/moment/src/locale/sk.js
 create mode 100644 public/bower_components/moment/src/locale/sl.js
 create mode 100644 public/bower_components/moment/src/locale/sq.js
 create mode 100644 public/bower_components/moment/src/locale/sr-cyrl.js
 create mode 100644 public/bower_components/moment/src/locale/sr.js
 create mode 100644 public/bower_components/moment/src/locale/ss.js
 create mode 100644 public/bower_components/moment/src/locale/sv.js
 create mode 100644 public/bower_components/moment/src/locale/sw.js
 create mode 100644 public/bower_components/moment/src/locale/ta.js
 create mode 100644 public/bower_components/moment/src/locale/te.js
 create mode 100644 public/bower_components/moment/src/locale/tet.js
 create mode 100644 public/bower_components/moment/src/locale/tg.js
 create mode 100644 public/bower_components/moment/src/locale/th.js
 create mode 100644 public/bower_components/moment/src/locale/tl-ph.js
 create mode 100644 public/bower_components/moment/src/locale/tlh.js
 create mode 100644 public/bower_components/moment/src/locale/tr.js
 create mode 100644 public/bower_components/moment/src/locale/tzl.js
 create mode 100644 public/bower_components/moment/src/locale/tzm-latn.js
 create mode 100644 public/bower_components/moment/src/locale/tzm.js
 create mode 100644 public/bower_components/moment/src/locale/ug-cn.js
 create mode 100644 public/bower_components/moment/src/locale/uk.js
 create mode 100644 public/bower_components/moment/src/locale/ur.js
 create mode 100644 public/bower_components/moment/src/locale/uz-latn.js
 create mode 100644 public/bower_components/moment/src/locale/uz.js
 create mode 100644 public/bower_components/moment/src/locale/vi.js
 create mode 100644 public/bower_components/moment/src/locale/x-pseudo.js
 create mode 100644 public/bower_components/moment/src/locale/yo.js
 create mode 100644 public/bower_components/moment/src/locale/zh-cn.js
 create mode 100644 public/bower_components/moment/src/locale/zh-hk.js
 create mode 100644 public/bower_components/moment/src/locale/zh-tw.js
 create mode 100644 public/bower_components/moment/src/moment.js
 create mode 100644 public/bower_components/moment/templates/default.js
 create mode 100644 public/bower_components/moment/templates/locale-header.js
 create mode 100644 public/bower_components/moment/templates/test-header.js
 create mode 100644 public/coba.html
 create mode 100644 public/test.html
 create mode 100644 resources/.DS_Store
 create mode 100644 resources/assets/.DS_Store

diff --git a/.DS_Store b/.DS_Store
index 57c348d0394879f4a813730734349a8fe9ac02ef..dbdfca4fdd359b002f09efd0f7416f49a88abcb5 100644
GIT binary patch
delta 65
zcmZoMXfc@JFU-uqz`)4BAiz+Rmy@5D4&rSVWM0WA4w7JINMtBrC@2d?lH_4}%DS1I
H<1aq|xlRtE

delta 50
zcmZoMXfc@JFUrKgz`)4BAi%(o$&j8@UR;orlb^KNka;=dWCIbF&8kd~SSL1!ZD!~A
G%MSoHYYn>q

diff --git a/app/Http/Controllers/SeminarTopikController.php b/app/Http/Controllers/SeminarTopikController.php
index 5486069..68f01ea 100644
--- a/app/Http/Controllers/SeminarTopikController.php
+++ b/app/Http/Controllers/SeminarTopikController.php
@@ -12,8 +12,10 @@ class SeminarTopikController extends Controller
        $manajer= Auth::user()->isManajer();
        $mhs_id = $request->get('mahasiswa');
        $mahasiswa = Mahasiswa::find($mhs_id);
+       echo($request->get("date"));
        if($manajer) {
             if($mahasiswa) {
+                
                 SeminarTopik::create(
                     [
                         "mahasiswa_id" => $mhs_id,
diff --git a/public/.DS_Store b/public/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..093140466b49e9b7c2781d7974ea72c5d36414c7
GIT binary patch
literal 6148
zcmeHK%}T>S5Z<*_w-qr5p&s|*t%ugX>Oly#9=r(=J*c#aEjAF7(xe8Bl{|*Nk#FGZ
zIJ3JIi#>P}u`{sy&FswVW<JRNFvfUu)U7jSF~$TmM2^Y~!Qq*%1rv<OagKQ41(65V
zn>R4NzYh5A1$M(?7JKQ}?+^Sqsny>3LZP_0v@Aqflvm5wPCrVW#7#zV(;Z%-b?PR4
z&**1S6nyHgckcJnwzYl~g^BBjy`f6>yFCcGy70qpls2PL*p1aZj&=x95~a3P$+E5e
zs;uuGjH@zhG-_43v%NPSmqcZ=et6Qkdw9&A#?LRBUJmRlSu;3+S5QoK_s%d3qVN_*
zCef29LSldzAO?tm`C`DF17c;q%BE_G0b<|>4B-ACp&{A^bB${2fDW(E=r1CofR1ko
zL}}1Am}>+N2-m5AI+dFz2G{8@E=`<mFxRNl8CNUAJZ9y|<Atl$VO*+k#%+z%69dG+
zGy?@~T6q2+!!I-Qkw2Y67BN5!{4)l4vE{UyP?R}azm<n)t%TNrhJtZ9Dj=XwT>`+s
hePly9wO^tRakjx+BhG^3Djkq60*Vmoh=E^V-~+C2PpJR^

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json
new file mode 100644
index 0000000..ed25584
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/.bower.json
@@ -0,0 +1,44 @@
+{
+  "name": "eonasdan-bootstrap-datetimepicker",
+  "version": "4.17.47",
+  "main": [
+    "build/css/bootstrap-datetimepicker.min.css",
+    "build/js/bootstrap-datetimepicker.min.js"
+  ],
+  "dependencies": {
+    "jquery": ">=1.8.3",
+    "moment": ">=2.10.5"
+  },
+  "homepage": "https://github.com/Eonasdan/bootstrap-datetimepicker",
+  "authors": [
+    "Eonasdan"
+  ],
+  "description": "bootstrap3 datetimepicker",
+  "keywords": [
+    "twitter-bootstrap",
+    "bootstrap",
+    "datepicker",
+    "datetimepicker",
+    "timepicker",
+    "moment"
+  ],
+  "license": "MIT",
+  "private": false,
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests"
+  ],
+  "_release": "4.17.47",
+  "_resolution": {
+    "type": "version",
+    "tag": "4.17.47",
+    "commit": "25c11d79e614bc6463a87c3dd9cbf8280422e006"
+  },
+  "_source": "https://github.com/Eonasdan/bootstrap-datetimepicker.git",
+  "_target": "^4.17.47",
+  "_originalSource": "eonasdan-bootstrap-datetimepicker",
+  "_direct": true
+}
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md
new file mode 100644
index 0000000..9c4db38
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/CONTRIBUTING.md
@@ -0,0 +1,38 @@
+Submitting Issues
+=================
+
+If you are submitting a bug, please test and/or fork [this jsfiddle](http://jsfiddle.net/Eonasdan/0Ltv25o8/) demonstrating the issue. Code issues and fringe case bugs that do not include a jsfiddle (or similar) will be closed.
+
+Issues that are submitted without a description (title only) will be closed with no further explanation.
+
+Contributing code
+=================
+
+To contribute, fork the library and install grunt and dependencies. You need [node](http://nodejs.org/); use [nvm](https://github.com/creationix/nvm) or [nenv](https://github.com/ryuone/nenv) to install it.
+
+```bash
+git clone https://github.com/Eonasdan/bootstrap-datetimepicker.git
+cd bootstrap-datetimepicker
+npm install -g grunt-cli
+npm install
+git checkout development  # all patches against development branch, please!
+grunt                 # this runs tests and jshint
+```
+
+Very important notes
+====================
+
+ * **Pull requests to the `master` branch will be closed.** Please submit all pull requests to the `development` branch.
+ * **Do not include the minified files in your pull request.** Don't worry, we'll build them when we cut a release.
+ * Pull requests that do not include a description (title only) and the following will be closed:
+  * What the change does
+  * A use case (for new features or enhancements)
+
+Grunt tasks
+===========
+
+We use Grunt for managing the build. Here are some useful Grunt tasks:
+
+  * `grunt` The default task lints the code and runs the tests. You should make sure you do this before submitting a PR.
+  * `grunt build` Compiles the less stylesheet and minifies the javascript source in build directory.
+  * `grunt build:travis` Compliles and runs the jasmine/travis tests. **All PR's MUST pass tests in place**
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js
new file mode 100644
index 0000000..a9f06c6
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/Gruntfile.js
@@ -0,0 +1,195 @@
+module.exports = function (grunt) {
+    'use strict';
+    grunt.initConfig({
+        pkg: grunt.file.readJSON('package.json'),
+        uglify: {
+            target: {
+                files: {
+                    'build/js/bootstrap-datetimepicker.min.js': 'src/js/bootstrap-datetimepicker.js'
+                }
+            },
+            options: {
+                mangle: true,
+                compress: {
+                    dead_code: false // jshint ignore:line
+                },
+                output: {
+                    ascii_only: true // jshint ignore:line
+                },
+                report: 'min',
+                preserveComments: 'some'
+            }
+        },
+        jshint: {
+            all: [
+                'Gruntfile.js', 'src/js/*.js', 'test/*.js'
+            ],
+            options: {
+                'browser': true,
+                'node': true,
+                'jquery': true,
+                'boss': false,
+                'curly': true,
+                'debug': false,
+                'devel': false,
+                'eqeqeq': true,
+                'bitwise': true,
+                'eqnull': true,
+                'evil': false,
+                'forin': true,
+                'immed': false,
+                'laxbreak': false,
+                'newcap': true,
+                'noarg': true,
+                'noempty': false,
+                'nonew': false,
+                'onevar': true,
+                'plusplus': false,
+                'regexp': false,
+                'undef': true,
+                'sub': true,
+                'strict': true,
+                'unused': true,
+                'white': true,
+                'es3': true,
+                'camelcase': true,
+                'quotmark': 'single',
+                'globals': {
+                    'define': false,
+                    'moment': false,
+                    // Jasmine
+                    'jasmine': false,
+                    'describe': false,
+                    'xdescribe': false,
+                    'expect': false,
+                    'it': false,
+                    'xit': false,
+                    'spyOn': false,
+                    'beforeEach': false,
+                    'afterEach': false
+                }
+            }
+        },
+        jscs: {
+            all: [
+                'Gruntfile.js', 'src/js/*.js', 'test/*.js'
+            ],
+            options: {
+                config: '.jscs.json'
+            }
+        },
+        less: {
+            production: {
+                options: {
+                    cleancss: true,
+                    compress: true,
+                    paths: 'node_modules'
+                },
+                files: {
+                    'build/css/bootstrap-datetimepicker.min.css': 'src/less/bootstrap-datetimepicker-build.less'
+                }
+            },
+            development: {
+                options: {
+                    paths: 'node_modules'
+                },
+                files: {
+                    'build/css/bootstrap-datetimepicker.css': 'src/less/bootstrap-datetimepicker-build.less'
+                }
+            }
+        },
+        env: {
+            paris: {
+                TZ: 'Europe/Paris' // sets env for phantomJS https://github.com/ariya/phantomjs/issues/10379#issuecomment-36058589
+            }
+        },
+        connect: {
+            server: {
+                options: {
+                    port: 8099
+                }
+            }
+        },
+        jasmine: {
+            customTemplate: {
+                src: 'src/js/*.js',
+                options: {
+                    specs: 'test/*Spec.js',
+                    helpers: 'test/*Helper.js',
+                    host: 'http://127.0.0.1:8099',
+                    styles: [
+                        'node_modules/bootstrap/dist/css/bootstrap.min.css',
+                        'build/css/bootstrap-datetimepicker.min.css'
+                    ],
+                    vendor: [
+                        'node_modules/jquery/dist/jquery.min.js',
+                        'node_modules/moment/min/moment-with-locales.min.js',
+                        'node_modules/moment-timezone/moment-timezone.js',
+                        'node_modules/bootstrap/dist/js/bootstrap.min.js'
+                    ],
+                    display: 'none',
+                    summary: 'true'
+                }
+            }
+        },
+        nugetpack: {
+            less: {
+                src: 'src/nuget/Bootstrap.v3.Datetimepicker.nuspec',
+                dest: 'build/nuget',
+                options: {
+                    version: '<%= pkg.version %>'
+                }
+            },
+            css: {
+                src: 'src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec',
+                dest: 'build/nuget',
+                options: {
+                    version: '<%= pkg.version %>'
+                }
+            }
+        }
+    });
+
+    grunt.loadTasks('tasks');
+
+    grunt.loadNpmTasks('grunt-env');
+    grunt.loadNpmTasks('grunt-contrib-connect');
+    grunt.loadNpmTasks('grunt-contrib-jasmine');
+    grunt.loadNpmTasks('grunt-nuget');
+
+    require('load-grunt-tasks')(grunt);
+    grunt.registerTask('default', ['jshint', 'jscs', 'less', 'env:paris', 'connect', 'jasmine']);
+    grunt.registerTask('build:travis', [
+        // code style
+        'jshint', 'jscs',
+        // build
+        'uglify', 'less',
+        // tests
+        'env:paris', 'connect', 'jasmine'
+    ]);
+
+    // Task to be run when building
+    grunt.registerTask('build', ['jshint', 'jscs', 'uglify', 'less']);
+
+    grunt.registerTask('test', ['jshint', 'jscs', 'uglify', 'less', 'env:paris', 'connect', 'jasmine']);
+
+    grunt.registerTask('docs', 'Generate docs', function () {
+        grunt.util.spawn({
+            cmd: 'mkdocs',
+            args: ['build', '--clean']
+        });
+    });
+
+    grunt.registerTask('release', function (version) {
+        if (!version || version.split('.').length !== 3) {
+            grunt.fail.fatal('malformed version. Use grunt release:1.2.3');
+        }
+
+        grunt.task.run([
+            'bump_version:' + version,
+            'build:travis',
+            'docs',
+            'nugetpack'
+        ]);
+    });
+};
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE b/public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE
new file mode 100644
index 0000000..f8071d7
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/LICENSE
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) 2015 Jonathan Peterson (@Eonasdan)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/README.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/README.md
new file mode 100644
index 0000000..3d238f5
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/README.md
@@ -0,0 +1,20 @@
+# Bootstrap 3 Date/Time Picker
+![GitHub version](https://badge.fury.io/gh/Eonasdan%2Fbootstrap-datetimepicker.png)&nbsp;&nbsp;&nbsp;![Travis](https://travis-ci.org/Eonasdan/bootstrap-datetimepicker.svg?branch=development)
+
+![DateTimePicker](http://i.imgur.com/nfnvh5g.png)
+
+## [View the manual and demos](http://eonasdan.github.io/bootstrap-datetimepicker/)
+
+## [Installation instructions](http://eonasdan.github.io/bootstrap-datetimepicker/Installing/)
+
+## [Change Log](http://eonasdan.github.io/bootstrap-datetimepicker/Changelog/)
+
+### This issue tracker is no longer actively monitored.
+
+# Version 5
+
+Version 5 is being completely rewritten in ES6 and modularized as Tempus Dominus.
+
+v5 is [in alpha](https://github.com/tempusdominus/bootstrap-3).
+
+
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json
new file mode 100644
index 0000000..c9d5a75
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/bower.json
@@ -0,0 +1,34 @@
+{
+  "name": "eonasdan-bootstrap-datetimepicker",
+  "version": "4.17.47",
+  "main": [
+    "build/css/bootstrap-datetimepicker.min.css",
+    "build/js/bootstrap-datetimepicker.min.js"
+  ],
+  "dependencies": {
+    "jquery": ">=1.8.3",
+    "moment": ">=2.10.5"
+  },
+  "homepage": "https://github.com/Eonasdan/bootstrap-datetimepicker",
+  "authors": [
+    "Eonasdan"
+  ],
+  "description": "bootstrap3 datetimepicker",
+  "keywords": [
+    "twitter-bootstrap",
+    "bootstrap",
+    "datepicker",
+    "datetimepicker",
+    "timepicker",
+    "moment"
+  ],
+  "license": "MIT",
+  "private": false,
+  "ignore": [
+    "**/.*",
+    "node_modules",
+    "bower_components",
+    "test",
+    "tests"
+  ]
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css
new file mode 100644
index 0000000..e2f9dbf
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker-standalone.css
@@ -0,0 +1,98 @@
+@font-face {
+    font-family: 'Glyphicons Halflings';
+    src: url('../fonts/glyphicons-halflings-regular.eot');
+    src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');
+}
+
+.glyphicon {
+    position: relative;
+    top: 1px;
+    display: inline-block;
+    font-family: 'Glyphicons Halflings';
+    font-style: normal;
+    font-weight: normal;
+    line-height: 1;
+    -webkit-font-smoothing: antialiased;
+    -moz-osx-font-smoothing: grayscale;
+}
+
+.glyphicon-time:before {
+    content: "\e023";
+}
+
+.glyphicon-chevron-left:before {
+    content: "\e079";
+}
+
+.glyphicon-chevron-right:before {
+    content: "\e080";
+}
+
+.glyphicon-chevron-up:before {
+    content: "\e113";
+}
+
+.glyphicon-chevron-down:before {
+    content: "\e114";
+}
+
+.glyphicon-calendar:before {
+    content: "\e109";
+}
+
+.btn {
+    display: inline-block;
+    padding: 6px 12px;
+    margin-bottom: 0;
+    font-size: 14px;
+    font-weight: normal;
+    line-height: 1.42857143;
+    text-align: center;
+    white-space: nowrap;
+    vertical-align: middle;
+    -ms-touch-action: manipulation;
+    touch-action: manipulation;
+    cursor: pointer;
+    -webkit-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+    background-image: none;
+    border: 1px solid transparent;
+    border-radius: 4px;
+}
+
+.collapse {
+    display: none;
+}
+
+    .collapse.in {
+        display: block;
+    }
+
+.dropdown-menu {
+    position: absolute;
+    left: 0;
+    z-index: 1000;
+    display: none;
+    float: left;
+    min-width: 160px;
+    padding: 5px 0;
+    margin: 2px 0 0;
+    font-size: 14px;
+    text-align: left;
+    list-style: none;
+    background-color: #fff;
+    -webkit-background-clip: padding-box;
+    background-clip: padding-box;
+    border: 1px solid #ccc;
+    border: 1px solid rgba(0, 0, 0, .15);
+    border-radius: 4px;
+    -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+    box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
+}
+
+.list-unstyled {
+    padding-left: 0;
+    list-style: none;
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css
new file mode 100644
index 0000000..7e6488e
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.css
@@ -0,0 +1,374 @@
+/*!
+ * Datetimepicker for Bootstrap 3
+ * version : 4.17.47
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ */
+.bootstrap-datetimepicker-widget {
+  list-style: none;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu {
+  display: block;
+  margin: 2px 0;
+  padding: 4px;
+  width: 19em;
+}
+@media (min-width: 768px) {
+  .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
+    width: 38em;
+  }
+}
+@media (min-width: 992px) {
+  .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
+    width: 38em;
+  }
+}
+@media (min-width: 1200px) {
+  .bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
+    width: 38em;
+  }
+}
+.bootstrap-datetimepicker-widget.dropdown-menu:before,
+.bootstrap-datetimepicker-widget.dropdown-menu:after {
+  content: '';
+  display: inline-block;
+  position: absolute;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
+  border-left: 7px solid transparent;
+  border-right: 7px solid transparent;
+  border-bottom: 7px solid #ccc;
+  border-bottom-color: rgba(0, 0, 0, 0.2);
+  top: -7px;
+  left: 7px;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-bottom: 6px solid white;
+  top: -6px;
+  left: 8px;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu.top:before {
+  border-left: 7px solid transparent;
+  border-right: 7px solid transparent;
+  border-top: 7px solid #ccc;
+  border-top-color: rgba(0, 0, 0, 0.2);
+  bottom: -7px;
+  left: 6px;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu.top:after {
+  border-left: 6px solid transparent;
+  border-right: 6px solid transparent;
+  border-top: 6px solid white;
+  bottom: -6px;
+  left: 7px;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before {
+  left: auto;
+  right: 6px;
+}
+.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after {
+  left: auto;
+  right: 7px;
+}
+.bootstrap-datetimepicker-widget .list-unstyled {
+  margin: 0;
+}
+.bootstrap-datetimepicker-widget a[data-action] {
+  padding: 6px 0;
+}
+.bootstrap-datetimepicker-widget a[data-action]:active {
+  box-shadow: none;
+}
+.bootstrap-datetimepicker-widget .timepicker-hour,
+.bootstrap-datetimepicker-widget .timepicker-minute,
+.bootstrap-datetimepicker-widget .timepicker-second {
+  width: 54px;
+  font-weight: bold;
+  font-size: 1.2em;
+  margin: 0;
+}
+.bootstrap-datetimepicker-widget button[data-action] {
+  padding: 6px;
+}
+.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Increment Hours";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Increment Minutes";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Decrement Hours";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Decrement Minutes";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Show Hours";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Show Minutes";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Toggle AM/PM";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Clear the picker";
+}
+.bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Set the date to today";
+}
+.bootstrap-datetimepicker-widget .picker-switch {
+  text-align: center;
+}
+.bootstrap-datetimepicker-widget .picker-switch::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Toggle Date and Time Screens";
+}
+.bootstrap-datetimepicker-widget .picker-switch td {
+  padding: 0;
+  margin: 0;
+  height: auto;
+  width: auto;
+  line-height: inherit;
+}
+.bootstrap-datetimepicker-widget .picker-switch td span {
+  line-height: 2.5;
+  height: 2.5em;
+  width: 100%;
+}
+.bootstrap-datetimepicker-widget table {
+  width: 100%;
+  margin: 0;
+}
+.bootstrap-datetimepicker-widget table td,
+.bootstrap-datetimepicker-widget table th {
+  text-align: center;
+  border-radius: 4px;
+}
+.bootstrap-datetimepicker-widget table th {
+  height: 20px;
+  line-height: 20px;
+  width: 20px;
+}
+.bootstrap-datetimepicker-widget table th.picker-switch {
+  width: 145px;
+}
+.bootstrap-datetimepicker-widget table th.disabled,
+.bootstrap-datetimepicker-widget table th.disabled:hover {
+  background: none;
+  color: #777777;
+  cursor: not-allowed;
+}
+.bootstrap-datetimepicker-widget table th.prev::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Previous Month";
+}
+.bootstrap-datetimepicker-widget table th.next::after {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+  content: "Next Month";
+}
+.bootstrap-datetimepicker-widget table thead tr:first-child th {
+  cursor: pointer;
+}
+.bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
+  background: #eeeeee;
+}
+.bootstrap-datetimepicker-widget table td {
+  height: 54px;
+  line-height: 54px;
+  width: 54px;
+}
+.bootstrap-datetimepicker-widget table td.cw {
+  font-size: .8em;
+  height: 20px;
+  line-height: 20px;
+  color: #777777;
+}
+.bootstrap-datetimepicker-widget table td.day {
+  height: 20px;
+  line-height: 20px;
+  width: 20px;
+}
+.bootstrap-datetimepicker-widget table td.day:hover,
+.bootstrap-datetimepicker-widget table td.hour:hover,
+.bootstrap-datetimepicker-widget table td.minute:hover,
+.bootstrap-datetimepicker-widget table td.second:hover {
+  background: #eeeeee;
+  cursor: pointer;
+}
+.bootstrap-datetimepicker-widget table td.old,
+.bootstrap-datetimepicker-widget table td.new {
+  color: #777777;
+}
+.bootstrap-datetimepicker-widget table td.today {
+  position: relative;
+}
+.bootstrap-datetimepicker-widget table td.today:before {
+  content: '';
+  display: inline-block;
+  border: solid transparent;
+  border-width: 0 0 7px 7px;
+  border-bottom-color: #337ab7;
+  border-top-color: rgba(0, 0, 0, 0.2);
+  position: absolute;
+  bottom: 4px;
+  right: 4px;
+}
+.bootstrap-datetimepicker-widget table td.active,
+.bootstrap-datetimepicker-widget table td.active:hover {
+  background-color: #337ab7;
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.bootstrap-datetimepicker-widget table td.active.today:before {
+  border-bottom-color: #fff;
+}
+.bootstrap-datetimepicker-widget table td.disabled,
+.bootstrap-datetimepicker-widget table td.disabled:hover {
+  background: none;
+  color: #777777;
+  cursor: not-allowed;
+}
+.bootstrap-datetimepicker-widget table td span {
+  display: inline-block;
+  width: 54px;
+  height: 54px;
+  line-height: 54px;
+  margin: 2px 1.5px;
+  cursor: pointer;
+  border-radius: 4px;
+}
+.bootstrap-datetimepicker-widget table td span:hover {
+  background: #eeeeee;
+}
+.bootstrap-datetimepicker-widget table td span.active {
+  background-color: #337ab7;
+  color: #fff;
+  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+}
+.bootstrap-datetimepicker-widget table td span.old {
+  color: #777777;
+}
+.bootstrap-datetimepicker-widget table td span.disabled,
+.bootstrap-datetimepicker-widget table td span.disabled:hover {
+  background: none;
+  color: #777777;
+  cursor: not-allowed;
+}
+.bootstrap-datetimepicker-widget.usetwentyfour td.hour {
+  height: 27px;
+  line-height: 27px;
+}
+.bootstrap-datetimepicker-widget.wider {
+  width: 21em;
+}
+.bootstrap-datetimepicker-widget .datepicker-decades .decade {
+  line-height: 1.8em !important;
+}
+.input-group.date .input-group-addon {
+  cursor: pointer;
+}
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0, 0, 0, 0);
+  border: 0;
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css
new file mode 100644
index 0000000..5950ad2
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Datetimepicker for Bootstrap 3
+ * version : 4.17.47
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ */.bootstrap-datetimepicker-widget{list-style:none}.bootstrap-datetimepicker-widget.dropdown-menu{display:block;margin:2px 0;padding:4px;width:19em}@media (min-width:768px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:992px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}@media (min-width:1200px){.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs{width:38em}}.bootstrap-datetimepicker-widget.dropdown-menu:before,.bootstrap-datetimepicker-widget.dropdown-menu:after{content:'';display:inline-block;position:absolute}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before{border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:7px solid #ccc;border-bottom-color:rgba(0,0,0,0.2);top:-7px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after{border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid white;top:-6px;left:8px}.bootstrap-datetimepicker-widget.dropdown-menu.top:before{border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #ccc;border-top-color:rgba(0,0,0,0.2);bottom:-7px;left:6px}.bootstrap-datetimepicker-widget.dropdown-menu.top:after{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white;bottom:-6px;left:7px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.dropdown-menu.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget .list-unstyled{margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget a[data-action]:active{box-shadow:none}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:bold;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Increment Hours"}.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Increment Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Decrement Hours"}.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Decrement Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Show Hours"}.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Show Minutes"}.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Toggle AM/PM"}.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Clear the picker"}.bootstrap-datetimepicker-widget .btn[data-action="today"]::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Set the date to today"}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget .picker-switch::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Toggle Date and Time Screens"}.bootstrap-datetimepicker-widget .picker-switch td{padding:0;margin:0;height:auto;width:auto;line-height:inherit}.bootstrap-datetimepicker-widget .picker-switch td span{line-height:2.5;height:2.5em;width:100%}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget table td,.bootstrap-datetimepicker-widget table th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget table th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table th.picker-switch{width:145px}.bootstrap-datetimepicker-widget table th.disabled,.bootstrap-datetimepicker-widget table th.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table th.prev::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Previous Month"}.bootstrap-datetimepicker-widget table th.next::after{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0;content:"Next Month"}.bootstrap-datetimepicker-widget table thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget table thead tr:first-child th:hover{background:#eee}.bootstrap-datetimepicker-widget table td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget table td.cw{font-size:.8em;height:20px;line-height:20px;color:#777}.bootstrap-datetimepicker-widget table td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget table td.day:hover,.bootstrap-datetimepicker-widget table td.hour:hover,.bootstrap-datetimepicker-widget table td.minute:hover,.bootstrap-datetimepicker-widget table td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget table td.old,.bootstrap-datetimepicker-widget table td.new{color:#777}.bootstrap-datetimepicker-widget table td.today{position:relative}.bootstrap-datetimepicker-widget table td.today:before{content:'';display:inline-block;border:solid transparent;border-width:0 0 7px 7px;border-bottom-color:#337ab7;border-top-color:rgba(0,0,0,0.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget table td.active,.bootstrap-datetimepicker-widget table td.active:hover{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget table td.disabled,.bootstrap-datetimepicker-widget table td.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget table td span{display:inline-block;width:54px;height:54px;line-height:54px;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget table td span:hover{background:#eee}.bootstrap-datetimepicker-widget table td span.active{background-color:#337ab7;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,0.25)}.bootstrap-datetimepicker-widget table td span.old{color:#777}.bootstrap-datetimepicker-widget table td span.disabled,.bootstrap-datetimepicker-widget table td span.disabled:hover{background:none;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget.usetwentyfour td.hour{height:27px;line-height:27px}.bootstrap-datetimepicker-widget.wider{width:21em}.bootstrap-datetimepicker-widget .datepicker-decades .decade{line-height:1.8em !important}.input-group.date .input-group-addon{cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);border:0}
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js
new file mode 100644
index 0000000..724db76
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js
@@ -0,0 +1,2 @@
+!function(a){"use strict";if("function"==typeof define&&define.amd)define(["jquery","moment"],a);else if("object"==typeof exports)module.exports=a(require("jquery"),require("moment"));else{if("undefined"==typeof jQuery)throw"bootstrap-datetimepicker requires jQuery to be loaded first";if("undefined"==typeof moment)throw"bootstrap-datetimepicker requires Moment.js to be loaded first";a(jQuery,moment)}}(function(a,b){"use strict";if(!b)throw new Error("bootstrap-datetimepicker requires Moment.js to be loaded first");var c=function(c,d){var e,f,g,h,i,j,k,l={},m=!0,n=!1,o=!1,p=0,q=[{clsName:"days",navFnc:"M",navStep:1},{clsName:"months",navFnc:"y",navStep:1},{clsName:"years",navFnc:"y",navStep:10},{clsName:"decades",navFnc:"y",navStep:100}],r=["days","months","years","decades"],s=["top","bottom","auto"],t=["left","right","auto"],u=["default","top","bottom"],v={up:38,38:"up",down:40,40:"down",left:37,37:"left",right:39,39:"right",tab:9,9:"tab",escape:27,27:"escape",enter:13,13:"enter",pageUp:33,33:"pageUp",pageDown:34,34:"pageDown",shift:16,16:"shift",control:17,17:"control",space:32,32:"space",t:84,84:"t",delete:46,46:"delete"},w={},x=function(){return void 0!==b.tz&&void 0!==d.timeZone&&null!==d.timeZone&&""!==d.timeZone},y=function(a){var c;return c=void 0===a||null===a?b():b.isDate(a)||b.isMoment(a)?b(a):x()?b.tz(a,j,d.useStrict,d.timeZone):b(a,j,d.useStrict),x()&&c.tz(d.timeZone),c},z=function(a){if("string"!=typeof a||a.length>1)throw new TypeError("isEnabled expects a single character string parameter");switch(a){case"y":return i.indexOf("Y")!==-1;case"M":return i.indexOf("M")!==-1;case"d":return i.toLowerCase().indexOf("d")!==-1;case"h":case"H":return i.toLowerCase().indexOf("h")!==-1;case"m":return i.indexOf("m")!==-1;case"s":return i.indexOf("s")!==-1;default:return!1}},A=function(){return z("h")||z("m")||z("s")},B=function(){return z("y")||z("M")||z("d")},C=function(){var b=a("<thead>").append(a("<tr>").append(a("<th>").addClass("prev").attr("data-action","previous").append(a("<span>").addClass(d.icons.previous))).append(a("<th>").addClass("picker-switch").attr("data-action","pickerSwitch").attr("colspan",d.calendarWeeks?"6":"5")).append(a("<th>").addClass("next").attr("data-action","next").append(a("<span>").addClass(d.icons.next)))),c=a("<tbody>").append(a("<tr>").append(a("<td>").attr("colspan",d.calendarWeeks?"8":"7")));return[a("<div>").addClass("datepicker-days").append(a("<table>").addClass("table-condensed").append(b).append(a("<tbody>"))),a("<div>").addClass("datepicker-months").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-years").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone())),a("<div>").addClass("datepicker-decades").append(a("<table>").addClass("table-condensed").append(b.clone()).append(c.clone()))]},D=function(){var b=a("<tr>"),c=a("<tr>"),e=a("<tr>");return z("h")&&(b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementHour}).addClass("btn").attr("data-action","incrementHours").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-hour").attr({"data-time-component":"hours",title:d.tooltips.pickHour}).attr("data-action","showHours"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementHour}).addClass("btn").attr("data-action","decrementHours").append(a("<span>").addClass(d.icons.down))))),z("m")&&(z("h")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementMinute}).addClass("btn").attr("data-action","incrementMinutes").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-minute").attr({"data-time-component":"minutes",title:d.tooltips.pickMinute}).attr("data-action","showMinutes"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementMinute}).addClass("btn").attr("data-action","decrementMinutes").append(a("<span>").addClass(d.icons.down))))),z("s")&&(z("m")&&(b.append(a("<td>").addClass("separator")),c.append(a("<td>").addClass("separator").html(":")),e.append(a("<td>").addClass("separator"))),b.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.incrementSecond}).addClass("btn").attr("data-action","incrementSeconds").append(a("<span>").addClass(d.icons.up)))),c.append(a("<td>").append(a("<span>").addClass("timepicker-second").attr({"data-time-component":"seconds",title:d.tooltips.pickSecond}).attr("data-action","showSeconds"))),e.append(a("<td>").append(a("<a>").attr({href:"#",tabindex:"-1",title:d.tooltips.decrementSecond}).addClass("btn").attr("data-action","decrementSeconds").append(a("<span>").addClass(d.icons.down))))),h||(b.append(a("<td>").addClass("separator")),c.append(a("<td>").append(a("<button>").addClass("btn btn-primary").attr({"data-action":"togglePeriod",tabindex:"-1",title:d.tooltips.togglePeriod}))),e.append(a("<td>").addClass("separator"))),a("<div>").addClass("timepicker-picker").append(a("<table>").addClass("table-condensed").append([b,c,e]))},E=function(){var b=a("<div>").addClass("timepicker-hours").append(a("<table>").addClass("table-condensed")),c=a("<div>").addClass("timepicker-minutes").append(a("<table>").addClass("table-condensed")),d=a("<div>").addClass("timepicker-seconds").append(a("<table>").addClass("table-condensed")),e=[D()];return z("h")&&e.push(b),z("m")&&e.push(c),z("s")&&e.push(d),e},F=function(){var b=[];return d.showTodayButton&&b.push(a("<td>").append(a("<a>").attr({"data-action":"today",title:d.tooltips.today}).append(a("<span>").addClass(d.icons.today)))),!d.sideBySide&&B()&&A()&&b.push(a("<td>").append(a("<a>").attr({"data-action":"togglePicker",title:d.tooltips.selectTime}).append(a("<span>").addClass(d.icons.time)))),d.showClear&&b.push(a("<td>").append(a("<a>").attr({"data-action":"clear",title:d.tooltips.clear}).append(a("<span>").addClass(d.icons.clear)))),d.showClose&&b.push(a("<td>").append(a("<a>").attr({"data-action":"close",title:d.tooltips.close}).append(a("<span>").addClass(d.icons.close)))),a("<table>").addClass("table-condensed").append(a("<tbody>").append(a("<tr>").append(b)))},G=function(){var b=a("<div>").addClass("bootstrap-datetimepicker-widget dropdown-menu"),c=a("<div>").addClass("datepicker").append(C()),e=a("<div>").addClass("timepicker").append(E()),f=a("<ul>").addClass("list-unstyled"),g=a("<li>").addClass("picker-switch"+(d.collapse?" accordion-toggle":"")).append(F());return d.inline&&b.removeClass("dropdown-menu"),h&&b.addClass("usetwentyfour"),z("s")&&!h&&b.addClass("wider"),d.sideBySide&&B()&&A()?(b.addClass("timepicker-sbs"),"top"===d.toolbarPlacement&&b.append(g),b.append(a("<div>").addClass("row").append(c.addClass("col-md-6")).append(e.addClass("col-md-6"))),"bottom"===d.toolbarPlacement&&b.append(g),b):("top"===d.toolbarPlacement&&f.append(g),B()&&f.append(a("<li>").addClass(d.collapse&&A()?"collapse in":"").append(c)),"default"===d.toolbarPlacement&&f.append(g),A()&&f.append(a("<li>").addClass(d.collapse&&B()?"collapse":"").append(e)),"bottom"===d.toolbarPlacement&&f.append(g),b.append(f))},H=function(){var b,e={};return b=c.is("input")||d.inline?c.data():c.find("input").data(),b.dateOptions&&b.dateOptions instanceof Object&&(e=a.extend(!0,e,b.dateOptions)),a.each(d,function(a){var c="date"+a.charAt(0).toUpperCase()+a.slice(1);void 0!==b[c]&&(e[a]=b[c])}),e},I=function(){var b,e=(n||c).position(),f=(n||c).offset(),g=d.widgetPositioning.vertical,h=d.widgetPositioning.horizontal;if(d.widgetParent)b=d.widgetParent.append(o);else if(c.is("input"))b=c.after(o).parent();else{if(d.inline)return void(b=c.append(o));b=c,c.children().first().after(o)}if("auto"===g&&(g=f.top+1.5*o.height()>=a(window).height()+a(window).scrollTop()&&o.height()+c.outerHeight()<f.top?"top":"bottom"),"auto"===h&&(h=b.width()<f.left+o.outerWidth()/2&&f.left+o.outerWidth()>a(window).width()?"right":"left"),"top"===g?o.addClass("top").removeClass("bottom"):o.addClass("bottom").removeClass("top"),"right"===h?o.addClass("pull-right"):o.removeClass("pull-right"),"static"===b.css("position")&&(b=b.parents().filter(function(){return"static"!==a(this).css("position")}).first()),0===b.length)throw new Error("datetimepicker component should be placed within a non-static positioned container");o.css({top:"top"===g?"auto":e.top+c.outerHeight(),bottom:"top"===g?b.outerHeight()-(b===c?0:e.top):"auto",left:"left"===h?b===c?0:e.left:"auto",right:"left"===h?"auto":b.outerWidth()-c.outerWidth()-(b===c?0:e.left)})},J=function(a){"dp.change"===a.type&&(a.date&&a.date.isSame(a.oldDate)||!a.date&&!a.oldDate)||c.trigger(a)},K=function(a){"y"===a&&(a="YYYY"),J({type:"dp.update",change:a,viewDate:f.clone()})},L=function(a){o&&(a&&(k=Math.max(p,Math.min(3,k+a))),o.find(".datepicker > div").hide().filter(".datepicker-"+q[k].clsName).show())},M=function(){var b=a("<tr>"),c=f.clone().startOf("w").startOf("d");for(d.calendarWeeks===!0&&b.append(a("<th>").addClass("cw").text("#"));c.isBefore(f.clone().endOf("w"));)b.append(a("<th>").addClass("dow").text(c.format("dd"))),c.add(1,"d");o.find(".datepicker-days thead").append(b)},N=function(a){return d.disabledDates[a.format("YYYY-MM-DD")]===!0},O=function(a){return d.enabledDates[a.format("YYYY-MM-DD")]===!0},P=function(a){return d.disabledHours[a.format("H")]===!0},Q=function(a){return d.enabledHours[a.format("H")]===!0},R=function(b,c){if(!b.isValid())return!1;if(d.disabledDates&&"d"===c&&N(b))return!1;if(d.enabledDates&&"d"===c&&!O(b))return!1;if(d.minDate&&b.isBefore(d.minDate,c))return!1;if(d.maxDate&&b.isAfter(d.maxDate,c))return!1;if(d.daysOfWeekDisabled&&"d"===c&&d.daysOfWeekDisabled.indexOf(b.day())!==-1)return!1;if(d.disabledHours&&("h"===c||"m"===c||"s"===c)&&P(b))return!1;if(d.enabledHours&&("h"===c||"m"===c||"s"===c)&&!Q(b))return!1;if(d.disabledTimeIntervals&&("h"===c||"m"===c||"s"===c)){var e=!1;if(a.each(d.disabledTimeIntervals,function(){if(b.isBetween(this[0],this[1]))return e=!0,!1}),e)return!1}return!0},S=function(){for(var b=[],c=f.clone().startOf("y").startOf("d");c.isSame(f,"y");)b.push(a("<span>").attr("data-action","selectMonth").addClass("month").text(c.format("MMM"))),c.add(1,"M");o.find(".datepicker-months td").empty().append(b)},T=function(){var b=o.find(".datepicker-months"),c=b.find("th"),g=b.find("tbody").find("span");c.eq(0).find("span").attr("title",d.tooltips.prevYear),c.eq(1).attr("title",d.tooltips.selectYear),c.eq(2).find("span").attr("title",d.tooltips.nextYear),b.find(".disabled").removeClass("disabled"),R(f.clone().subtract(1,"y"),"y")||c.eq(0).addClass("disabled"),c.eq(1).text(f.year()),R(f.clone().add(1,"y"),"y")||c.eq(2).addClass("disabled"),g.removeClass("active"),e.isSame(f,"y")&&!m&&g.eq(e.month()).addClass("active"),g.each(function(b){R(f.clone().month(b),"M")||a(this).addClass("disabled")})},U=function(){var a=o.find(".datepicker-years"),b=a.find("th"),c=f.clone().subtract(5,"y"),g=f.clone().add(6,"y"),h="";for(b.eq(0).find("span").attr("title",d.tooltips.prevDecade),b.eq(1).attr("title",d.tooltips.selectDecade),b.eq(2).find("span").attr("title",d.tooltips.nextDecade),a.find(".disabled").removeClass("disabled"),d.minDate&&d.minDate.isAfter(c,"y")&&b.eq(0).addClass("disabled"),b.eq(1).text(c.year()+"-"+g.year()),d.maxDate&&d.maxDate.isBefore(g,"y")&&b.eq(2).addClass("disabled");!c.isAfter(g,"y");)h+='<span data-action="selectYear" class="year'+(c.isSame(e,"y")&&!m?" active":"")+(R(c,"y")?"":" disabled")+'">'+c.year()+"</span>",c.add(1,"y");a.find("td").html(h)},V=function(){var a,c=o.find(".datepicker-decades"),g=c.find("th"),h=b({y:f.year()-f.year()%100-1}),i=h.clone().add(100,"y"),j=h.clone(),k=!1,l=!1,m="";for(g.eq(0).find("span").attr("title",d.tooltips.prevCentury),g.eq(2).find("span").attr("title",d.tooltips.nextCentury),c.find(".disabled").removeClass("disabled"),(h.isSame(b({y:1900}))||d.minDate&&d.minDate.isAfter(h,"y"))&&g.eq(0).addClass("disabled"),g.eq(1).text(h.year()+"-"+i.year()),(h.isSame(b({y:2e3}))||d.maxDate&&d.maxDate.isBefore(i,"y"))&&g.eq(2).addClass("disabled");!h.isAfter(i,"y");)a=h.year()+12,k=d.minDate&&d.minDate.isAfter(h,"y")&&d.minDate.year()<=a,l=d.maxDate&&d.maxDate.isAfter(h,"y")&&d.maxDate.year()<=a,m+='<span data-action="selectDecade" class="decade'+(e.isAfter(h)&&e.year()<=a?" active":"")+(R(h,"y")||k||l?"":" disabled")+'" data-selection="'+(h.year()+6)+'">'+(h.year()+1)+" - "+(h.year()+12)+"</span>",h.add(12,"y");m+="<span></span><span></span><span></span>",c.find("td").html(m),g.eq(1).text(j.year()+1+"-"+h.year())},W=function(){var b,c,g,h=o.find(".datepicker-days"),i=h.find("th"),j=[],k=[];if(B()){for(i.eq(0).find("span").attr("title",d.tooltips.prevMonth),i.eq(1).attr("title",d.tooltips.selectMonth),i.eq(2).find("span").attr("title",d.tooltips.nextMonth),h.find(".disabled").removeClass("disabled"),i.eq(1).text(f.format(d.dayViewHeaderFormat)),R(f.clone().subtract(1,"M"),"M")||i.eq(0).addClass("disabled"),R(f.clone().add(1,"M"),"M")||i.eq(2).addClass("disabled"),b=f.clone().startOf("M").startOf("w").startOf("d"),g=0;g<42;g++)0===b.weekday()&&(c=a("<tr>"),d.calendarWeeks&&c.append('<td class="cw">'+b.week()+"</td>"),j.push(c)),k=["day"],b.isBefore(f,"M")&&k.push("old"),b.isAfter(f,"M")&&k.push("new"),b.isSame(e,"d")&&!m&&k.push("active"),R(b,"d")||k.push("disabled"),b.isSame(y(),"d")&&k.push("today"),0!==b.day()&&6!==b.day()||k.push("weekend"),J({type:"dp.classify",date:b,classNames:k}),c.append('<td data-action="selectDay" data-day="'+b.format("L")+'" class="'+k.join(" ")+'">'+b.date()+"</td>"),b.add(1,"d");h.find("tbody").empty().append(j),T(),U(),V()}},X=function(){var b=o.find(".timepicker-hours table"),c=f.clone().startOf("d"),d=[],e=a("<tr>");for(f.hour()>11&&!h&&c.hour(12);c.isSame(f,"d")&&(h||f.hour()<12&&c.hour()<12||f.hour()>11);)c.hour()%4===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectHour" class="hour'+(R(c,"h")?"":" disabled")+'">'+c.format(h?"HH":"hh")+"</td>"),c.add(1,"h");b.empty().append(d)},Y=function(){for(var b=o.find(".timepicker-minutes table"),c=f.clone().startOf("h"),e=[],g=a("<tr>"),h=1===d.stepping?5:d.stepping;f.isSame(c,"h");)c.minute()%(4*h)===0&&(g=a("<tr>"),e.push(g)),g.append('<td data-action="selectMinute" class="minute'+(R(c,"m")?"":" disabled")+'">'+c.format("mm")+"</td>"),c.add(h,"m");b.empty().append(e)},Z=function(){for(var b=o.find(".timepicker-seconds table"),c=f.clone().startOf("m"),d=[],e=a("<tr>");f.isSame(c,"m");)c.second()%20===0&&(e=a("<tr>"),d.push(e)),e.append('<td data-action="selectSecond" class="second'+(R(c,"s")?"":" disabled")+'">'+c.format("ss")+"</td>"),c.add(5,"s");b.empty().append(d)},$=function(){var a,b,c=o.find(".timepicker span[data-time-component]");h||(a=o.find(".timepicker [data-action=togglePeriod]"),b=e.clone().add(e.hours()>=12?-12:12,"h"),a.text(e.format("A")),R(b,"h")?a.removeClass("disabled"):a.addClass("disabled")),c.filter("[data-time-component=hours]").text(e.format(h?"HH":"hh")),c.filter("[data-time-component=minutes]").text(e.format("mm")),c.filter("[data-time-component=seconds]").text(e.format("ss")),X(),Y(),Z()},_=function(){o&&(W(),$())},aa=function(a){var b=m?null:e;if(!a)return m=!0,g.val(""),c.data("date",""),J({type:"dp.change",date:!1,oldDate:b}),void _();if(a=a.clone().locale(d.locale),x()&&a.tz(d.timeZone),1!==d.stepping)for(a.minutes(Math.round(a.minutes()/d.stepping)*d.stepping).seconds(0);d.minDate&&a.isBefore(d.minDate);)a.add(d.stepping,"minutes");R(a)?(e=a,f=e.clone(),g.val(e.format(i)),c.data("date",e.format(i)),m=!1,_(),J({type:"dp.change",date:e.clone(),oldDate:b})):(d.keepInvalid?J({type:"dp.change",date:a,oldDate:b}):g.val(m?"":e.format(i)),J({type:"dp.error",date:a,oldDate:b}))},ba=function(){var b=!1;return o?(o.find(".collapse").each(function(){var c=a(this).data("collapse");return!c||!c.transitioning||(b=!0,!1)}),b?l:(n&&n.hasClass("btn")&&n.toggleClass("active"),o.hide(),a(window).off("resize",I),o.off("click","[data-action]"),o.off("mousedown",!1),o.remove(),o=!1,J({type:"dp.hide",date:e.clone()}),g.blur(),f=e.clone(),l)):l},ca=function(){aa(null)},da=function(a){return void 0===d.parseInputDate?(!b.isMoment(a)||a instanceof Date)&&(a=y(a)):a=d.parseInputDate(a),a},ea={next:function(){var a=q[k].navFnc;f.add(q[k].navStep,a),W(),K(a)},previous:function(){var a=q[k].navFnc;f.subtract(q[k].navStep,a),W(),K(a)},pickerSwitch:function(){L(1)},selectMonth:function(b){var c=a(b.target).closest("tbody").find("span").index(a(b.target));f.month(c),k===p?(aa(e.clone().year(f.year()).month(f.month())),d.inline||ba()):(L(-1),W()),K("M")},selectYear:function(b){var c=parseInt(a(b.target).text(),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDecade:function(b){var c=parseInt(a(b.target).data("selection"),10)||0;f.year(c),k===p?(aa(e.clone().year(f.year())),d.inline||ba()):(L(-1),W()),K("YYYY")},selectDay:function(b){var c=f.clone();a(b.target).is(".old")&&c.subtract(1,"M"),a(b.target).is(".new")&&c.add(1,"M"),aa(c.date(parseInt(a(b.target).text(),10))),A()||d.keepOpen||d.inline||ba()},incrementHours:function(){var a=e.clone().add(1,"h");R(a,"h")&&aa(a)},incrementMinutes:function(){var a=e.clone().add(d.stepping,"m");R(a,"m")&&aa(a)},incrementSeconds:function(){var a=e.clone().add(1,"s");R(a,"s")&&aa(a)},decrementHours:function(){var a=e.clone().subtract(1,"h");R(a,"h")&&aa(a)},decrementMinutes:function(){var a=e.clone().subtract(d.stepping,"m");R(a,"m")&&aa(a)},decrementSeconds:function(){var a=e.clone().subtract(1,"s");R(a,"s")&&aa(a)},togglePeriod:function(){aa(e.clone().add(e.hours()>=12?-12:12,"h"))},togglePicker:function(b){var c,e=a(b.target),f=e.closest("ul"),g=f.find(".in"),h=f.find(".collapse:not(.in)");if(g&&g.length){if(c=g.data("collapse"),c&&c.transitioning)return;g.collapse?(g.collapse("hide"),h.collapse("show")):(g.removeClass("in"),h.addClass("in")),e.is("span")?e.toggleClass(d.icons.time+" "+d.icons.date):e.find("span").toggleClass(d.icons.time+" "+d.icons.date)}},showPicker:function(){o.find(".timepicker > div:not(.timepicker-picker)").hide(),o.find(".timepicker .timepicker-picker").show()},showHours:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-hours").show()},showMinutes:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-minutes").show()},showSeconds:function(){o.find(".timepicker .timepicker-picker").hide(),o.find(".timepicker .timepicker-seconds").show()},selectHour:function(b){var c=parseInt(a(b.target).text(),10);h||(e.hours()>=12?12!==c&&(c+=12):12===c&&(c=0)),aa(e.clone().hours(c)),ea.showPicker.call(l)},selectMinute:function(b){aa(e.clone().minutes(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},selectSecond:function(b){aa(e.clone().seconds(parseInt(a(b.target).text(),10))),ea.showPicker.call(l)},clear:ca,today:function(){var a=y();R(a,"d")&&aa(a)},close:ba},fa=function(b){return!a(b.currentTarget).is(".disabled")&&(ea[a(b.currentTarget).data("action")].apply(l,arguments),!1)},ga=function(){var b,c={year:function(a){return a.month(0).date(1).hours(0).seconds(0).minutes(0)},month:function(a){return a.date(1).hours(0).seconds(0).minutes(0)},day:function(a){return a.hours(0).seconds(0).minutes(0)},hour:function(a){return a.seconds(0).minutes(0)},minute:function(a){return a.seconds(0)}};return g.prop("disabled")||!d.ignoreReadonly&&g.prop("readonly")||o?l:(void 0!==g.val()&&0!==g.val().trim().length?aa(da(g.val().trim())):m&&d.useCurrent&&(d.inline||g.is("input")&&0===g.val().trim().length)&&(b=y(),"string"==typeof d.useCurrent&&(b=c[d.useCurrent](b)),aa(b)),o=G(),M(),S(),o.find(".timepicker-hours").hide(),o.find(".timepicker-minutes").hide(),o.find(".timepicker-seconds").hide(),_(),L(),a(window).on("resize",I),o.on("click","[data-action]",fa),o.on("mousedown",!1),n&&n.hasClass("btn")&&n.toggleClass("active"),I(),o.show(),d.focusOnShow&&!g.is(":focus")&&g.focus(),J({type:"dp.show"}),l)},ha=function(){return o?ba():ga()},ia=function(a){var b,c,e,f,g=null,h=[],i={},j=a.which,k="p";w[j]=k;for(b in w)w.hasOwnProperty(b)&&w[b]===k&&(h.push(b),parseInt(b,10)!==j&&(i[b]=!0));for(b in d.keyBinds)if(d.keyBinds.hasOwnProperty(b)&&"function"==typeof d.keyBinds[b]&&(e=b.split(" "),e.length===h.length&&v[j]===e[e.length-1])){for(f=!0,c=e.length-2;c>=0;c--)if(!(v[e[c]]in i)){f=!1;break}if(f){g=d.keyBinds[b];break}}g&&(g.call(l,o),a.stopPropagation(),a.preventDefault())},ja=function(a){w[a.which]="r",a.stopPropagation(),a.preventDefault()},ka=function(b){var c=a(b.target).val().trim(),d=c?da(c):null;return aa(d),b.stopImmediatePropagation(),!1},la=function(){g.on({change:ka,blur:d.debug?"":ba,keydown:ia,keyup:ja,focus:d.allowInputToggle?ga:""}),c.is("input")?g.on({focus:ga}):n&&(n.on("click",ha),n.on("mousedown",!1))},ma=function(){g.off({change:ka,blur:blur,keydown:ia,keyup:ja,focus:d.allowInputToggle?ba:""}),c.is("input")?g.off({focus:ga}):n&&(n.off("click",ha),n.off("mousedown",!1))},na=function(b){var c={};return a.each(b,function(){var a=da(this);a.isValid()&&(c[a.format("YYYY-MM-DD")]=!0)}),!!Object.keys(c).length&&c},oa=function(b){var c={};return a.each(b,function(){c[this]=!0}),!!Object.keys(c).length&&c},pa=function(){var a=d.format||"L LT";i=a.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){var b=e.localeData().longDateFormat(a)||a;return b.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,function(a){return e.localeData().longDateFormat(a)||a})}),j=d.extraFormats?d.extraFormats.slice():[],j.indexOf(a)<0&&j.indexOf(i)<0&&j.push(i),h=i.toLowerCase().indexOf("a")<1&&i.replace(/\[.*?\]/g,"").indexOf("h")<1,z("y")&&(p=2),z("M")&&(p=1),z("d")&&(p=0),k=Math.max(p,k),m||aa(e)};if(l.destroy=function(){ba(),ma(),c.removeData("DateTimePicker"),c.removeData("date")},l.toggle=ha,l.show=ga,l.hide=ba,l.disable=function(){return ba(),n&&n.hasClass("btn")&&n.addClass("disabled"),g.prop("disabled",!0),l},l.enable=function(){return n&&n.hasClass("btn")&&n.removeClass("disabled"),g.prop("disabled",!1),l},l.ignoreReadonly=function(a){if(0===arguments.length)return d.ignoreReadonly;if("boolean"!=typeof a)throw new TypeError("ignoreReadonly () expects a boolean parameter");return d.ignoreReadonly=a,l},l.options=function(b){if(0===arguments.length)return a.extend(!0,{},d);if(!(b instanceof Object))throw new TypeError("options() options parameter should be an object");return a.extend(!0,d,b),a.each(d,function(a,b){if(void 0===l[a])throw new TypeError("option "+a+" is not recognized!");l[a](b)}),l},l.date=function(a){if(0===arguments.length)return m?null:e.clone();if(!(null===a||"string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("date() parameter must be one of [null, string, moment or Date]");return aa(null===a?null:da(a)),l},l.format=function(a){if(0===arguments.length)return d.format;if("string"!=typeof a&&("boolean"!=typeof a||a!==!1))throw new TypeError("format() expects a string or boolean:false parameter "+a);return d.format=a,i&&pa(),l},l.timeZone=function(a){if(0===arguments.length)return d.timeZone;if("string"!=typeof a)throw new TypeError("newZone() expects a string parameter");return d.timeZone=a,l},l.dayViewHeaderFormat=function(a){if(0===arguments.length)return d.dayViewHeaderFormat;if("string"!=typeof a)throw new TypeError("dayViewHeaderFormat() expects a string parameter");return d.dayViewHeaderFormat=a,l},l.extraFormats=function(a){if(0===arguments.length)return d.extraFormats;if(a!==!1&&!(a instanceof Array))throw new TypeError("extraFormats() expects an array or false parameter");return d.extraFormats=a,j&&pa(),l},l.disabledDates=function(b){if(0===arguments.length)return d.disabledDates?a.extend({},d.disabledDates):d.disabledDates;if(!b)return d.disabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledDates() expects an array parameter");return d.disabledDates=na(b),d.enabledDates=!1,_(),l},l.enabledDates=function(b){if(0===arguments.length)return d.enabledDates?a.extend({},d.enabledDates):d.enabledDates;if(!b)return d.enabledDates=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledDates() expects an array parameter");return d.enabledDates=na(b),d.disabledDates=!1,_(),l},l.daysOfWeekDisabled=function(a){if(0===arguments.length)return d.daysOfWeekDisabled.splice(0);if("boolean"==typeof a&&!a)return d.daysOfWeekDisabled=!1,_(),l;if(!(a instanceof Array))throw new TypeError("daysOfWeekDisabled() expects an array parameter");if(d.daysOfWeekDisabled=a.reduce(function(a,b){return b=parseInt(b,10),b>6||b<0||isNaN(b)?a:(a.indexOf(b)===-1&&a.push(b),a)},[]).sort(),d.useCurrent&&!d.keepInvalid){for(var b=0;!R(e,"d");){if(e.add(1,"d"),31===b)throw"Tried 31 times to find a valid date";b++}aa(e)}return _(),l},l.maxDate=function(a){if(0===arguments.length)return d.maxDate?d.maxDate.clone():d.maxDate;if("boolean"==typeof a&&a===!1)return d.maxDate=!1,_(),l;"string"==typeof a&&("now"!==a&&"moment"!==a||(a=y()));var b=da(a);if(!b.isValid())throw new TypeError("maxDate() Could not parse date parameter: "+a);if(d.minDate&&b.isBefore(d.minDate))throw new TypeError("maxDate() date parameter is before options.minDate: "+b.format(i));return d.maxDate=b,d.useCurrent&&!d.keepInvalid&&e.isAfter(a)&&aa(d.maxDate),f.isAfter(b)&&(f=b.clone().subtract(d.stepping,"m")),_(),l},l.minDate=function(a){if(0===arguments.length)return d.minDate?d.minDate.clone():d.minDate;if("boolean"==typeof a&&a===!1)return d.minDate=!1,_(),l;"string"==typeof a&&("now"!==a&&"moment"!==a||(a=y()));var b=da(a);if(!b.isValid())throw new TypeError("minDate() Could not parse date parameter: "+a);if(d.maxDate&&b.isAfter(d.maxDate))throw new TypeError("minDate() date parameter is after options.maxDate: "+b.format(i));return d.minDate=b,d.useCurrent&&!d.keepInvalid&&e.isBefore(a)&&aa(d.minDate),f.isBefore(b)&&(f=b.clone().add(d.stepping,"m")),_(),l},l.defaultDate=function(a){if(0===arguments.length)return d.defaultDate?d.defaultDate.clone():d.defaultDate;if(!a)return d.defaultDate=!1,l;"string"==typeof a&&(a="now"===a||"moment"===a?y():y(a));var b=da(a);if(!b.isValid())throw new TypeError("defaultDate() Could not parse date parameter: "+a);if(!R(b))throw new TypeError("defaultDate() date passed is invalid according to component setup validations");return d.defaultDate=b,(d.defaultDate&&d.inline||""===g.val().trim())&&aa(d.defaultDate),l},l.locale=function(a){if(0===arguments.length)return d.locale;if(!b.localeData(a))throw new TypeError("locale() locale "+a+" is not loaded from moment locales!");return d.locale=a,e.locale(d.locale),f.locale(d.locale),i&&pa(),o&&(ba(),ga()),l},l.stepping=function(a){return 0===arguments.length?d.stepping:(a=parseInt(a,10),(isNaN(a)||a<1)&&(a=1),d.stepping=a,l)},l.useCurrent=function(a){var b=["year","month","day","hour","minute"];if(0===arguments.length)return d.useCurrent;if("boolean"!=typeof a&&"string"!=typeof a)throw new TypeError("useCurrent() expects a boolean or string parameter");if("string"==typeof a&&b.indexOf(a.toLowerCase())===-1)throw new TypeError("useCurrent() expects a string parameter of "+b.join(", "));return d.useCurrent=a,l},l.collapse=function(a){if(0===arguments.length)return d.collapse;if("boolean"!=typeof a)throw new TypeError("collapse() expects a boolean parameter");return d.collapse===a?l:(d.collapse=a,o&&(ba(),ga()),l)},l.icons=function(b){if(0===arguments.length)return a.extend({},d.icons);if(!(b instanceof Object))throw new TypeError("icons() expects parameter to be an Object");return a.extend(d.icons,b),o&&(ba(),ga()),l},l.tooltips=function(b){if(0===arguments.length)return a.extend({},d.tooltips);if(!(b instanceof Object))throw new TypeError("tooltips() expects parameter to be an Object");return a.extend(d.tooltips,b),o&&(ba(),ga()),l},l.useStrict=function(a){if(0===arguments.length)return d.useStrict;if("boolean"!=typeof a)throw new TypeError("useStrict() expects a boolean parameter");return d.useStrict=a,l},l.sideBySide=function(a){if(0===arguments.length)return d.sideBySide;if("boolean"!=typeof a)throw new TypeError("sideBySide() expects a boolean parameter");return d.sideBySide=a,o&&(ba(),ga()),l},l.viewMode=function(a){if(0===arguments.length)return d.viewMode;if("string"!=typeof a)throw new TypeError("viewMode() expects a string parameter");if(r.indexOf(a)===-1)throw new TypeError("viewMode() parameter must be one of ("+r.join(", ")+") value");return d.viewMode=a,k=Math.max(r.indexOf(a),p),L(),l},l.toolbarPlacement=function(a){if(0===arguments.length)return d.toolbarPlacement;if("string"!=typeof a)throw new TypeError("toolbarPlacement() expects a string parameter");if(u.indexOf(a)===-1)throw new TypeError("toolbarPlacement() parameter must be one of ("+u.join(", ")+") value");return d.toolbarPlacement=a,o&&(ba(),ga()),l},l.widgetPositioning=function(b){if(0===arguments.length)return a.extend({},d.widgetPositioning);if("[object Object]"!=={}.toString.call(b))throw new TypeError("widgetPositioning() expects an object variable");if(b.horizontal){if("string"!=typeof b.horizontal)throw new TypeError("widgetPositioning() horizontal variable must be a string");if(b.horizontal=b.horizontal.toLowerCase(),t.indexOf(b.horizontal)===-1)throw new TypeError("widgetPositioning() expects horizontal parameter to be one of ("+t.join(", ")+")");d.widgetPositioning.horizontal=b.horizontal}if(b.vertical){if("string"!=typeof b.vertical)throw new TypeError("widgetPositioning() vertical variable must be a string");if(b.vertical=b.vertical.toLowerCase(),s.indexOf(b.vertical)===-1)throw new TypeError("widgetPositioning() expects vertical parameter to be one of ("+s.join(", ")+")");d.widgetPositioning.vertical=b.vertical}return _(),l},l.calendarWeeks=function(a){if(0===arguments.length)return d.calendarWeeks;if("boolean"!=typeof a)throw new TypeError("calendarWeeks() expects parameter to be a boolean value");return d.calendarWeeks=a,_(),l},l.showTodayButton=function(a){if(0===arguments.length)return d.showTodayButton;if("boolean"!=typeof a)throw new TypeError("showTodayButton() expects a boolean parameter");return d.showTodayButton=a,o&&(ba(),ga()),l},l.showClear=function(a){if(0===arguments.length)return d.showClear;if("boolean"!=typeof a)throw new TypeError("showClear() expects a boolean parameter");return d.showClear=a,o&&(ba(),ga()),l},l.widgetParent=function(b){if(0===arguments.length)return d.widgetParent;if("string"==typeof b&&(b=a(b)),null!==b&&"string"!=typeof b&&!(b instanceof a))throw new TypeError("widgetParent() expects a string or a jQuery object parameter");return d.widgetParent=b,o&&(ba(),ga()),l},l.keepOpen=function(a){if(0===arguments.length)return d.keepOpen;if("boolean"!=typeof a)throw new TypeError("keepOpen() expects a boolean parameter");return d.keepOpen=a,l},l.focusOnShow=function(a){if(0===arguments.length)return d.focusOnShow;if("boolean"!=typeof a)throw new TypeError("focusOnShow() expects a boolean parameter");return d.focusOnShow=a,l},l.inline=function(a){if(0===arguments.length)return d.inline;if("boolean"!=typeof a)throw new TypeError("inline() expects a boolean parameter");return d.inline=a,l},l.clear=function(){return ca(),l},l.keyBinds=function(a){return 0===arguments.length?d.keyBinds:(d.keyBinds=a,l)},l.getMoment=function(a){return y(a)},l.debug=function(a){if("boolean"!=typeof a)throw new TypeError("debug() expects a boolean parameter");return d.debug=a,l},l.allowInputToggle=function(a){if(0===arguments.length)return d.allowInputToggle;if("boolean"!=typeof a)throw new TypeError("allowInputToggle() expects a boolean parameter");return d.allowInputToggle=a,l},l.showClose=function(a){if(0===arguments.length)return d.showClose;if("boolean"!=typeof a)throw new TypeError("showClose() expects a boolean parameter");return d.showClose=a,l},l.keepInvalid=function(a){if(0===arguments.length)return d.keepInvalid;if("boolean"!=typeof a)throw new TypeError("keepInvalid() expects a boolean parameter");
+return d.keepInvalid=a,l},l.datepickerInput=function(a){if(0===arguments.length)return d.datepickerInput;if("string"!=typeof a)throw new TypeError("datepickerInput() expects a string parameter");return d.datepickerInput=a,l},l.parseInputDate=function(a){if(0===arguments.length)return d.parseInputDate;if("function"!=typeof a)throw new TypeError("parseInputDate() sholud be as function");return d.parseInputDate=a,l},l.disabledTimeIntervals=function(b){if(0===arguments.length)return d.disabledTimeIntervals?a.extend({},d.disabledTimeIntervals):d.disabledTimeIntervals;if(!b)return d.disabledTimeIntervals=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledTimeIntervals() expects an array parameter");return d.disabledTimeIntervals=b,_(),l},l.disabledHours=function(b){if(0===arguments.length)return d.disabledHours?a.extend({},d.disabledHours):d.disabledHours;if(!b)return d.disabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("disabledHours() expects an array parameter");if(d.disabledHours=oa(b),d.enabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.enabledHours=function(b){if(0===arguments.length)return d.enabledHours?a.extend({},d.enabledHours):d.enabledHours;if(!b)return d.enabledHours=!1,_(),l;if(!(b instanceof Array))throw new TypeError("enabledHours() expects an array parameter");if(d.enabledHours=oa(b),d.disabledHours=!1,d.useCurrent&&!d.keepInvalid){for(var c=0;!R(e,"h");){if(e.add(1,"h"),24===c)throw"Tried 24 times to find a valid date";c++}aa(e)}return _(),l},l.viewDate=function(a){if(0===arguments.length)return f.clone();if(!a)return f=e.clone(),l;if(!("string"==typeof a||b.isMoment(a)||a instanceof Date))throw new TypeError("viewDate() parameter must be one of [string, moment or Date]");return f=da(a),K(),l},c.is("input"))g=c;else if(g=c.find(d.datepickerInput),0===g.length)g=c.find("input");else if(!g.is("input"))throw new Error('CSS class "'+d.datepickerInput+'" cannot be applied to non input element');if(c.hasClass("input-group")&&(n=0===c.find(".datepickerbutton").length?c.find(".input-group-addon"):c.find(".datepickerbutton")),!d.inline&&!g.is("input"))throw new Error("Could not initialize DateTimePicker without an input element");return e=y(),f=e.clone(),a.extend(!0,d,H()),l.options(d),pa(),la(),g.prop("disabled")&&l.disable(),g.is("input")&&0!==g.val().trim().length?aa(da(g.val().trim())):d.defaultDate&&void 0===g.attr("placeholder")&&aa(d.defaultDate),d.inline&&ga(),l};return a.fn.datetimepicker=function(b){b=b||{};var d,e=Array.prototype.slice.call(arguments,1),f=!0,g=["destroy","hide","show","toggle"];if("object"==typeof b)return this.each(function(){var d,e=a(this);e.data("DateTimePicker")||(d=a.extend(!0,{},a.fn.datetimepicker.defaults,b),e.data("DateTimePicker",c(e,d)))});if("string"==typeof b)return this.each(function(){var c=a(this),g=c.data("DateTimePicker");if(!g)throw new Error('bootstrap-datetimepicker("'+b+'") method was called on an element that is not using DateTimePicker');d=g[b].apply(g,e),f=d===g}),f||a.inArray(b,g)>-1?this:d;throw new TypeError("Invalid arguments for DateTimePicker: "+b)},a.fn.datetimepicker.defaults={timeZone:"",format:!1,dayViewHeaderFormat:"MMMM YYYY",extraFormats:!1,stepping:1,minDate:!1,maxDate:!1,useCurrent:!0,collapse:!0,locale:b.locale(),defaultDate:!1,disabledDates:!1,enabledDates:!1,icons:{time:"glyphicon glyphicon-time",date:"glyphicon glyphicon-calendar",up:"glyphicon glyphicon-chevron-up",down:"glyphicon glyphicon-chevron-down",previous:"glyphicon glyphicon-chevron-left",next:"glyphicon glyphicon-chevron-right",today:"glyphicon glyphicon-screenshot",clear:"glyphicon glyphicon-trash",close:"glyphicon glyphicon-remove"},tooltips:{today:"Go to today",clear:"Clear selection",close:"Close the picker",selectMonth:"Select Month",prevMonth:"Previous Month",nextMonth:"Next Month",selectYear:"Select Year",prevYear:"Previous Year",nextYear:"Next Year",selectDecade:"Select Decade",prevDecade:"Previous Decade",nextDecade:"Next Decade",prevCentury:"Previous Century",nextCentury:"Next Century",pickHour:"Pick Hour",incrementHour:"Increment Hour",decrementHour:"Decrement Hour",pickMinute:"Pick Minute",incrementMinute:"Increment Minute",decrementMinute:"Decrement Minute",pickSecond:"Pick Second",incrementSecond:"Increment Second",decrementSecond:"Decrement Second",togglePeriod:"Toggle Period",selectTime:"Select Time"},useStrict:!1,sideBySide:!1,daysOfWeekDisabled:!1,calendarWeeks:!1,viewMode:"days",toolbarPlacement:"default",showTodayButton:!1,showClear:!1,showClose:!1,widgetPositioning:{horizontal:"auto",vertical:"auto"},widgetParent:null,ignoreReadonly:!1,keepOpen:!1,focusOnShow:!0,inline:!1,keepInvalid:!1,datepickerInput:".datepickerinput",keyBinds:{up:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(7,"d")):this.date(b.clone().add(this.stepping(),"m"))}},down:function(a){if(!a)return void this.show();var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(7,"d")):this.date(b.clone().subtract(this.stepping(),"m"))},"control up":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().subtract(1,"y")):this.date(b.clone().add(1,"h"))}},"control down":function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")?this.date(b.clone().add(1,"y")):this.date(b.clone().subtract(1,"h"))}},left:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"d"))}},right:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"d"))}},pageUp:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().subtract(1,"M"))}},pageDown:function(a){if(a){var b=this.date()||this.getMoment();a.find(".datepicker").is(":visible")&&this.date(b.clone().add(1,"M"))}},enter:function(){this.hide()},escape:function(){this.hide()},"control space":function(a){a&&a.find(".timepicker").is(":visible")&&a.find('.btn[data-action="togglePeriod"]').click()},t:function(){this.date(this.getMoment())},delete:function(){this.clear()}},debug:!1,allowInputToggle:!1,disabledTimeIntervals:!1,disabledHours:!1,enabledHours:!1,viewDate:!1},a.fn.datetimepicker});
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/component.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/component.json
new file mode 100644
index 0000000..817d7d9
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/component.json
@@ -0,0 +1,9 @@
+{
+  "name": "bootstrap-datetimepicker",
+  "version": "4.17.47",
+  "main": ["build/css/bootstrap-datetimepicker.min.css","build/js/bootstrap-datetimepicker.min.js"],
+  "dependencies": {
+    "jquery" : ">=1.8.3",
+	"moment": ">=2.10.5"
+  }
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json
new file mode 100644
index 0000000..6f1f44a
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/composer.json
@@ -0,0 +1,28 @@
+{
+  "name": "eonasdan/bootstrap-datetimepicker",
+  "type": "component",
+  "version": "4.17.47",
+  "description": "Date/time picker widget based on twitter bootstrap",
+  "keywords": [
+    "bootstrap",
+    "datetimepicker"
+  ],
+  "homepage": "http://eonasdan.github.io/bootstrap-datetimepicker/",
+  "license": "MIT",
+  "require": {
+    "robloach/component-installer": "*",
+    "components/jquery": ">=1.9.1",
+    "moment/moment": ">=2.10.5"
+  },
+  "extra": {
+    "component": {
+      "scripts": [
+        "src/js/bootstrap-datetimepicker.js"
+      ],
+      "files": [
+        "build/js/bootstrap-datetimepicker.min.js",
+        "build/css/bootstrap-datetimepicker.min.css"
+      ]
+    }
+  }
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md
new file mode 100644
index 0000000..9e20323
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ChangeLog.md
@@ -0,0 +1,237 @@
+# Version 4
+
+## 4.17.42
+
+### Bug Squashing
+
+* fixed moment dependencies to all be the same
+* defaulted `option.timeZone` to `''` instead of UTC. This way it will default to the local timezone if it's not set.
+* fixed #959
+* fixed #1311 internal `getMoment` function no longer sets `startOf('d')`
+* fixed #935
+
+### Other
+
+* moved some (will move the rest soon) inline docs to JSDoc now that ReSharper supports it.
+* moved getter/setter functions to options page instead. #1313
+
+## 4.17.37
+
+### New Features
+
+* Momentjs TZ intergration #1242 thanks @bodrick
+* Independent CSS file, in case you don't want bootstrap for some reason
+
+### Bug Squashing
+
+* Slight changes decade view
+* Moved all tooltip text to `tooltips`
+* fixed #1212
+
+## 4.15.35
+
+### New Features
+
+`tooltips` allows custom, localized text to be included for icon tooltips
+
+### Bug Squashing
+
+fixed #1066
+
+fixed #1087 `sideBySide` properly supports `toolbarPlacement [top, bottom]`
+
+fixed #1119 
+
+fixed #1069 added input.blur()
+
+fixed #1049 fixed doc example 
+
+fixed #999 picker now looks for an element with `.input-group-addon`
+
+
+## 4.14.30
+
+### New Features
+
+`disabledTimeIntervals` #644
+
+`allowInputToggle` #929
+
+`focusOnShow` #884
+
+public `viewDate` function #872
+
+`enabledHours` and `disabledHours`.
+
+`dp.update` fires when `viewDate` is changed (in most cases) #937
+
+`viewMode` now supports a decades view. 
+
+   **Note**: because the year picker shows 12 years at a time, I've elected to make this view show blocks of 12 years
+
+   **Note**: when selecting a decade the `viewDate` will change to the **center** of the selected years
+
+`parseInputDate` #1095
+
+### Bug Squashing
+
+fixed #815 by adding `.wider` when using both seconds and am/pm.
+
+fixed #816 changed both min/max date to move the selected date inside.
+
+fixed #855 #881 `fillDate`, `fillMonths`, `fillDow` uses `startOf('day')`, which will hopefully fix the DST issues.
+
+fixed #885 `daysOfWeekDisabled` will move the date to a valid date if `useCurrent` is `true`. Today button will check if the DoW is disabled.
+
+fixed #906
+
+fixed #912 if `useCurrent:false` month and year view will no longer have the current month/year selected.
+
+fixed #914 `use24hours` will ignore anything in side of `[]` in the format string.
+
+fixed #916 added titles to all icons. At some point the text should be moved to the icon's array, but this would probably be a breaking change.
+
+fixed #940 added -1 tab index to am/pm selector
+
+### Other Changes
+
+changed in/decrement behavior to check if the new date is valid at that granularity (hours, minutes, seconds). will also validate as before
+
+## 4.7.14
+
+Added several in new features:
+    
+    `keybinds`, `inline`, `debug`, `clear()`, `showClose`, `ingoreReadOnly`, `datepickerInput` and `keepInvalid`.
+
+Bug squashing
+
+## 4.0.0
+
+#### Changes for using the component
+
+* Defined a [Public API](https://github.com/Eonasdan/bootstrap-datetimepicker/wiki/Version-4-Public-API) and hidden rest of functions, variables so that all configuration options can be changed dynamically.
+
+* `set/getDate()` is now replaced with an overloaded `date()` function. Use it without a parameter to get the currently set date or with a parameter to set the date.
+
+* `hide()`, `show()`, `toggle()`, `enable()`, `disable()` and the rest of setter functions now support chaining. ie `$('#id').data('DateTimePicker').format('DD-MM-YYYY').minDate(moment()).defaultDate(moment()).show()` works
+
+* Replaced previous - next buttons in Date subviews with configurable icons
+
+* Changed `language` option name to `locale` to be inline with moment naming
+
+* Implemented #402 all data-date-* variables are more readable and also match with the ones in the configuration object
+
+* `options.direction` and `options.orientation` were merged into a single object `options.widgetPositioning` with `vertical` and `horizontal` keys that take a string value of `'auto', 'top', 'bottom'` and `'auto', 'left', 'right'` respectively. Note that the `'up'` option was renamed to `'top'`
+
+#### Added functionality
+
+* added a second way to define options as data attributes. Instead of adding distinct `data-date-*` config options you can now also pass a `data-date-options` attribute containing an object just the same as the options object that `element.datetimepicker` constructor call takes
+
+* also added a `options()` public api function to get/set that takes an option object and applies it to the component in one call
+
+* Implemented [#130](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/130) by introducing a boolean `options.calendarWeeks` and `calendarWeeks()` api function
+
+* Implemented [#328](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/328), [#426](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/426)
+
+* Implemented [#432](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/432). Widget DOM element is now lazily added only when shown and removed from the document when hidden.
+
+* Implemented [#141](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/141) and [#283](https://github.com/Eonasdan/bootstrap-datetimepicker/issues/283)
+
+
+#### Contributors related internal code changes
+
+* Refactor all UI click functions and put them as functions in the actions array private variable
+
+* Refactor template building process to seperate functions according to what they do
+
+* Remove some styles that where hardcoded in the javascript code
+
+* Refactor all code that changes the picker.date to change it through the setValue function to allow one place for validation logic (min/max/weekdaysenabled etc) and also one place for emmiting dp.change events
+
+* The v4beta branch code includes all fixes up to v.3.1.2
+
+* Added `toggle()` to the public API which toggles the visibility of the DateTimePicker
+
+* Refactored set function to be included in the setValue function
+
+* Added a testing framework using jasmine and phantom.js
+
+# Version 3
+
+## 3.0.0
+
+
+* Fix for #170, #179, #183: Changed event to `dp.-`. This should fix the double change event firing.
+* Fix for #192: `setDate` now fires `dp.change`
+* Fix for #182: Picker will **not** set the default date if the input field has a value
+* Fix for #169: Seconds doesn't get reset when changing the date (Thanks to PR #174)
+* Fix for #168 z-index fix for BS modal
+* Fix for #155 Picker properly displays the active year and month
+* Fix for #154 CSS update to fix the collapse jump
+* Fix for #150 and #75 `minViewMode` and `viewMode` work properly
+* Fix for #147 AM/PM won't toggle when selecting a value from the hours grid
+* Fix for #44 Finally! It's here!! Thanks to @ruiwei and his code on #210 picker will adjust the positioning of the widget.
+
+#### Manually merged PR
+
+* PR #178 When using `minuteStepping` the minute select grid will only show available steppings
+* PR #195, #197 Using the `data-OPTION` has been changed to `data-date-OPTION`. These options are expected to be on the `input-group` if you're using the `input-group` **or** the a bare input field if you're not using the `input-group`
+* PR #184 The option `sideBySide` change be used to display both the d and the timepicker side by side
+* PR #143 Added option `daysOfWeekDisabled: []`. For example, use `daysOfWeekDisabled: [0,6]` to disable Sunday and Saturday
+
+#### **Other Changes**
+* Changed picker width to 300px if using seconds and am/pm
+* Added option `useCurrent`, thanks to @ruiwei. When true, picker will set the value to the current date/time (respects picker's format)
+* Added option `showToday`, thanks to @ruiwei. When true, picker will display a small arrow to indicate today's date.
+* Changed `startDate` to `minDate` and `endDate` to `maxDate` to make it more clear what these options do.
+
+# Version 2
+
+#### 2.1.32 (Hotfix)
+
+* Fix for #151: When a bad date value or the picker is cleared, the plugin will not longer attempt to reset it back to the previous date
+* Fix for #140: `setDate` can be given `null` to force clear the picker
+
+#### 2.1.30
+##### Important! `build.less` file name has been been changed to `bootstrap-datetimepicker-build.less` to prevent collisions
+
+* Fix for #135: `setStartDate` and `setEndDate` should now properly set.
+* Fix for #133: Typed in date now respects en/disabled dates
+* Fix for #132: En/disable picker function works again
+* Fix for #117, #119, #128, #121: double event `change` event issues should be fixed
+* Fix for #112: `change` function no longer sets the input to a blank value if the passed in date is invalid
+
+* Enhancement for #103: Increated the `z-index` of the widget
+
+#### 2.1.20
+* Fix for #83: Changes to the picker should fire native `change` event for knockout and the like as well as `change.dp` which contains the old date and the new date
+* Fix for #78: Script has been update for breaking changes in Moment 2.4.0
+* Fix for #73: IE8 should be working now
+
+* Enhancement for #79: `minuteStepping` option takes a number (default is 1). Changing the minutes in the time picker will step by this number.
+* Enhancement for #74 and #65: `useMinutes` and `useSeconds` are now options. Disabling seconds will hide the seconds spinner. Disabling minutes will display `00` and hide the arrows
+* Enhancement for #67: Picker will now attempt to convert all `data-OPTION` into its appropriate option
+
+#### 2.1.11
+* Fix for #51, #60
+* Fix for #52: Picker has its own `moment` object since moment 2.4.0 has removed global reference
+* Fix for #57: New option for `useStrict`. When validating dates in `update` and `change`, the picker can use a stricter formatting validation
+* Fix for #61: Picker should now properly take formatted date. Should also have correct start of the week for locales.
+* Fix for #62: Default format will properly validate time picker only.
+
+#### 2.1.5
+* Custom icons, such as Font Awesome, are now supported. (#49)
+* If more then one `input-group-addon` is present use `datepickerbutton` to identify where the picker should popup from. (#48)
+* New Event: `error.dp`. Fires when Moment cannot parse the date or when the timepicker cannot change because of a `disabledDates` setting. Returns a Moment date object. The specific error can be found be using `invalidAt()`. For more information see [Moment's docs](http://momentjs.com/docs/#/parsing/is-valid/)
+* Fix for #42, plugin will now check for `A` or `a` in the format string to determine if the AM/PM selector should display.
+* Fix for #45, fixed null/empty and invalid dates
+* Fix for #46, fixed active date highlighting
+* Fix for #47, `change.dp` event to also include the previous date.
+
+####2.0.1
+* New event `error.dp` fires when plugin cannot parse date or when increase/descreasing hours/minutes to a disabled date.
+* Minor fixes
+
+####2.0.0
+* `disabledDates` is now an option to set the disabled dates. It accepts date objects like `new Date("November 12, 2013 00:00:00")` and `12/25/2013' and `moment` date objects
+* Events are easier to use
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md
new file mode 100644
index 0000000..ed3e9fa
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/ContributorsGuide.md
@@ -0,0 +1,126 @@
+This guide is aimed to contributors wishing to understand the internals of the code in order to change/evolve the component. 
+
+**Note:** this guide refers to **version 4** which is currently in beta and will be updated as we progress
+
+## Introduction
+This component consists actually of 2 subcomponent UI widgets one for the date and one for the time selection process. The developers can configure which of those are needed and also the granularity that the component will allow the users to select a date/time. Developers also choose the format that the selected datetime will be displayed in the input field.
+The component uses on `jQuery`, `moment.js` and `bootstrap` libraries.
+
+## Code
+### Private variables
+
+* `element` - Holds the DOM element this instance is attached to
+
+* `options` - Holds an object with the curently set options for the specific instance of the component. Don't directly change the properties of that object use the public API methods instead. DO NOT expose this object or its properties outside of the component.
+
+* `picker` - Reference variable to the created instance `(this)`
+
+* `date` - Holds the moment object for the model value of the component. **DON'T** directly change this variable unless you **REALLY** know what you are doing. Use `setValue()` function to set it. It handles all component logic for updating the model value and emitting all the appropriate events
+
+* `viewDate` - Holds the currently selected value that the user has selected through the widget. This is not the model value this is the view value. Changing this usually requires a subsequent call to `update()` function
+
+* `unset` - A `boolean` variable that holds wheather the components model value is set or not. Model's value starts as `unset = true` and if is either set by the user or programmatically through the api to a valid value then it is set to `false`. If subsequent events lead to an invalid value then this variable is set to `true` again. Setting this variable usually takes place in the `setValue()` function.
+
+* `input` - Hold the DOM input element this instance is attached to
+
+* `component` - Holds a reference to the .input-group DOM element that the widget is attached or false if it is attached directly on an input field
+
+* `widget` - Holds a reference to the DOM element containing the widget or `false` if the widget is hidden
+
+* `use24hours` - Holds whether the component uses 24 hours format or not. This is initialized on the `format()` function
+
+* `minViewModeNumber` - Holds the Numeric equivelant of the options.minViewMode parameter
+
+* `format` - Holds the current format string that is used for formating the date model value. Note this is not the same thing as the `options.format` as the second could be set to `false` in which case the first takes the locale's `L` or `LT` value
+
+* `currentViewMode` - Hold the state of the current viewMode for the DatePicker subcomponent
+
+* `actions` - An object containing all the functions that can be called when the users clicks on the widget
+
+* `datePickerModes` - An array of objects with configuration parameters for the different views of the DatePicker subcomponent
+
+* `viewModes` - An array of strings containing all the possible strings that `options.viewMode` can take through `viewMode()` public api function
+
+* `directionModes` - An array of strings containing all the possible strings that `options.direction` can take through `direction()` public api function
+
+* `orientationModes` - An array of strings containing all the possible strings that `options.orientation` can take through `orientation()` public api function
+
+### Private functions
+
+#### Widget related
+
+* `getDatePickerTemplate()` - returns a string containing the html code for the date picker subcomponent
+
+* `getTimePickerTemplate()` - returns a string containing the html code for the time picker subcomponent
+
+* `getTemplate()` - returns a string with containing the html code for all the DateTimePicker component
+
+* `place()` - handles the placement of the widget's dropdown
+
+* `updateMonths()` - updates the html subpage related to the months for Date picker view
+
+* `updateYears()` - updates the html subpage related to the years for Date picker view
+
+* `fillDate()` - updates the html subpage related to the days for Date picker view
+
+* `fillHours()` - Creates the hours spans for the hours subview of the Time subcomponent
+
+* `fillMinutes()` - Creates the minutes spans for the hours subview of the Time subcomponent
+
+* `fillSeconds()` - Creates the seconds spans for the hours subview of the Time subcomponent
+
+* `fillTime()` - Creates the main subview of the Time subcomponent
+
+* `update()` - updates the UI of part of the widget
+
+* `fillDow()` - Creates the day names in the days subview on the Date subcomponent
+
+* `fillMonths()` - Creates the month spans for the months subview of the Date subcomponent
+
+* `createWidget()` - creates the UI widget end attaches widget event listeners
+
+* `destroyWidget()` - destroys the UI widget DOM element and detaches widget event listeners
+
+* `showMode(dir)` - toggles between the various subpage related views of the DateTimePicker
+
+#### Events related
+
+* `notifyEvent(e)` - Use this function when you want to send en event to listener this could be used as a filter later
+
+* `stopEvent(e)` - Shortcut for stopping propagation of events
+
+* `doAction(e)` - Proxy function to call all the UI related click events
+
+* `keydown(e)` - Function to trap 
+
+* `change(e)` - Listener function to track change events occuring on the `input` dom element the component is attached to
+
+* `attachDatePickerElementEvents()` - Attaches listeners to the existing DOM elements the component is attached to. Called upon construction of each datetimepicker instance
+
+* `detachDatePickerElementEvents()` - Detaches listeners from the DOM element the component is attached to. Called on `destroy()`
+
+* `attachDatePickerWidgetEvents()` - Attaches listeners on the components widget. Called on `show()`
+
+* `detachDatePickerWidgetEvents()` - Detaches listeners on the components widget. Called on `hide()`
+
+#### Model related
+
+* `setValue(targetMoment)` - Sets the model value of the component takes a moment object. An `error` event will be emmited if the `targetMoment` does not pass the configured validations. Otherwise the `date` variable will be set and the relevant events will be fired.
+
+* `isValid(targetMoment, granularity)` - returns `true` if the `targetMoment` moment object is valid according to the components set validation rules (`min/maxDates`, `disabled/enabledDates` and `daysOfWeekDisabled`). You may pass a second variable to check only up the the specific granularity `year, month, day, hour, minute, second`
+
+#### Utilities
+
+* `indexGivenDates (givenDatesArray)` - Function that takes the array from `enabledDates()` and `disabledDates()` public functions and stores them as object keys to enable quick lookup
+
+* `isInEnableDates(date)` - Checks whether if the given moment object exists in the `options.enabledDates` object
+
+* `isInDisableDates(date)` - Checks whether if the given moment object exists in the `options.disabledDates` array
+
+* `dataToOptions()` - Parses `data-date-*` options set on the input dom element the component is attached to and returns an object with them
+
+* `isInFixed()` - Checks if the dom element or its parents has a fixed position css rule.
+
+* `parseInputDate(date)` - Parses a date parameter with moment using the component's `options.format` and `options.useStrict`. It returns a `moment` object or false if `parsedMoment#isValid()` returns `false`. Use this to parse date inputs from outside the component (public API calls).
+
+* `init()` - Initializes the component. Called when the component instance is created
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md
new file mode 100644
index 0000000..6ed53b1
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Events.md
@@ -0,0 +1,97 @@
+## Events
+
+### dp.hide
+
+Fired when the widget is hidden.
+
+Parameters:
+
+```
+e = {
+    date //the currently set date. Type: moment object (clone)
+}
+```
+
+Emitted from:
+
+* toggle()
+* hide()
+* disable()
+
+----------------------
+
+### dp.show
+
+Fired when the widget is shown.
+
+Parameters:
+
+No parameters are include, listen to `dp.change` instead
+
+Emitted from:
+
+* toggle()
+* show()
+
+----------------------
+
+### dp.change
+
+Fired when the date is changed, including when changed to a non-date (e.g. When keepInvalid=true).
+
+Parameters:
+
+```
+e = {
+    date, //date the picker changed to. Type: moment object (clone)
+    oldDate //previous date. Type: moment object (clone) or false in the event of a null
+}
+```
+
+Emitted from:
+
+* toggle() **Note**: Only fired when using `useCurrent`
+* show() **Note**: Only fired when using `useCurrent` or when or the date is changed to comply with date rules (min/max etc)
+* date(newDate)
+* minDate(minDate)
+* maxDate(maxDate)
+* daysOfWeekDisabled()
+
+----------------------
+
+### dp.error
+
+Fired when a selected date fails to pass validation.
+
+Parameters:
+
+```
+e = {
+    date //the invalid date. Type: moment object (clone)
+    oldDate //previous date. Type: moment object (clone) or false in the event of a null
+}
+```
+
+Emmited from:
+
+* minDate(minDate)
+* maxDate(maxDate)
+* daysOfWeekDisabled()
+* setValue() *private function*
+
+----------------------
+
+### dp.update
+
+<small>4.14.30</small>
+
+Fired (in most cases) when the `viewDate` changes. E.g. Next and Previous buttons, selecting a year.
+
+Parameters:
+
+```
+e = {
+   change, //Change type as a momentjs format token. Type: string e.g. yyyy on year change
+   viewDate //new viewDate. Type: moment object
+}
+```
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md
new file mode 100644
index 0000000..d830185
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Extras.md
@@ -0,0 +1,95 @@
+# Extras
+
+Guides for making the picker work better with rails, IE, etc
+
+## Rails 3
+
+by [dhulihan](https://github.com/dhulihan)
+
+You can easily override the default rails form helpers (`date_select` and `datetime_select`) with bootstrap-datetimepicker for a much nicer experience. 
+
+```rb
+# Add to config/initializers/form.rb or the end of app/helpers/application_helper.rb
+module ActionView
+  module Helpers
+    class FormBuilder 
+      def date_select(method, options = {}, html_options = {})
+        existing_date = @object.send(method) 
+        formatted_date = existing_date.to_date.strftime("%F") if existing_date.present?
+        @template.content_tag(:div, :class => "input-group") do    
+          text_field(method, :value => formatted_date, :class => "form-control datepicker", :"data-date-format" => "YYYY-MM-DD") +
+          @template.content_tag(:span, @template.content_tag(:span, "", :class => "glyphicon glyphicon-calendar") ,:class => "input-group-addon")
+        end
+      end
+
+      def datetime_select(method, options = {}, html_options = {})
+        existing_time = @object.send(method) 
+        formatted_time = existing_time.to_time.strftime("%F %I:%M %p") if existing_time.present?
+        @template.content_tag(:div, :class => "input-group") do    
+          text_field(method, :value => formatted_time, :class => "form-control datetimepicker", :"data-date-format" => "YYYY-MM-DD hh:mm A") +
+          @template.content_tag(:span, @template.content_tag(:span, "", :class => "glyphicon glyphicon-calendar") ,:class => "input-group-addon")
+        end
+      end
+    end
+  end
+end
+```
+
+The time format used here is ActiveRecord-friendly, which means it will be parsed correctly when passed in through `params` to your record.
+
+That's all there is to it! Now all of your forms that use `datetime_select` or `date_select` will be automatically updated:
+
+```erb
+<% form_for @post do |f| %>
+	<div class="form-group">
+		<label>Published At</label>
+		<%= f.datetime_select :published_at %>
+	</div>
+<% end %>
+```
+
+## IE 7
+
+by [EquilibriumCST](https://github.com/EquilibriumCST)
+
+I succeed to run this widget under IE7.
+Here is what I did.
+
+1. gliphicons are not working under IE7 so add [this css file](https://github.com/coliff/bootstrap-ie7). And this enables the icons.
+
+2. Z-index problem with IE 7. I added position: relative and `z-index: 10` to the parent container. Otherwise popup is shown under the next elements.
+
+3. JS events were not working well. 
+
+If you open the datetimepicker widget and click on some button or date inside it, widget is automatically closed.
+So I added `debug: true` as an option when initializing the widget. Why I did this? I saw on line 1121 from bootsrap-datetimepicker.js the code `'blur': options.debug ? '' : hide`. 
+And now widget window is not closed on every click inside it, but now you can't close it anyway :) 
+And closing should be done manually. I've added this document click handler. If you click something outside the widget, now closing works.
+
+```
+$(document).click(function(e){
+			var target = $(e.target);
+			if(target.parents('.bootstrap-datetimepicker-widget').length < 1 && !target.hasClass('datetimepickerInput') && !target.hasClass('datepickerIcon') && !target.hasClass('clockpickerIcon')){
+				if($('.bootstrap-datetimepicker-widget').length > 0){
+					$('#startDate').data('DateTimePicker').hide();
+					$('#startTime').data('DateTimePicker').hide();
+					$('.datetimepickerInput').blur();
+				}
+			}
+		});
+```
+
+
+But if you have more than one widget on the page like I did, clicking on one widget does'n close the other. Added below lines and now all works fine.
+
+```
+$('#widget1').on("dp.show",function (e) {
+	$('#widget2).data('DateTimePicker').hide();
+});
+
+$('#widget2').on("dp.show",function (e) {
+	$('#widget1).data('DateTimePicker').hide();
+});
+```
+
+I hope this will help to the others who are fighting with the old IE versions :)
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md
new file mode 100644
index 0000000..82cc4d5
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/FAQ.md
@@ -0,0 +1,22 @@
+# FAQs
+
+# How do I disable the date or time element
+<small>How do I format ...; How do I add seconds; etc.</small>
+
+The picker uses the `format` option to decide what components to show. Set `format` to `LT`, `LTS` or another valid [MomentJs format string](http://momentjs.com/docs/#/displaying/format/) to display certain components
+
+# How do I change the language/locale
+
+The picker uses MomentJs to determine the language string. You can use `moment-with-locales` or you can include whatever local file you need. Set the picker's `locale` option to `de` or whatever the locale string is.
+
+# How do I change the styles? The picker closes.
+
+Set `debug:true` which will force the picker to stay open, even `onBlur`. You can hide the picker manually by calling `hide()`
+
+# How do I change the start of the week?
+
+Start of the week is based on the [`locale` provided](Options.md#locale). This is defined by moment's locales. If you want to change it, create your own locale file or override. [See moment's docs](http://momentjs.com/docs/#/i18n/).
+
+# How I use the picker as birthday picker?
+
+Use the [`viewMode`](Options.md#viewmode) option to `'years'`
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md
new file mode 100644
index 0000000..2e74097
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Functions.md
@@ -0,0 +1,82 @@
+## Functions
+
+<div class="alert alert-info">
+    <strong>Note</strong>
+    All functions are accessed via the <code>data</code> attribute e.g. <code>$('#datetimepicker').data("DateTimePicker").FUNCTION()</code>
+</div>
+
+###destroy()
+
+Destroys the widget and removes all attached event listeners
+
+----------------------
+
+### toggle()
+
+Shows or hides the widget
+
+#### Emits
+
+* `dp.hide` - if the widget is hidden after the toggle call
+
+* `dp.show` - if the widget is show after the toggle call
+
+* `dp.change` - if the widget is opened for the first time and the input element is empty and `options.useCurrent != false`
+
+----------------------
+
+### show()
+
+Shows the widget
+
+#### Emits
+
+* `dp.show` - if the widget was hidden before that call
+
+* `dp.change` - if the widget is opened for the first time and the useCurrent is set to true or to a granularity value and the input element the component is attached to has an empty value
+
+----------------------
+
+### hide()
+
+Hides the widget
+
+#### Emits
+
+* `dp.hide` - if the widget was visible before that call
+
+----------------------
+
+### disable()
+
+Disables the input element, the component is attached to, by adding a `disabled="true"` attribute to it. If the widget was visible before that call it is hidden.
+
+#### Emits
+
+* `dp.hide` - if the widget was visible before that call
+
+----------------------
+
+### enable()
+
+Enables the input element, the component is attached to, by removing `disabled` attribute from it.
+
+----------------------
+
+### clear()
+
+Clears the datepicker by setting the value to `null`
+
+### viewDate
+
+<small>4.14.30</small> Issue #872
+
+#### viewDate()
+
+Returns a `moment` variable with the currently set `options.viewDate` option.
+
+#### viewDate(viewDate)
+
+Takes a `string, moment or Date` value.
+
+This will change the `viewDate` without changing or setting the selected date.
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md
new file mode 100644
index 0000000..84fde42
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Installing.md
@@ -0,0 +1,161 @@
+# Minimal Requirements
+
+1. jQuery
+2. Moment.js
+3. Bootstrap.js (transition and collapse are required if you're not using the full Bootstrap)
+4. Bootstrap Datepicker script
+5. Bootstrap CSS
+6. Bootstrap Datepicker CSS
+7. Locales: Moment's locale files are [here](https://github.com/moment/moment/tree/master/locale)
+
+# Installation Guides
+* [Bower](#bower-)
+* [Nuget](#nuget)
+* [Rails](#rails-)
+* [Angular](#angular-wrapper)
+* [Meteor.js](#meteorjs)
+* [Manual](#manual)
+
+## [bower](http://bower.io) ![Bower version](https://badge.fury.io/bo/eonasdan-bootstrap-datetimepicker.png)
+
+Run the following command:
+```
+bower install eonasdan-bootstrap-datetimepicker#latest --save
+```
+
+Include necessary scripts and styles:
+```html
+<head>
+  <!-- ... -->
+  <script type="text/javascript" src="/bower_components/jquery/jquery.min.js"></script>
+  <script type="text/javascript" src="/bower_components/moment/min/moment.min.js"></script>
+  <script type="text/javascript" src="/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
+  <script type="text/javascript" src="/bower_components/eonasdan-bootstrap-datetimepicker/build/js/bootstrap-datetimepicker.min.js"></script>
+  <link rel="stylesheet" href="/bower_components/bootstrap/dist/css/bootstrap.min.css" />
+  <link rel="stylesheet" href="/bower_components/eonasdan-bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" />
+</head>
+```
+## Nuget
+### [LESS](https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker/): ![NuGet version](https://badge.fury.io/nu/Bootstrap.v3.Datetimepicker.png)
+```
+PM> Install-Package Bootstrap.v3.Datetimepicker
+```
+
+### [CSS](https://www.nuget.org/packages/Bootstrap.v3.Datetimepicker.CSS/): ![NuGet version](https://badge.fury.io/nu/Bootstrap.v3.Datetimepicker.CSS.png)
+```
+PM> Install-Package Bootstrap.v3.Datetimepicker.CSS
+```
+
+```html
+<head>
+  <script type="text/javascript" src="/scripts/jquery.min.js"></script>
+  <script type="text/javascript" src="/scripts/moment.min.js"></script>
+  <script type="text/javascript" src="/scripts/bootstrap.min.js"></script>
+  <script type="text/javascript" src="/scripts/bootstrap-datetimepicker.*js"></script>
+  <!-- include your less or built css files  -->
+  <!-- 
+  bootstrap-datetimepicker-build.less will pull in "../bootstrap/variables.less" and "bootstrap-datetimepicker.less";
+  or
+  <link rel="stylesheet" href="/Content/bootstrap-datetimepicker.css" />
+  -->
+</head>
+```
+
+## [Rails](http://rubygems.org/gems/bootstrap3-datetimepicker-rails) ![Gem Version](https://badge.fury.io/rb/bootstrap3-datetimepicker-rails.png)
+
+Add the following to your `Gemfile`:
+```ruby
+gem 'momentjs-rails', '>= 2.9.0'
+gem 'bootstrap3-datetimepicker-rails', '~> 4.14.30'
+```
+Note: You may need to change the version number above to the version number on the badge above.
+Read the rest of the install instructions @ 
+[TrevorS/bootstrap3-datetimepicker-rails](https://github.com/TrevorS/bootstrap3-datetimepicker-rails)
+
+
+## Angular Wrapper
+Follow the link [here](https://gist.github.com/eugenekgn/f00c4d764430642dca4b)
+
+## Meteor.js
+
+This widget has been package for the [Meteor.js](http://www.meteor.com/) platform, to install it use meteorite as follows:
+
+`$ mrt add tsega:bootstrap3-datetimepicker`
+
+For more detail see the package page on [Atmosphere](http://atmospherejs.com/package/bootstrap3-datetimepicker)
+
+## Manual
+
+### Acquire [jQuery](http://jquery.com)
+### Acquire  [Moment.js](https://github.com/moment/moment)
+### Bootstrap 3 collapse and transition plugins
+Make sure to include *.JS files for plugins [collapse](http://getbootstrap.com/javascript/#collapse) and [transitions](http://getbootstrap.com/javascript/#transitions). They are included with [bootstrap in js/ directory](https://github.com/twbs/bootstrap/tree/master/js)
+Alternatively you could include the whole bundle of bootstrap plugins from [bootstrap.js](https://github.com/twbs/bootstrap/tree/master/dist/js)
+
+```html
+<script type="text/javascript" src="/path/to/jquery.js"></script>
+<script type="text/javascript" src="/path/to/moment.js"></script>
+<script type="text/javascript" src="/path/to/bootstrap/js/transition.js"></script>
+<script type="text/javascript" src="/path/to/bootstrap/js/collapse.js"></script>
+<script type="text/javascript" src="/path/to/bootstrap/dist/bootstrap.min.js"></script>
+<script type="text/javascript" src="/path/to/bootstrap-datetimepicker.min.js"></script>
+```
+
+## Knockout
+
+```
+ko.bindingHandlers.dateTimePicker = {
+    init: function (element, valueAccessor, allBindingsAccessor) {
+        //initialize datepicker with some optional options
+        var options = allBindingsAccessor().dateTimePickerOptions || {};
+        $(element).datetimepicker(options);
+
+        //when a user changes the date, update the view model
+        ko.utils.registerEventHandler(element, "dp.change", function (event) {
+            var value = valueAccessor();
+            if (ko.isObservable(value)) {
+                if (event.date != null && !(event.date instanceof Date)) {
+                    value(event.date.toDate());
+                } else {
+                    value(event.date);
+                }
+            }
+        });
+
+        ko.utils.domNodeDisposal.addDisposeCallback(element, function () {
+            var picker = $(element).data("DateTimePicker");
+            if (picker) {
+                picker.destroy();
+            }
+        });
+    },
+    update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
+
+        var picker = $(element).data("DateTimePicker");
+        //when the view model is updated, update the widget
+        if (picker) {
+            var koDate = ko.utils.unwrapObservable(valueAccessor());
+
+            //in case return from server datetime i am get in this form for example /Date(93989393)/ then fomat this
+            koDate = (typeof (koDate) !== 'object') ? new Date(parseFloat(koDate.replace(/[^0-9]/g, ''))) : koDate;
+
+            picker.date(koDate);
+        }
+    }
+};
+```
+
+### CSS styles
+
+#### Using LESS
+```css
+@import "/path/to/bootstrap/less/variables";
+@import "/path/to/bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less";
+
+// [...] your custom styles and variables
+```
+
+Using CSS (default color palette)
+```html
+<link rel="stylesheet" href="/path/to/bootstrap-datetimepicker/build/css/bootstrap-datetimepicker.min.css" />
+```
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md
new file mode 100644
index 0000000..17df760
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Options.md
@@ -0,0 +1,909 @@
+## Options
+
+<div class="alert alert-info">
+    <strong>Note</strong>
+    All options are accessed via the <code>data</code> attribute e.g. <code>$('#datetimepicker').data("DateTimePicker").OPTION()</code>
+</div>
+
+### options()
+
+Returns the components current options object. Note that the changing the values of the returned object does not change the components actual configuration. Use `options(options)` to set the components options massively or the other methods for setting config options individually.
+
+
+### options([options])
+
+Takes an object variable with option key:value properties and configures the component. Use this to update multiple options on the component.
+
+----------------------
+
+### date
+
+ Returns the component's model current date, a `moment` object or `null` if not set.
+
+####date([newDate])
+
+ Takes `string, Date, moment, null` parameter and sets the components model current moment to it. Passing a `null` value unsets the components model current moment. Parsing of the newDate parameter is made using moment library with the `options.format` and `options.useStrict` components configuration.
+
+##### Throws
+
+* `TypeError` - in case the `newDate` cannot be parsed
+
+##### Emits
+
+* `dp.change` - In case `newDate` is different from current moment
+
+----------------------
+
+### format
+
+	Default: false
+
+See [momentjs' docs](http://momentjs.com/docs/#/displaying/format/) for valid formats. Format also dictates what components are shown, e.g. `MM/dd/YYYY` will not display the time picker.
+
+#### format()
+
+Returns the component's `options.format` `string`
+
+#### format(format)
+
+Takes a [moment.js](http://momentjs.com/docs/#/displaying/format/) format `string` and sets the components  `options.format`. This is used for displaying and also for parsing input strings either from the input element the component is attached to or the `date()` function.
+The parameter can also be a `boolean:false` in which case the format is set to the locale's `L LT`.
+
+**Note:** this is also used to determine if the TimePicker sub component will display the hours in 12 or 24 format. (if 'a' or 'h' exists in the passed `string` then a 12 hour mode is set)
+
+----------------------
+
+### dayViewHeaderFormat
+
+	Default: 'MMMM YYYY'
+
+Changes the heading of the datepicker when in "days" view.
+
+![Datepicker Header](img/dpheader.png)
+
+#### dayViewHeaderFormat()
+
+Returns a `string` variable with the currently set `options.dayViewHeaderFormat` option.
+
+#### dayViewHeaderFormat(string)
+
+Takes a `string` value.
+
+Used to customize the header of the day view.
+
+----------------------
+
+### extraFormats
+
+	Default: false
+
+Allows for several input formats to be valid. See [this PR](https://github.com/Eonasdan/bootstrap-datetimepicker/pull/666).
+
+#### extraFormats()
+
+Returns a `boolean` or array with the `options.extraFormats` option configuration
+
+#### extraFormats(formats)
+
+Takes an array of valid input moment format options.
+
+----------------------
+
+
+### stepping
+
+	Default: 1
+
+Number of minutes the up/down arrow's will move the minutes value in the time picker
+
+#### stepping()
+
+Returns a `number` with the `options.stepping` option configuration
+
+
+#### stepping(number)
+
+Takes a `number`. This be the amount the up/down arrows move the minute value with a time picker.
+
+----------------------
+
+
+### min/maxDate
+
+	Default: false
+    Accepts: date, moment, string
+
+Prevents date/time selections before this date. Will override `defaultDate` and `useCurrent` if either of these settings are the same day since both options are invalid according to the rules you've selected.
+
+#### minDate()
+
+Returns the currently set moment of the `options.minDate` or `false` if not set
+
+#### minDate(minDate)
+
+Takes a minDate `string, Date, moment, boolean:false` parameter and disallows the user to select a moment that is before that moment. If a `boolean:false` value is passed the `options.minDate` parameter is cleared and there is no restriction to the miminum moment the user can select. 
+
+**Note:** If the minDate parameter is after the currently selected moment the currently selected moment changes to minDate parameter
+
+##### Throws
+
+* `TypeError` - if minDate parameter cannot be parsed using the `options.format` and `options.useStrict` configuration settings
+
+* `TypeError` - if minDate parameter is after `options.maxDate`
+
+##### Emits
+
+* `dp.change` - if the new minDate is after currently selected moment (waiting for #472 to close in order to finalize this part)
+
+* `dp.error` - if the new minDate is after currently selected moment (waiting for #472 to close in order to finalize this part)
+
+----------------------
+
+#### maxDate()
+
+Returns the currently set moment of the `options.maxDate` or `false` if not set
+
+
+#### maxDate(maxDate)
+
+Takes a maxDate `string, Date, moment, boolean:false` parameter and disallows the user to select a moment that is after that moment. If a `boolean:false` value is passed `options.maxDate` is cleared and there is no restriction to the maximum moment the user can select.
+
+**Note:** If maxDate is before the currently selected moment the currently selected moment changes to maxDate
+
+##### Throws
+
+* `TypeError` - if maxDate parameter cannot be parsed using the `options.format` and `options.useStrict` configuration settings
+
+* `TypeError` - if maxDate parameter is before `options.minDate`
+
+##### Emits
+
+* `dp.change` - if the new maxDate is after currently selected moment  (waiting for #472 to close in order to finalize this part)
+
+* `dp.error` - if the new maxDate is after currently selected moment  (waiting for #472 to close in order to finalize this part)
+
+----------------------
+
+### useCurrent
+
+	Default: true
+
+On `show`, will set the picker to the current date/time.
+
+#### useCurrent()
+
+Returns a `boolean` or `string` with the `options.useCurrent` option configuration
+
+#### useCurrent(boolean or string)
+
+Takes a `boolean` or `string`. If a `boolean` true is passed and the components model moment is not set (either through `setDate` or through a valid value on the input element the component is attached to) then the first time the user opens the datetimepicker widget the value is initialized to the current moment of the action. If a false `boolean` is passed then no initialization happens on the input element. You can select the granularity on the initialized moment by passing one of the following strings (`'year', 'month', 'day', 'hour', 'minute'`) in the variable.
+
+If for example you pass `'day'` to the `setUseCurrent` function and the input field is empty the first time the user opens the datetimepicker widget the input text will be initialized to the current datetime with day granularity (ie if currentTime = `2014-08-10 13:32:33` the input value will be initialized to `2014-08-10 00:00:00`)
+
+**Note:** If the `options.defaultDate` is set or the input element the component is attached to has already a value that takes precedence and the functionality of `useCurrent` is not triggered!
+
+----------------------
+
+
+### collapse
+
+	Default: true
+
+Using a Bootstraps collapse to switch between date/time pickers.
+
+#### collapse()
+
+Returns a `boolean` of the `options.sideBySide`.
+
+
+#### collapse(collapse)
+
+Takes a `boolean`. If set to `false` the picker will display similar to `sideBySide` except vertical.
+
+----------------------
+
+
+### locale
+
+	Default: moment.locale()
+    Accepts: string, moment.locale('locale')
+
+See [momentjs](https://github.com/moment/moment/tree/develop/locale) for valid locales.
+
+You must include `moment-with-locales.js` or a local js file.
+
+#### locale()
+
+Returns the currently set locale of the `options.locale`
+
+#### locale(newLocale)
+
+Takes a `string` of any valid [moment locale](https://github.com/moment/moment/tree/develop/locale) e.g. `de` for German.
+
+##### Throws
+
+* `TypeError` - if the locale is not loaded via a separate script or `moment-with-locales`
+
+----------------------
+
+
+### defaultDate
+
+	Default: false
+    Accepts: date, moment, string
+
+Sets the picker default date/time. Overrides `useCurrent`
+
+#### defaultDate()
+
+Returns a `moment` with the `options.defaultDate` option configuration or `false` if not set
+
+#### defaultDate(defaultDate)
+
+Takes a `string, Date, moment, boolean:false`. Will set the picker's inital date. If a `boolean:false` value is passed the `options.defaultDate` parameter is cleared. 
+
+* `TypeError` - if the provided date pass validation, including `disabledDates`, `enabledDates`, `minDate`, `maxDate`, and `daysOfWeekDisabled`
+
+* `TypeError` - if the provided date cannot be parsed by momentjs
+
+----------------------
+
+### en/disabledDates
+
+	Default: false
+    Accepts: array of [date, moment, string]
+
+#### disabledDates()
+
+Returns an array with the currently set disabled dates on the component.
+
+#### disabledDates(dates)
+
+Takes an `[` `string` or `Date` or `moment` `]` of values and disallows the user to select those days. Setting this takes precedence over `options.minDate`, `options.maxDate` configuration. Also calling this function removes the configuration of options.enabledDates if such exist.
+
+**Note:** These values are matched with `Day` granularity.
+
+----------------------
+
+#### enabledDates()
+
+Returns an array with the currently set enabled dates on the component.
+
+
+#### enabledDates(dates)
+
+Takes an `[` `string` or `Date` or `moment` `]` of values and allows the user to select only from those days. Setting this takes precedence over `options.minDate`, `options.maxDate` configuration. Also calling this function removes the configuration of options.disabledDates if such exist.
+
+**Note:** These values are matched with `Day` granularity.
+
+----------------------
+
+### icons
+
+	Default: {
+                time: 'glyphicon glyphicon-time',
+                date: 'glyphicon glyphicon-calendar',
+                up: 'glyphicon glyphicon-chevron-up',
+                down: 'glyphicon glyphicon-chevron-down',
+                previous: 'glyphicon glyphicon-chevron-left',
+                next: 'glyphicon glyphicon-chevron-right',
+                today: 'glyphicon glyphicon-screenshot',
+                clear: 'glyphicon glyphicon-trash',
+                close: 'glyphicon glyphicon-remove'
+            }
+    Accepts: object with all or some of the parameters above
+
+Change the default icons for the pickers functions.
+
+#### icons()
+
+Returns an `Ojbect` of `options.icons` 
+
+#### icons(icons)
+
+Takes an `Ojbect` of `strings`.
+
+##### Throws
+
+* `TypeError` - if icons parameter is not an `Ojbect`
+
+----------------------
+
+### useStrict
+
+	Default: false
+
+Defines if moment should use strict date parsing when considering a date to be valid.
+
+#### useStrict()
+
+Returns a `boolean` of the `options.useStrict`
+
+#### useStrict(useStrict)
+
+Takes a `boolean`. If `useStrict` is `true`, momentjs parsing rules will be stricter when determining if a date is valid or not.
+
+----------------------
+
+
+### sideBySide
+
+	Default: false
+
+Shows the picker side by side when using the time and date together.
+
+![SideBySide](img/sideBySide.png)
+
+#### sideBySide()
+
+Returns a `boolean` of the `options.sideBySide`.
+
+#### sideBySide(sideBySide)
+
+Takes a `boolean`. If `sideBySide` is `true` and the time picker is used, both components will display side by side instead of collapsing.
+
+----------------------
+
+
+### daysOfWeekDisabled
+
+	Default: []
+    Accepts: array of numbers from 0-6
+
+Disables the section of days of the week, e.g. weekends.
+
+#### daysOfWeekDisabled()
+
+Returns an array with the `options.daysOfWeekDisabled` configuration setting of the component.
+
+#### daysOfWeekDisabled(daysOfWeek)
+
+Takes an `[` `Number`:`0` to `6` `]` and disallow the user to select weekdays that exist in this array. This has lower priority over the `options.minDate`, `options.maxDate`, `options.disabledDates` and `options.enabledDates` configuration settings.
+
+##### Emits
+
+* `dp.change` - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part)
+
+* `dp.error` - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part)
+
+----------------------
+
+### calendarWeeks
+
+	Default: false
+
+Shows the week of the year to the left of first day of the week.
+
+![calendarWeek](img/calendarWeeks.png)
+
+#### calendarWeeks()
+
+Returns a `boolean` with the current `options.calendarWeeks` option configuration
+
+#### calendarWeeks(boolean)
+
+Takes a `boolean` variable to set if the week numbers will appear to the left on the days view
+
+----------------------
+
+### viewMode
+
+	Default: 'days'
+    Accepts: 'decades','years','months','days'
+
+The default view to display when the picker is shown.
+
+**Note**: To limit the picker to selecting, for instance the year and month, use `format: MM/YYYY`.
+
+#### viewMode()
+
+Returns a `string` of the `options.viewMode`.
+
+#### viewMode(newViewMode)
+
+Takes a `string`. Valid values are `'days'`, `'months'`, `'years'` and `'decades'`
+
+##### Throws
+
+* `TypeError` - if `newViewMode` parameter is not an a `string` or if `newViewMode` is not a valid value.
+
+----------------------
+
+### toolbarPlacement
+
+	Default: 'default'
+    Accepts: 'default', 'top', 'bottom'
+
+Changes the placement of the icon toolbar.
+
+![toolbarPlacement](img/toolbarPlacement.png)
+
+#### toolbarplacement()
+
+Returns a `string` variable with the currently set `options.toolbarplacement` option.
+
+#### toolbarplacement(string)
+
+Takes a `string` value. Valid values are `'default'`, `'top'` and `'bottom'`.
+
+Changes the placement of the toolbar where the today, clear, component switch icon are located.
+
+----------------------
+
+### showTodayButton
+
+	Default: false
+
+Show the "Today" button in the icon toolbar.
+
+Clicking the "Today" button will set the calendar view and set the date to `now`.
+
+#### showTodayButton()
+
+Returns a `boolean` variable with the currently set `options.showTodayButton` option.
+
+#### showTodayButton(boolean)
+
+Takes a `boolean` variable to set if the Today button will appear on the widget
+
+----------------------
+
+### showClear
+
+	Default: false
+
+Show the "Clear" button in the icon toolbar.
+
+Clicking the "Clear" button will set the calendar to null.
+
+#### showClear()
+
+Returns a `boolean` variable with the currently set `options.showClear` option.
+
+#### showClear(boolean)
+
+Takes a `boolean` variable to set if the clear date button will appear on the widget
+
+----------------------
+
+### showClose
+
+	Default: false
+
+Show the "Close" button in the icon toolbar.
+
+Clicking the "Close" button will call `hide()`
+
+#### showClose()
+
+Returns a `boolean` variable with the currently set `options.showClose` option.
+
+#### showClose(boolean)
+
+Takes a `boolean` value.
+
+If `true`, an icon will be displayed on the toolbar that will hide the picker
+
+----------------------
+
+### widgetPositioning
+
+	Default: {
+                horizontal: 'auto'
+                vertical: 'auto'
+             }
+    Accepts: object with the all or one of the parameters above
+             horizontal: 'auto', 'left', 'right'
+             vertical: 'auto', 'top', 'bottom'
+
+#### widgetPositioning()
+
+Returns the currently set `options.widgetPositioning` object containing two keys `horizontal` and `vertical`
+
+#### widgetPositioning(positioningObject)
+
+Takes an object parameter that can contain two keys `vertical` and `horizontal` each having a value of `'auto', 'top', 'bottom'` for `vertical` and `'auto', 'left', 'right'` for `horizontal` which defines where the dropdown with the widget will appear relative to the input element the component is attached to.
+
+`'auto'` is the default value for both `horizontal` and `vertical` keys and it tries to automatically place the dropdown in a position that is visible to the user. Usually you should not override those options unless you have a special need in your layout.
+
+----------------------
+
+### widgetParent
+
+	Default: null
+    Accepts: string or jQuery object
+
+On picker show, places the widget at the identifier (string) or jQuery object **if** the element has css `position: 'relative'`
+
+#### widgetParent()
+
+Returns a `$(element)` variable with the currently set `options.widgetParent` option.
+
+#### widgetParent(widgetParent)
+
+Takes a `string` or `$(element)` value.
+
+----------------------
+
+### keepOpen
+
+	Default: false
+
+Will cause the date picker to stay open after selecting a date.
+
+#### keepOpen()
+
+Returns a `boolean` variable with the currently set `options.keepOpen` option.
+
+#### keepOpen(boolean)
+
+Takes a `boolean` value.
+
+----------------------
+
+### inline
+
+	Default: false
+
+Will display the picker inline without the need of a input field. This will also hide borders and shadows.
+
+#### inline()
+
+Returns a `boolean` variable with the currently set `options.inline` option.
+
+#### inline(boolean)
+
+Takes a `boolean` value.
+
+----------------------
+
+### keepInvalid
+
+<small>4.7.14</small>
+
+	Default: false
+
+Will cause the date picker to **not** revert or overwrite invalid dates.
+
+#### keepInvalid()
+
+Returns a `string` variable with the currently set `options.keepInvalid` option.
+
+#### keepInvalid(boolean)
+
+Takes a `boolean` value.
+
+If `true`, invalid dates will not be reverted to a previous selection or changed.
+
+----------------------
+
+### keyBinds
+
+	Default: up: function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().subtract(7, 'd'));
+                } else {
+                    this.date(this.date().clone().add(1, 'm'));
+                }
+            },
+            down: function (widget) {
+                if (!widget) {
+                    this.show();
+                }
+                else if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().add(7, 'd'));
+                } else {
+                    this.date(this.date().clone().subtract(1, 'm'));
+                }
+            },
+            'control up': function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().subtract(1, 'y'));
+                } else {
+                    this.date(this.date().clone().add(1, 'h'));
+                }
+            },
+            'control down': function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().add(1, 'y'));
+                } else {
+                    this.date(this.date().clone().subtract(1, 'h'));
+                }
+            },
+            left: function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().subtract(1, 'd'));
+                }
+            },
+            right: function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().add(1, 'd'));
+                }
+            },
+            pageUp: function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().subtract(1, 'M'));
+                }
+            },
+            pageDown: function (widget) {
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(this.date().clone().add(1, 'M'));
+                }
+            },
+            enter: function () {
+                this.hide();
+            },
+            escape: function () {
+                this.hide();
+            },
+            'control space': function (widget) {
+                if (widget.find('.timepicker').is(':visible')) {
+                    widget.find('.btn[data-action="togglePeriod"]').click();
+                }
+            },
+            t: function () {
+                this.date(moment());
+            },
+            'delete': function () {
+                this.clear();
+            }
+
+Allows for custom events to fire on keyboard press.
+
+#### keyBinds()
+
+Returns a `string` variable with the currently set `options.keyBinds` option.
+
+#### keyBinds(object)
+
+Takes an `object` value.
+
+Allows for several keyBinding functions to be specified for ease of access or accessibility. See the options page for defaults.
+
+----------------------
+
+
+### debug 
+
+<small>4.7.14</small>
+
+	Default: false
+
+Will cause the date picker to stay open after a `blur` event.
+
+----------------------
+
+
+### ignoreReadonly
+
+<small>4.7.14</small>
+
+	Default: false
+
+Allow date picker show event to fire even when the associated input element has the `readonly="readonly"`property.
+
+#### ignoreReadonly()
+
+Returns a `boolean` variable with the currently set `options.ignoreReadonly` option.
+
+#### ignoreReadonly(boolean)
+
+Takes a `boolean` value.
+
+Set this to `true` to allow the picker to be used even if the input field is `readonly`. This will **not** bypass the `disabled` property
+
+----------------------
+
+### disabledTimeIntervals 
+
+<small>4.14.30</small>
+
+	Default: false
+
+Disables time selection between the given `moments`.
+
+#### disabledTimeIntervals()
+
+Returns an `array` variable with the currently set `options.disabledTimeIntervals` option.
+
+#### disabledTimeIntervals(array)
+
+Takes a `array` value.
+
+The array **must** be in the following format `[moment(),moment()]`
+
+For example:
+
+    disabledTimeIntervals: [[moment({ h: 0 }), moment({ h: 8 })], [moment({ h: 18 }), moment({ h: 24 })]]
+
+Will disable times between 12-8am and 6-12pm today
+
+----------------------
+
+### allowInputToggle 
+
+<small>4.14.30</small>
+
+	Default: false
+
+If `true`, the picker will show on textbox focus and icon click when used in a button group.
+
+#### allowInputToggle()
+
+Returns a `boolean` variable with the currently set `options.allowInputToggle` option.
+
+#### allowInputToggle(boolean)
+
+Takes a `boolean` value.
+
+If `true`, the picker will show on textbox focus and icon click when used in a button group
+
+----------------------
+
+### focusOnShow 
+
+<small>4.14.30</small>
+
+	Default: true
+
+If `false`, the textbox will not be given focus when the picker is shown.
+
+#### focusOnShow()
+
+Returns a `boolean` variable with the currently set `options.focusOnShow` option.
+
+#### focusOnShow(boolean)
+
+Takes a `boolean` value.
+
+If `false`, the textbox will not be given focus when the picker is shown
+
+----------------------
+### en/disabledHours
+
+<small>4.14.30</small> Issue: #851
+
+	Default: false
+
+#### disabledHours()
+
+Returns an `array` variable with the currently set `options.en/disabledHours` option.
+
+#### disabledHours(boolean)
+
+Takes a `array` value.
+
+Must be in 24 hour format. Will allow or disallow hour selections (much like `disabledTimeIntervals`) but will affect all days.
+
+Like `en/disabledDates`, these options are mutually exclusive and will reset one of the options back to false.
+
+    disabledHours: [0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 24]
+    enabledHours: [9, 10, 11, 12, 13, 14, 15, 16]
+
+----------------------
+
+### viewDate 
+
+<small>4.14.30</small>
+
+	Default: false
+
+This will change the `viewDate` without changing or setting the selected date.
+
+----------------------
+
+### parseInputDate
+
+<small>4.14.30</small> Issue #1095
+
+#### parseInputDate()
+
+Returns a `function` with the currently set `options.parseInputDate`
+
+#### parseInputDate(function)
+
+Takes a `function`
+
+Allows custom input formatting For example: the user can enter 'yesterday' or '30 days ago'.
+
+Example:
+
+```
+var parseRelativeDate = function(relativeDate) {
+
+    switch (relativeDate) {
+        case 'today':
+            return moment()
+        case 'yesterday':
+            return moment().subtract(1, 'day');
+        default:
+            return moment()
+                .subtract(Number(relativeDate.replace("days ago", "").trim()), 'days');
+    }
+}
+
+var parseInputDate = function(inputDate) {
+    var relativeDatePattern = /today|yesterday|[0-9]+\s+(days ago)/,
+        resultDate;
+
+    if (moment.isMoment(inputDate) || inputDate instanceof Date) {
+        resultDate = moment(inputDate);
+    } else {
+        var relativeDate = inputDate.match(relativeDatePattern),
+            parseDate = null;
+
+        if (relativeDate !== null) 
+          parseDate = this.parseRelativeDate(inputDate.match(relativeDatePattern)[0]);
+        else 
+          parseDate = moment();
+
+        resultDate = moment(parseDate, "YYYY-MM-DD");
+    }
+
+    return resultDate;
+}
+```
+
+----------------------
+
+### tooltips 
+
+<small>4.15.35</small>
+
+```
+tooltips: {
+    today: 'Go to today',
+    clear: 'Clear selection',
+    close: 'Close the picker',
+    selectMonth: 'Select Month',
+    prevMonth: 'Previous Month',
+    nextMonth: 'Next Month',
+    selectYear: 'Select Year',
+    prevYear: 'Previous Year',
+    nextYear: 'Next Year',
+    selectDecade: 'Select Decade',
+    prevDecade: 'Previous Decade',
+    nextDecade: 'Next Decade',
+    prevCentury: 'Previous Century',
+    nextCentury: 'Next Century'
+}
+```
+
+This will change the `tooltips` over each icon to a custom string.
+
+#### tooltips()
+
+Returns an `Ojbect` of `options.tooltips` 
+
+#### tooltips(tooltips)
+
+Takes an `Ojbect` of `strings`.
+
+##### Throws
+
+* `TypeError` - if tooltips parameter is not an `Ojbect`
+
+----------------------
+
+
+### timeZone 
+
+<small>4.17.37</small>
+
+```
+timeZone: ''
+```
+
+Allows the setting of the Time Zone. You must include [`moment-timezone.js`](http://momentjs.com/timezone/) and `moment-timzone` data. See moment timezone documentation for usage.
+
+#### timeZone()
+
+Returns an `string` of `options.timeZone` 
+
+#### timeZone(timeZone)
+
+Takes an `string` of a valid timezone.
+
+##### Throws
+
+* `TypeError` - if tooltips parameter is not an `string`
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md
new file mode 100644
index 0000000..f3c30de
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Changelog.md	
@@ -0,0 +1,6 @@
+<meta http-equiv="refresh" content="1; url=/Changelog/"/>
+<meta http-equiv="refresh" content="0; url=/Changelog/"/>
+<link rel="canonical" href="/Changelog/">
+
+ <p>The page has moved to: 
+   <a href="/Changelog/">this page</a></p>
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md
new file mode 100644
index 0000000..0378e0f
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/Version 4 Contributors guide.md	
@@ -0,0 +1,6 @@
+<meta http-equiv="refresh" content="1; url=/Changelog/"/>
+<meta http-equiv="refresh" content="0; url=/ContributorsGuide/"/>
+<link rel="canonical" href="/ContributorsGuide/">
+
+ <p>The page has moved to: 
+   <a href="/ContributorsGuide/">this page</a></p>
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md
new file mode 100644
index 0000000..ac35290
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/index.md
@@ -0,0 +1,644 @@
+#Bootstrap 3 Datepicker v4 Docs
+
+<div class="alert alert-info">
+    <strong>Note</strong>
+    All functions are accessed via the <code>data</code> attribute e.g. <code>$('#datetimepicker').data("DateTimePicker").FUNCTION()</code>
+</div>
+
+### Minimum Setup
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker1'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker1').datetimepicker();
+            });
+        </script>
+    </div>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker1'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker1').datetimepicker();
+            });
+        </script>
+    </div>
+</div>
+```
+
+----------------------
+
+### Using Locales
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker2'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker2').datetimepicker({
+                    locale: 'ru'
+                });
+            });
+        </script>
+    </div>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker2'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker2').datetimepicker({
+                    locale: 'ru'
+                });
+            });
+        </script>
+    </div>
+</div>
+```
+
+----------------------
+
+### Time Only
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker3'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-time"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker3').datetimepicker({
+                    format: 'LT'
+                });
+            });
+        </script>
+    </div>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker3'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-time"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker3').datetimepicker({
+                    format: 'LT'
+                });
+            });
+        </script>
+    </div>
+</div>
+```
+
+----------------------
+
+### Date Only
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker3'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-time"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker3').datetimepicker({
+                    format: 'L'
+                });
+            });
+        </script>
+    </div>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker3'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-time"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker3').datetimepicker({
+                    format: 'LT'
+                });
+            });
+        </script>
+    </div>
+</div>
+```
+
+----------------------
+
+### No Icon (input field only):
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <input type='text' class="form-control" id='datetimepicker4' />
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker4').datetimepicker();
+            });
+        </script>
+    </div>
+</div>
+
+#### Code
+
+```
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <input type='text' class="form-control" id='datetimepicker4' />
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker4').datetimepicker();
+            });
+        </script>
+    </div>
+</div>
+```
+
+----------------------
+
+### Enabled/Disabled Dates
+
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker5'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker5').datetimepicker({
+                    defaultDate: "11/1/2013",
+                    disabledDates: [
+                        moment("12/25/2013"),
+                        new Date(2013, 11 - 1, 21),
+                        "11/22/2013 00:53"
+                    ]
+                });
+            });
+        </script>
+    </div>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="row">
+        <div class='col-sm-6'>
+            <div class="form-group">
+                <div class='input-group date' id='datetimepicker5'>
+                    <input type='text' class="form-control" />
+                    <span class="input-group-addon">
+                        <span class="glyphicon glyphicon-calendar"></span>
+                    </span>
+                </div>
+            </div>
+        </div>
+        <script type="text/javascript">
+            $(function () {
+                $('#datetimepicker5').datetimepicker({
+                    defaultDate: "11/1/2013",
+                    disabledDates: [
+                        moment("12/25/2013"),
+                        new Date(2013, 11 - 1, 21),
+                        "11/22/2013 00:53"
+                    ]
+                });
+            });
+        </script>
+    </div>
+</div>
+```
+
+----------------------
+
+### Linked Pickers
+
+<div class="container">
+    <div class='col-md-5'>
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker6'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar"></span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <div class='col-md-5'>
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker7'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar"></span>
+                </span>
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/javascript">
+    $(function () {
+        $('#datetimepicker6').datetimepicker();
+        $('#datetimepicker7').datetimepicker({
+			useCurrent: false
+		});
+        $("#datetimepicker6").on("dp.change", function (e) {
+            $('#datetimepicker7').data("DateTimePicker").minDate(e.date);
+        });
+        $("#datetimepicker7").on("dp.change", function (e) {
+            $('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
+        });
+    });
+</script>
+
+#### Code
+
+```
+<div class="container">
+    <div class='col-md-5'>
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker6'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar"></span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <div class='col-md-5'>
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker7'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar"></span>
+                </span>
+            </div>
+        </div>
+    </div>
+</div>
+<script type="text/javascript">
+    $(function () {
+        $('#datetimepicker6').datetimepicker();
+        $('#datetimepicker7').datetimepicker({
+			useCurrent: false //Important! See issue #1075
+		});
+        $("#datetimepicker6").on("dp.change", function (e) {
+            $('#datetimepicker7').data("DateTimePicker").minDate(e.date);
+        });
+        $("#datetimepicker7").on("dp.change", function (e) {
+            $('#datetimepicker6').data("DateTimePicker").maxDate(e.date);
+        });
+    });
+</script>
+```
+
+----------------------
+
+### Custom Icons
+
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker8'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="fa fa-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker8').datetimepicker({
+                icons: {
+                    time: "fa fa-clock-o",
+                    date: "fa fa-calendar",
+                    up: "fa fa-arrow-up",
+                    down: "fa fa-arrow-down"
+                }
+            });
+        });
+    </script>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker8'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="fa fa-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker8').datetimepicker({
+                icons: {
+                    time: "fa fa-clock-o",
+                    date: "fa fa-calendar",
+                    up: "fa fa-arrow-up",
+                    down: "fa fa-arrow-down"
+                }
+            });
+        });
+    </script>
+</div>
+```
+
+----------------------
+
+### View Mode
+
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker9'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker9').datetimepicker({
+                viewMode: 'years'
+            });
+        });
+    </script>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker9'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker9').datetimepicker({
+                viewMode: 'years'
+            });
+        });
+    </script>
+</div>
+```
+
+----------------------
+
+### Min View Mode
+
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker10'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker10').datetimepicker({
+                viewMode: 'years',
+                format: 'MM/YYYY'
+            });
+        });
+    </script>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker10'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker10').datetimepicker({
+                viewMode: 'years',
+                format: 'MM/YYYY'
+            });
+        });
+    </script>
+</div>
+
+```
+
+----------------------
+
+### Disabled Days of the Week
+
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker11'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker11').datetimepicker({
+                daysOfWeekDisabled: [0, 6]
+            });
+        });
+    </script>
+</div>
+
+#### Code
+
+```
+<div class="container">
+    <div class="col-sm-6" style="height:130px;">
+        <div class="form-group">
+            <div class='input-group date' id='datetimepicker11'>
+                <input type='text' class="form-control" />
+                <span class="input-group-addon">
+                    <span class="glyphicon glyphicon-calendar">
+                    </span>
+                </span>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker11').datetimepicker({
+                daysOfWeekDisabled: [0, 6]
+            });
+        });
+    </script>
+</div>
+```
+
+----------------------
+
+### Inline
+
+<div style="overflow:hidden;">
+    <div class="form-group">
+        <div class="row">
+            <div class="col-md-8">
+                <div id="datetimepicker12"></div>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker12').datetimepicker({
+                inline: true,
+                sideBySide: true
+            });
+        });
+    </script>
+</div>
+
+#### Code
+
+```
+<div style="overflow:hidden;">
+    <div class="form-group">
+        <div class="row">
+            <div class="col-md-8">
+                <div id="datetimepicker12"></div>
+            </div>
+        </div>
+    </div>
+    <script type="text/javascript">
+        $(function () {
+            $('#datetimepicker12').datetimepicker({
+                inline: true,
+                sideBySide: true
+            });
+        });
+    </script>
+</div>
+```
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-144x144.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c40e3400abb425b944d4dbb412508aaadfd4187
GIT binary patch
literal 40227
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-192x192.png
new file mode 100644
index 0000000000000000000000000000000000000000..8ec2a4bfaf6b29051ac8168944a3a26fcc33fa76
GIT binary patch
literal 68963
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-36x36.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b202e9c784b05b1374b37715f472f036cd2e480
GIT binary patch
literal 3800
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-48x48.png
new file mode 100644
index 0000000000000000000000000000000000000000..517e151bb05e7fcf226ff58c2b3604cbb9d10ff5
GIT binary patch
literal 5971
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
Cwep()

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-72x72.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bcbe3412b6005bbf74aa4b9de83254fae2ac1ac
GIT binary patch
literal 11838
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
U*y&Sk@I0U-|5UCFWg7Co0GGX_asU7T

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/android-chrome-96x96.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b1fafe26b2fe3c87165c6fa20b0e208bfaac481
GIT binary patch
literal 19482
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-114x114.png
new file mode 100644
index 0000000000000000000000000000000000000000..f31b0558b9570939c7c62aa3fc009d4b1a2e5008
GIT binary patch
literal 26475
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-120x120.png
new file mode 100644
index 0000000000000000000000000000000000000000..df87985f4a22b0f830117ed78b2c6b7792a87c0f
GIT binary patch
literal 29019
zcmW(-2RN1Q8@3($B<a{&2-ze1WbcIRk-hg`;UIhOQTQQy<p>eU$_jCe?2MeO?EQcH
zpDwvNm+N!B_j}&^xu5&K-(s~jl}HGw2{AA*NK};Nb-;K3e_s$R@HY~#I0}5j^wLp+
zW7Lh&{s#ZRd!?o%k8$_!&%4fwbnp&=yRxAd1_lxNzc0+m#n5Z;Ccd|dh64UFE<Gj@
z5p!tIUknUaR~30VUH^HPPP+^fln;C0m(f<wKXp4hZ!`z(t)Z+C+qevSoB1?F<i^H-
zhe!F1c9L#c19`3e^lIxT&f==;6Q3Gc=P4Cp$rYZHYhY2RK&kBCO(cHbE_kuwJte+%
zGrO40Gg{4HAX~gM)4BDhxwrLmr>L~=v7Abp*cQyHKW8fd!sM@%#;VF`r49*)et`uQ
zDRD+=F(aVx3>_w%;6f-IA_wspTh-`?G08utNN9v&Eg@vYw=#58(h$%D4+NA6!OuP%
z2Q`7<$PhBH;0X3x8zNn3?vEdtB=85nOk*|7GL2D5`zC%QNfrv>Rj$POtc*0PLkskC
zlp&yFqG1njy=e!0OcVI~{n2QO;!%n4hc(2K*>@`AM=NV^h@PG)%7+$TpEz{zNKyrY
zY5uw|&4x-ElZ=3fF#Ei%y7%gU>Q2RCu~mlaC;n1kPuU9T3YFLv!h#8>UpejlmiU2!
zVV30h{Rk^{6I7;6pNI3f7w3Z}Zo&R*C(kkdo`e86B!&3nGbRMO{b2KMf4w^-0;A_8
ztI9m@<AZ?n2mXqNS#$%I37m0QZ^M<M8Eg`S^EK|84mujn$bWKN<8S@UR#mM;w=-(H
zPu=!^$vVG77$2YY-|?Bm@Z-Hbdr1{)bG1(nN31}Y#zbZQwDUUWmvHpG3im2T=Sw6W
zY@%+2%QC*)JM2?PV?{t~1b)VTc64W6t+1SERjUiLy1jS2|9x5foR^zHQp|+mmO%9P
zepc8X8`K&8rm8A|f4FId$o;HgXu<8FSwrIOKyVa>%%5e<Yl6pUH0|B?g@h`E5+c|S
zJJQutfbjS8QzoIW%|D+plr(N1|2S@OLS<!T>7(=s<dUpVj>0NwSm7A`vmUev2pm?_
z_t49L#b5Vs<?`-Wt9UDbQR^1}+AiGZY`hWOj&z9>I41jmZhwb&9e=(CAtQ}vytq5v
zCw9f!n|*2BRrS{<>`Lb53j5yCTlWsLi1DBz{20<-q^u9`hu<TI+qYxEH8|vQ1UJ<+
zw1RiOR`~8x2d@nc&?E*n8aNB>`0f3qqN6J;Dl#)Rb`r^tE3vP#+{R1}aBpu_!H#Ib
z;5?ibx~_lX*O1Y5c;FLtmvB3Pd>gr|_{M85fF36PX?KHxH2C~Gf%!4=j?X^C;Nh}n
z#Gfmg22<VTWkN*G094VP{-#y#boIYpuX!X1O)19@4<1!cd)cwJatHUx{L#(quH&*u
zd@_-I4V5&QRk_1Fk_Yh~g|4oy-Wn^Up{Fm(H+`?`XaRemFlQ^7Qg0U$xk(i6HqtsA
zch}{1bW^r`t8n)x0)_EdlM~ksi{c4H!X(btXyJMaGdsnG%KPW(RBMP~Na+^(c$el4
zlw8^Qj`b7S0ExFrr&&D;-B1WhbdP`2bBuPtawOfxFpF(Uh&8tV)$?9H-#uEydhYmE
zy*WeZe&^AC*VWi!ho7*9g!lIM`&yD7*RuqI(D%ArMO#K$Ctejx=5im|%$+WxU9Xl~
zKU?(5ww^oQ*AMFmJU+qvw66wpz9=_gkoI2Nx`y4EIEw~a<n<IrRJ*AX8c2>2uoZZ1
z1~jNd5XGuOJXF&7<qCp|ws5g~WEp=<Pfsl`GbAdOOmOrYpiXR?<M;+(Po6x%#|l?w
zC6Dim=)r&wdeAC7@8<FxTMpPN47;od6Cp0u;mjU>(EHu1?etj;snpre7#l;UA85Bv
zhy60Q>oS?DY`uIG3Yf7-?%}iY;AL!)rPjv_4~g{W&YEPEZ^~xt94!nVC}5(rr-YWL
z7DEA$2~Ev!J|=9?U3mF(S$3HxlI?WS1(7m9wO*jz-m;dV9S7Ba5Cwg;Kna(mj+eYW
zw|aZkVt(`WQIU+t+Sl8gtA%;bA?q(f*hALLnX2F7B&DQ6R=@NGb|&%jQp6n{5hW^?
zmX)zl5IW?|I2#ph^}ULnm}pci_4qZInv_JU@cgB|zOAjTzW&Us2?K7*g*GocC8et<
zqKA(&<EpAw&U=4n*#vYn|58i%Ov|X!@a;C{&aba&R3&Wr_~PyHgCD*(NzgC&F-dYO
z-LRuhHuJh0`#uy|1C_fep9H;K@US?3<{Cd4|9{__Y=r&(YzG_^rzcB#a?vMCBv~1c
zcoZnJt_2jasyI2J!KP^oIJ(TN&W`JQ#RtQw7)81aH&G~1QB%*idA;PyR4>!XRacz)
z;Do9R*>y4x+AfZP7i$|EFC@~4Qa*f`P5IK=P|EYy;0rCO>B+RNu(0d#+dp@?Z{L#P
zJxgN^_X*$nySTMmvi{_)n?mrzZc)=Nic9)dxBg(xXreCyt}j0qcm@ADz-~yg*hWfJ
z+>Y_}Tio4n5Ygf>;jkl!k~ncUNQ>C5h*`MrUxt%O-l%;(4radRW<)a98Q6LFDD1j#
zdb%Yk$#=o`%j&_%$jJPBUWqE=9az*vMY@3rpH2gA1l%&=_m?jbXt6R+aavM_r``vv
zF<O4UzM<<h%Q<-klK$K89PpS^2fuwIJepnXINRKMc)GiAw_RF6MlboXsp)S_*!f%V
zxHP5^SIfMCw{g93&VFRUXQW+CAy&bCB$)s0Yq*{bL_v`*RtY4%7;Kn?uYG+_yU&<b
zP9r(O#&1j)>212@jwF*k@JOYuix}3Gb;%2A!K<c*Bd$Qb-)FI*W^;DdfIXixQ!NS}
z>ggEa@g!F{c>CFS(NiDQ=NZ-lmFPfL^4Nj(n;Yy-iA#dw-`?oD!Vc$!PCviv&Cz=c
zzTgx4Ie8}troMT^rebDhCI{PJ>_7=&x4JG;)6r?Ll3$(eFE*B*&D2hS$}~XlYA*PC
zZ5azL7rBv5$p!{jV2yB^kj&sO&4qd_`$fY%r#S7$eO%9|S|!NdMIx;zWb7(M-7?9|
zmwU$5(h&F3*xKftiOI<Bj(1xX6<wX3ovj6GD>MtKsh_(4nVpDXkoLJgZ&YUe^r@XT
zQIR2VyI8Tb@xzDz(Cu~TIy9l2^Frdl{m4iOV`HN$e7wouKaP(_Zm!nV)P|$r&-H}$
zroXHzH_v&Sie{?r&NUDCEY8i%ZES2fBV8=sg`w(9v!9srW)J6;U+54p&7MA*cP&5;
z*YBHLxJNLA4K;BOH|^&{+TRttc1>Qfw^I_GH6QR0iOS#)D@Dc>%RF>-9TLMT+$|N)
zKTJXs@KPwu_?Wtj2ut~#>|_!>T*}YOOS56iRK>-z<;q-Ybu$+tzgRl!5)~E}786tE
ztktiEzZo0TOc?t0O9*Z-^&vNRPO+3KzE2>Rc&o&ymLS}*#fU5O+lFVRs$Q0;)!Un^
zv!EhTY3b1YrA~jznPr)VptHKx<$wVXT2+oM+Mi_ON7ucrbU_C%zsYQLjYavy=wU~#
zbdYuFoZ5JIBrPU<>FDr1k4K~N5%<c-nREDgQ!wV(j9n}DFYdu**;m?|SX~G^pd((K
z#fS(Bh=LxZc(hztO6ufv!OgTY5ZuYh$;qn`uQq2siolJl`oX530FRoQBA}}5=}k4W
zSuDd%TLH21lRl<QDcp~%s@TY5bt;_~d@FU6`qnaZ49k<Ow6wGonNy4C7I8|i&ITS*
zQa*jUfRB$izu=Y4Yg#3WX5ZF;NE6_?$3gk{()QC;($pc8Yd3rYt<JYj68#N}#>@1^
z=fwj3Ih&q^T}p6HJ-tlT45FTtZUh8@GyANkZN+{#;d;aYj>S@}EWm~!XTFE^KAcqz
z(lhrJVhLv*W8&USRo*UTxN2~qF4MVZHBsc$>avw6y2MA!QmEN$ws}O8>ORYtc&*rF
zz|Gh1G~M5?$V5%lQRf7Uc9B4%(HS}lsWhY1Wq=h9yCRY09UUEN8*At1ro)bV%b!Kl
zNA2@G57z<^V#Nj}gj>pK9R6A`?Ej*q++J8RBgD>XOBjEJjDJNXLI+%5UUoHHF2&a;
ziEVx0Ss*3C*QCG3d$`YHd5dCIDKRD|@ukfu+-iH*+&vL4D);m{@)=|`;eNtB%DnQs
zfxB~tj*fO5@+9o%V!PYhCMG7dbaXCmZdw&neXk~({y4U@BaxKEh?TE3^;?`wxz5$B
z6RKrRURxG?_RI)xQ?jUtoE7!*mO1Cwt2%m_UZGc~yWUS1r>3S*C}VC)w`F=S(|WV&
z-q0&eKBgT0WT-l4Dr-Aibi>Esjw+lW2+?jw$SvM$^3%~8H*5s-LuV(EOF$3fPK1{j
zS=Ua0d1%{g-D`~RUtm`<uc4DdBnjAm5H1TVVpt!oB*s49o!#Abhu;9Ki{Mv`w$%Nm
zr;^q@_h-TF^P;ne#+0)VbwRVeP=D^bjOgA}#}-H9y7l%JqrRpZI*Gt<8);RJCxKE>
zK5WcV9UknTd+n~BW?Kbh#KZ{+3Gb`smzVbg%y_dU+*f3klt52Z;-GL9qAuE+L+<vv
zRaIe3HZ97Bf4$y6_^&=bWS}Sc>Oh2b{_H6$%IAT?p=AA>^W_976XK?Z<fk{^Jvh9(
zF2a7eN&WX`TyMTbm|PvtaMer|c_s(jkhK71y!6Gd^hcVK4Ie%lRO<H+?AO%SJLEm(
z=idl0L7mtO8F5hTEp|KvyW)42XB%x|pE?VS7_Xwjjx{#V_RTjeD_yP!!y9P>lDv`w
zjYm<S<;y`-Sjn?&dZ=+Ddpd*8k`fXIn<RyWTRwgI<hQ>xGcz+)!9ai)QB_q}TmM$d
z>vXquxhVfFQ4Cz8T8`jBgvS`0%3;nU=p%#qJ<{%yEA3c@jvk%!ndz4-`{*o|7zPY4
z2g8~2->f*6BVVtwXOHWnpi8!Yu`EQ~A4ka=H%Q^<t`$5=AF>ysPE^Fl!y|q+ZY=;?
z5A5U@5YXYx2K~UeS`YVCntbz|elG+EOKwni+Ofr5?B~pkKJQDc@OR}qbIuFX)u^~W
zPmw7_&J+LMBU+}E_1Ot~=a3L7^4JX3J`-Lg&S@bMcjAvRs%3xI;-9dmt1KXC5~FPl
z3%vBEpGru8MueJbW&t0eBsE{uHFQg2nToz^FJOd^*c8>8W>x^DDm`O4c^f%@vvC?m
zK_Tk@UB*gWOWK_paUJsK%aNEOG*T>y1);6?z-mO2tWiTNRD#c-R^NGH#z!hsH40vQ
zdU^_0ckicoj%t~;A?S7DL8pJt&(HhfA3iHiDW|Hcita5g?7-vbLs%$0UolSj$Gmpu
zTa0S6hOEKodb&uR%w}u5Nl8h`s`7hp-cmxp)~ws$hhvL2$5)uKq2ZyV7V2baX-Ssx
zH53a%AXMy-*J7lB@?rW4Af?mnOmZI-MjcweT2JA*kOmzL_7k*-u&}%B?QN~F%c<4X
zRioN+hdl1#0-~N+)}e)T>@J$Un23e-hs({13u$(6$k6!9OVaf_(ghX-&Q=6b0#vpR
zET10T06+2i?~1q7KgFS>Q4&v|!i!T}BtX5?)fLEu75{6v%LZm<t}ZT%pTq9{{*5bn
zA1=#Ss99Y_Nr<-=J9~Wm1JHV>7NbrxH<A3JEr&e3*dp(zJUDr8-@c$|sjW@)QY0`m
zH%IyO@p(`EK+ViR<Z5eqVClBa1U;H%I^i*dQE)*)K`AMzj7g)~naN2kcV9{R;Vn_>
zMB6f*{+xv5<qi)kF|c=Tj;B7~U44F8smp8f(fx3(FJIK{mAbXca>TZ^jLjcoaaGR2
zlFye7m?^5K(^CB~hNu3tZfs6BKSlcGoq2><ndRaw5W0Hd%U-k+6ofbVVMlJHbkee%
zJvoF-tXzWqib?~ws|>f60Re`3dWKom(~bhU>g?%As}~V(gLh&({Prp1`(zovJBy?Z
z{rdV9QNl6jO!-SQ%SKNRJKUnYW%qPf0#pk>;DH)~D`H8krBP9Bwo{Wr!r4v?G&H+A
zJJB%-1M3IQaU~z?j4O2`dMuorsx4s$CZo2^I+ff{p5&JoI|NG7gUKps9n^+#t7~n2
zy`4ZU!}SWjR)PO(FW-y58!yd6cCUl737BkU?M5sUs;k29*(5Nr1|#Tn(Z1(XXI<T#
zjEL`a5|^!>w<9li68Kd)dS;I#A<tM<Aw6jbsw0R(i_ykGYVY0V^6gu|Yxvc9$YcGB
z;-PhV=qFw0Ypq=;CD2#y?tHoGtm#9_tdq;j=9RkYQ`_5vLrp@0g0<+Uzm}aBTpb)7
zgs1_foO7N*?!Ib-k;X*!d_O)`FP-Ry(L`%PqLl4JLP&`H#b_zvI9Qnf3b!-^(6;lB
z;x+I#6A@x;@`Q4Sy4qTRU5cfa3z{uPHVF^n6`15f;|EwQM$4P2YByF;n4cf7X!YzF
zzE+WBo7?_vVq#)!Y!J-L6vc^~uyFJoe_6yeM*L=bz5@6A%#4V63RCMB*pv`S+TDu!
zs|3FOtVKroudi0`KS~N&$*s7Zwv)~rMcx7uX=`VfOfR(=uyk;c_^|6DS=22F+%Two
zd1g|)8KF^lF`tCQ!rXKv$K=}DE0O%NjA%GhFJJcqaPgYC$w_j!@;~7xJ1Yy)Q>?9x
z67K!sbW&wwT<##xoT^ybBfea;@KUeEfcsmMa~`|(%8DVVbwJpn;00d8fG`SZ+)pwB
zTOb*1E%Se)Gehu!9O65`m5t$SqA0jA(q(IGF@}_^@6{@eXtc}1bL+Vy<bmb*5jNHG
zo=dXKN|@!kgRybUTi^MF|7`kBXqo(*=Nf9tp+AL2fhrJsFh>@Aoz8GOVkdnvyPix+
zdU`)1ck5f+@nowxGotHs-pQ@-#-ViL4|r{FzstxPwo!H9gULf&oSprPvX$AL7b5Iz
z6L2Ht+)XibN4Aba$0GPe#Knsp9K~q4D2d{jC6ahlK7ay1w>Y*CN?<xrd{2Al4uz*Y
zikD}uLt_>En3=&#Hm#oS7Op~}=bVvq&UN+m591Z4gz`t(oxOsBu2xno+DzzyQjwEm
z@8II%qCrM{ygM)Df3~+6+{Ng!8W5Tl(D5z0aG~pGz60X^fYyc6=b=jvQ$$;dGUy$t
zEJ~mQ;Njt^3%;uo_);@h<5Y!rkZzfmWpgw3`F8Q}Fcwtsg2eY_(eIO!o*UnU4YREO
zJ%?~vi&wAUkb8-W%`Uk{wIyhy<~e5v2Tsa(M%=iP!KP1u5G4<kPQ14<1Op8-0v1gV
z!7)MAPJ@mG#;2&LC|xc+?ktS9Xm`d`W$^Ru?Q#4`1M5f^uQ4Cf`e{e7sliL9@&giy
zhZP>!Sv0;SHSR_Gh=R~YAourghl5fKv+=DX=t-GQCFmBvCvEz_+R0qyhKJJ&T8xa3
z-ffuQ?v|;ch@~)`2va^J(*SlwaR2Q9v&tm<OrunX<AMl$tu^dQH0<!<TN!`%!K0u5
zv<p^*wE)$ChiOb@m1d=SWx@DE^P3*Bit=(<vg6ZJdhy_2JJU`V!DeaJhFMtQ-N(lt
zs;aVVe0+ToUznzTJkC@F_%rPY1f-;O*)Ktsmc=bCfc8cATB@WuwosR4c!^RFw$;_X
z|8_a=SgUVSK)_2ofUARFCPbecxz*9okfO}$yr54}Hertw+2b$CJM1Y*?<Pe3&TIt(
z)DdWo=}GIlT$z=Xl>px6ke!W<{L<3WfU-0-HGTTTJ?ts{_H)pgFE_nP1^I99Knsh5
zMZfWBG>J-D2yT;<IX1kR?#t3QDqGK6_>~IxW?P*TgG{Ii3W$Vto!5VdK`Q}`^F?A=
zS!Q6TxQOqTxmnoJ#(wDjUg4p=(B#xqb9=i{^)#4@fYKnC>&!u6Jwn6q8K3V>xkI$&
z%nl$Ye*#>a=Md+$ot=d`pth<VsQo)0KYmO^MATj<xT#Q5>{vVbA+OD3VP}U6Uh=uV
ze(nRCN|It}qGB&{*Me`>S)`((LRh2OWkG1vfLos{Q?_7u!_&|2?D|?#HZoHcJn!z`
zn0Ea_8e;*Kx<Ga9U6p5^n423Ce?l1#Tknkl`@L~)t`gi4YkDl8KWv6CP9A61V`i-h
zh6lIKiY7?c+Y9!ljec+o!3r9A5b->AFzrKEQ8rruYR|OXVPr&Iw6_26-@o~8MN(n6
z*FfZ{GpDIT(ZtIC?G7(~O$CWzKJtpEp^37citAgObN02eT14h=sEX&Rzpr|g^VG_$
z^m(!(OC7qVt}Ys048~5B&;HLg78M;13ZU75xu#4f7OGRJOWgZLp1H^3y_uU({>)g9
zDcT7=?YM}fYbaT{%~oYoNsH@)^JZh0$cfRC;;75=@(kns`VZU?bE*X&gmmcJx43eL
zRd@f85IU=$Kt|E5c%U$}0c0*6=Tt@V*k3^P(kgr!#lM3_yQ#Fkf?GA7OY9dt{uK{p
zAYg)iNm>`!WWuo&o%>SRwi2PktU~VMgvOyAJ~BbT5Q0rL7TiFG*!{h?H#bqJ%2r<S
z2)_ExfjT541hL}IN=+DTWGo0-mGIkpnxs~lG46)wz4s=P%8%e)j|F3{Dm0EQmX~{E
z;MH?e)U#sk7Nf+zS4rzX+kGCxh$D12k1m3xm*?jl^ESavSi*+n9YaIq(yW=ZYxUhk
zT>1^fXvb`u>(HA=0jit`8KjFIS0>=dgi*53L5G1`3NAS1m0QBnSUKZLI8?#K2iAKm
z_$Uac9RWN=_AuI$BT`%zKyQsJ0YI6XOSOPZq7}b9U)Sm{iM5?tqvhe|{&aNO@mk+a
zONKlGckT6s2QNn^f^o#k#2o?Mwcn?Vz%~>~eWO&G8rV5w|AP+I^yl*Yd=ZG5#Cx<k
zMMdoaN1H&-Nv4x18r~4w%2b_h$^)CD#b}z(djSc+S$-8TbsZjwqz!EU1b#g|ueJi0
z1psJ({pG4BB_}JDK9_md>H?V5@AfVvax=h8h}zW5Y^l)-AO2pOLtB-}HG`EPVlpw2
zL{E=R#Ze?buiPpDJ6sk(>h#XEBM*!i%K?Y<o9)uT(d&=*Nn_-adxb5B)(-tEb+IzZ
zlLrKI)r+-Zbac}`ou#Fb(2^>nV(s(syNkOnud6zTyo3NKrjDw$Av2Cw_bx6u)^je)
zU-x&RqZ{q4u~;?NZRS_g%Xc@+Kt04i`!kn0RQ{^by-lY|R~4U(UYo+f`*`N&>V=or
z5qPyYN>LDI58L$nGg=V#2x}1GVJ95=OWH~#xfsLZgQY(M$l#{T&d!z^&(Fy*FfeeZ
z-8xw91&cB5INelZFQf_qZ6hVi)Y!P$rK7VG%q_5JInGgQ0Y<TDN4=>JQbDKPJ3r7q
zkoH%NvpYLr%ySjt8H+*(wiro4As<>cfUL=q`UZ;SU03c9R|1qRjA}e4U2e)%7*+JD
z80oumpkUS2!4+Mstk!?Fc_C7IdgNx?ii(OVD}QHZW?Jyc4zl|N-7kAq5Rl;21AB<Y
z&kpH{;~H*~UzmSN&;ubDKcWvl_*Enolr|)99(I<>@{COC`1_QW%pw>%?1dtFzSo%s
z@tSuzE+kbs=FZfVJAhk5?kWrYa2ByP{D!p28||O``-&@5SC5L~l_b3ud%CPxoMLIT
zC9QPu$2n*CEQ$CFF_JlF5hw%<sqSOoj(Qx!w*lG>4XH56i{#@Dj6EU(V`6OVki6vF
z+=O1esI_4%qBPGH!t1<XW^O)i+Z-Ps4_c9r4`u@XQ=B!rH?A1Agm{rHMx#Ea|2Vd6
zixHT742+DZ>FM|W{J{y6%vIl8Xx;z2p_XWCIwh=tt4j0Cz`3l4qaVjg6;hmr;Ah5}
zIyHGH&!1%FHI_st5zT*^6VLBUo9&gV*_xxMoHeam#g^^#Ir!pRXON$$$lr`_2&l#s
z?%yw~?`pomtOi<K7I?GctE&Ffsq~jzLZK?qfqbx^pvG&2%Z@Kk&=dB$kbAN6jxF<l
z{x};O8>^|QwV6a$051@y;s4ZlY;;sZT|K9KZhAUXot;f(es*?yX9r8zs2&yB(@>nh
zBJtoa?zq)xc^P_s<8ijFZFvtGKZefAgg0C6iD<sYn@qq}xG90VH0}6+G>ARD5`_k1
zr7jl<3CZZ#*iwg|+dvXstbECYy*%?OQ2hWq2Dqg{zM^6B+&Y1Pjp8fSWEz|i)pCy<
z$SySBtyNWubH+D3>F9P70%$I-Cnt59Eyu^Wxw&g7;xn_&Z<lI~TOC{SEMar%`E}^H
z65E9)#5-$&9!atSq_qI%y@z7zDK^R#Q{eOb2`!xfum)9(l#4uLNge$Ax5>s3a0}GQ
z>8bCOP>*myQ4wC~i>HO`2yPyp=c>J{4eMeP_TY2$A`54-)VV3mjg0Vu8x6RVmOnpH
z5qmqXrJ=#YJtCS<`SDem4rivS90louGYs!M06Gtg?tx)@?TTqKLhYTLXz1uVeb8B~
zDusoGuyt#JfaC26z_mVpv@k@X+Y5+>o9G5sP5g`SPoej_pTS03d<6Qtaphp6BkD5e
zE7)n=VP_J{H#4nf)HEGlH}j(t6B0y6@xVs`BUz;`7mOGeOAg_#q!fd0j{}B_0?LQv
zSt~cu;4c8t6mf{&V%4(A#YIyNieTI0krCoSwNA4q*~5qw;8YrLBO4mDIVjc+&j$yU
zrQhO@S(NE`&^}z-?CB|twshyMnpWke#6~egA$<Ka`Y1qNSyGkDbevp9zpi`qLRiTU
zOO?p>mp{uCYMz~*j*W~^#4DTw>xv43gMebxerRb4AFP;iP$u;+dNeGs4WuG&6&)Z3
ztgWr(3fc*23|kvLP!Q2r567pUZE<?3q{N%6uA}PrXV$~Qo+EuUI)Z7y!+F4iPD#&Z
z0cl@XOOs_XrORv3n6upCWcTuA^7?^9>%K#kCPa^-t)n9dIEjeCx?ag_OLZ*FW|KPI
zYQ2O?ZcaKn)12>peG1BDkuF19N7|B8&LWsHT$!p>RWs<5wl;BPKHKIwP?5>W$xnEA
zT98OzA0Mh{kM;gU1Mc~yA{GSilP4WXFKdNQ_vW&fId-B|A(|CaySuv^o^4<p=H{0D
z{+yc<3S8-vlSI$TJk>I;=_Y6dwA~4{XD?KR#<L2xwWVgJ8^jXqH$j2^{O%*;HpY55
z6i5$`5C}Mvo*o&km@Fg!T?_mIMR>70S0+0G`QZaC@L#qktSYqLhF%{k{WA)b=*4f&
z*OSAxpE3OK-sn7AdZ8Bug?qJWexE_Q5cKd2|CQW7KTPNOomD8|Crq6<Jw07n$vODl
z+4&bqueM$$lpKOXWfg4+36~r<HZr3B?5Cv<HW~+oIx9IoDJ^Ij4K6gaK^W@<Oc*JE
z6s)|C>Rt70Blb`g$?pt2;qs>*9v*Hn0zJ_v%e3-`t{x5T&pCS`l<17LVH0<CON&oH
z0M$3TwL^JH`bP+O_{$cfbXIZ7c>Ss}#nR_onLrdQr^+ke@Z9aOSXt`q00i>$XPNXN
z47`jX>(}rPg-<YE$5vIza^q)%cLA*<B_pe^tHUZYNMlua9x3+%vLZ<cS1DaO?-w;U
zFg3*H$UwIG{nG@<m9^va^l}ReWrEM$pJpcYy^`=fMk0|$`cp>+jRr>G)<Dy5wo5K|
zSb^zPPxtlp0pZ`X?Z@OKH8F0}95K_!340)O(nQ}QjKW}X70Cy4QE4eCcnDK}e?M{W
z;D#pv%F@zOXvN}3k5aSxN93^v+|eoEvcPTmR}HFV6Aj%n0V7#9oasZLw15x?sEGl0
zIXbX&$^J+Fkad+=y;_<HS7ucUwO!Fl$=nCA`}$MB4XLfA614F4_01aI0K<k{Wu8M`
zTnX4dzuTo{WXRN<4FP^I0+o)W+gh6i07<kZfGN`sU!deHu&}UXs$TRb(iCeeqev1|
zLQ4-G-JN_k6APOV(lE?|S*2BR>6R32F-H?*LE&{)rk~s^KfAq~u-69AOvi}x`E))R
zR9&9N<5XpJb#>V#oKQdw7KKRum4%~`kFvG<7~KG_qhJB~aFb_SK^QzdGhed;NT&FF
zQwIkPB^*jgwBg(?TH~bsvp;`cUtR|CK@$|$5*lrr!BUn^xL4}VkMS598z&E}L++WP
zdir2(;!j0oXh`ujre<enF{ByFyd536XbD8}efX-<)6>EH4ZydxHKup9sEA&+#d#rm
z;Wb8#ms#~RBeyK1Z0a`<4QvH+Rm%h<Bs$vL+dqB!Y5yZA$d5H0OsIzy=GSXw@!8Lc
zq5VIQbO;=c*8il&Hwp+4uTT4O3`|W!&R1VF)eJWM65I3pe6{EncD0b9TB%!ATH4!G
z<1R)U--m~fFTO=4<;_JI4;Gq$X+~5Z8?#xz8WSZuB_!sTsEA!4I7lO&)C^|tSo!vj
zj`+T{u|kPQ?CgY5SU9*z>)_cXCNHz#;71k%uy1Pj-CilS7WmyxZ&g<^82WW$Vgi$m
zCskQ!Di2dVz`;SBKHjd`B~|&Oesv`L^>)9<&$f$P#}=#!N&7EgN+!kwS7wZVGTc;$
z9<`l9?pg~Na%FN46XIaS%6~cf6f8}q_(1Y4P|>@(x<FarVr|wMvjEQ6Vszqkw|+M*
zv{)eroWHg@lK)H)DeE88SRcoMMe_{tKaU+?P=WxVbE(U#qrSerwH4(f^-e2ecte)a
z9X<1={5Pn08X6k-!Q7nTqV~&|FG+eiGUIa9DH*RXE-w5f>0{+}^$PRyj7&@bhJcbZ
zGBj)pxk5VR0i=k6TLO6`rFU;<$J6wo6^JodHGV|5FJCQHBVAfsY=$@fe*Hxu|Ex@h
zK-*$UNGch~i1qa@*3E5EQMjl>QhG@fZlHq1DXw7=^yk>jrMiDydM~(?Fi`r=y?UC<
ze-7*gu=8Zqqhxv(qY<(%U!s6h{U4jK1`PuPP_#^V$45qFDODiF9G<M?(mp%KsIF5P
zmjzNBIE0BwjOoXbWURKb?mbp$*;k)MS;ic7>icJpG^Gz-bE_?%ZxUrpD$xi0S5~&M
zw;1GJ4qB#aS=zeTp?|Qar|Oh$f=7#yimJy#c~upV4I3V%gp$VeR_YS^Ut=6&<Pcz;
zZ05W9`uROdS4rtGszr8nk&cvWb9k@!YiQ_!a?<4*A02(J$}^0Wkk1d${>R*0TT@fu
z;Tqe5ugo<O0~HMBe>B?M>YC{5<Chy<iS7p)NC`)Kc@X`S@FH<EU4>z#ZnvC~vGEH%
zAkVvxfq9IAUMvZ;H=0B|*~cJR64?V<F5>l9tLC}joyv-CK}<i;C3{X!f8JcBi@N@V
zC^1WK1wM`_tI|rK#Nv$mCFaXa6>u7<MN@wI?QuOZnYmQJ-yWoiQ|-LAUY`%$m?87M
z{q1d91_m-bumv=xB*%%OfN7KQ*rs1zAQ$uwrXTh~jMNBXzvekzy$5MkJUl!@)_-Se
zjX@4+xhn+JM6@Mv>p@FNXurL^#m0~3V+RO!MAV$CUfwAc-_QUu7B$)&I9*VtuYAM_
zsW#K*ci9XfE7%O$dIG{;t-|REiY!1m5fxI%Ds6;W)fm;T@NA0XoaL2MMKj@4WWb{J
zD_0atT@ACg#N$fH;jAi4vmAp>)`ptAC}ey4=2O?^-zJ~@FYeA|Zd)AkMs1%xw`PKU
zS;Ln(4{dg!3d|ul%!=J=gAk~s5h#+|DZAqc>BAvgOOIqOVu7=0!2RiJPXeFx4+HhQ
zd98k2nWPmxoC6B^x(@KJCui%UCScc+^Z@I?t%u7(S*o1M$tre%TgI0NO!|w90LUre
zzyK3xXLAY*c_`ySdsj4$vTEY)wZsuw{qf_6#QrA@PGH`A@>maKrH<<>0at>*0o2`I
z2!s1WjV%Yob(#64!njwRN!tg%<-N?zKGm|<{7P@iree$W{AeFj5OT!*uosEwVRXK`
zynJe~Z`*9ho%Q#kq{JSC38O0=qM?I6hAl>btY@gkmALbg$6B`-p>#t$EP-3024XG(
zeexC&Ft2*k4#FgSIO1sZlL+3M`Ff$4PjmHmm-Tc~fe4+;y$)bBC}>Q%E_aaxGz6Az
zeng_@;qL14T!oA<@jC21rCNQk7+$nAT&yd5;#;6WJ<k9Mi`VybDl_WPvUZ#lguqUT
zmB-TA2lO0940sp7c5RLi4Gjl>ho98f)DROB{{gm*tE+23KwE7si7%FcU3U{s^4j)9
zDZ}OWn9a>i&_27nyIasGmj%L@-h@VAeAxdux*(CQ4*$)Fz*sg+V^v9GNd@v~#-uDG
zL_d|^b=%h1xWfTQ>{+|*eAa@qLA&dR4<8ULsm*rd6ok0_Vys-1@&LCUBQPqoogdS(
z%P6s2oe#*I9#1j6{&5qu--!a6dh!5Z2$i}e8C-Gyap>yXJF%Nq>kV&|$kLMUodnX6
zm%npFp=JgK1_+o&Z3W3=Wxql`lJkjHO*?j)J%s=A6lZ8;LHvKtj0LDNyrHkJ5AH^@
z@M-3#tyY1U$H7X^(bm5?1I#Ep?WFe>cXq0{hrul0W8v=NvU~h{N=x$aE6~uw!ernj
zCcK9FFQzHR3_Hz$CB>%*mY14ZOe5uuqflO=;tM??4Z%E;;iHdrGzkR#h~oUT|M>dz
zHHMr1%*;3o<eHe70q8=c3}-)ybiibE-(E=>$4O@+NLzyxpT(Qe4FnudD9POX)<U-@
zL2p6VH0Gc<-CHE$jt}f~HPm?B!KwmUC7e$sjf2ho`1LO+uu#J>zCY5{^D-4pA95c9
z)<f_W!Qm=U76*eEp$C%Vd<menj~{`%-Z^<{aZrZ_55G`4<Y}g=L*D6#;JAG01j;N3
z=m>y;bzi(uEY(g-9p3n|+TgPA?AbH02EcZuPF(5?lE~DQFSSevs5E&${WwjX5mUcX
zm$8><1U^N~(WF}Wg{sL#%iUSnbo0=tmQ+{L6qP>2ij%mwC<Xodv91G%xlK)2F_B(N
z^MD89q|E*b|I);W5Yda-6$94kZKnB!&FpGhTO083kS#5k*4Sb5NE?`uB)yA~PXcc7
ztOvJB$?q%*SSzqlfq?(pyL5shD-Q17{QyX}9RTxfSh|DdA#yv^OhN(z0#Ba;QJ0Yi
zqxv<Jnuca!cGmxN&Tjqi94H<j7$cG&0v5V@dIwk{k-#YB0P|O*yibb}@Z{nK){C})
z#w~UAr@7T_IZ2V_;tO6sGmIEkzBHNkZDSq}|4LZH)ZAQD<9>;qp56lm57T;`$^iOm
zeW!AVZ%t{VNCoEStlDKdEb?CrUJ(<7=WE~#q>z_QJGwYJ60RwZdr6_x*zZG$trCVP
zhvttY#e_-po`<fBhL)DGB|>cz3Z;TXV8rlpauWvk;g1#<UjjSLHolZn82gqAr}O?I
zav!Ke0|x=<JVv$PAp`~m(G7@$6y5ABtnB!E@iXn+`|*7%M?=<4ot-zpChpdCba42+
zvs02mN<soUzm}$^^!Z98ctLRji(c|(gKcnlm>l-WsJ83obV2qKL=)OffN7zU_F5|v
zIuBNXC0P<{52W$-qv7EO+*J;F>$7#}opu1fL{V7oE|`9Jzt>It>F;Bq+rji9{;*j4
zzvr!aBnw`-F5)<9sqP<iDuG0rG^RPwSgeitEdT+HtGcWePJz~;U5w-sJUY$p29=~g
z*^Sc=cnE2LL;~>Zi`3aQrnrHQHjNS*1t}%AF?oU1CZ3o8lc|K)R2dKE_=qifVbR47
z^E*3^|Dv1ZYVpHvT^F{j<N=$xc9(%c_2!=eQ6ueS0LeKJ&Xk^*pQrvW5j5?e8$bgG
zQa*$K3g*GRd-L39#CVbaws|C(w3x8)$&9fZNOX<`fJq?c*>7(`|N2DRLjJQzhTw8t
zF0g@s@0*zkTt7~>I;UX)+^I(@fUc~hWe;y8p7^LbG|xeB)Q6j1tGg_mu1zv;si)a@
z0#5COw30|7(UnmhdL(^F0DMCPIot%rlH<+<?Jp2S+_TzaXOnyGZKw~}KkIXqa{8mC
zKs2}2UY%*j>o}CX5ENdi`;AXsVFoL_!KSUn$ji}Dgf>oxYay%DVgAPt3M*nPo?brk
zL-|UBw!q!X!}UjRLoa`Kb(t|2n*{lWhDyVTciQV5sB`Lrr5Tb3!X@!755f4#*FTW_
z7J}Ccdtoa2s_`T1P=+c(TjBZJpuM)`i^65#>AtKpc}@Xb3cfM&A^WK++-Hj1l(s)L
z%I@Fon1=*<csShMVsCh|y?vstsfmkKd~)*15|-iW8)#%?1YEwVs`AOo(^He6AYST3
z`#f?&+-JqFxu>)_RsxYWq8}}q)YFFyN)4Tab_%@4#3(eEf%4|#lc}TfTuAkSf<6Iz
zf#8ZOG(u{e<+azqI>Eb_wKd$!?ZTb_xPfa>1<bbhRqc(9;ZR_oYSSpIY`2?nQ1Hp2
z(N0awFJkTUj5vO2Ou5tAfw)BvzSiDcb9HIyqL7avkV%l4(+|GWfLLO-4OIr6wlfNa
zx*3rL&P)=W)U>1F6osB1$OBvFJy6JE%~NKj54%3p3fXx9csi)F&7GZ{JyQuL7Sb>G
zNMr87fg%0$>C<jDa{~jQfq^I#u%6Obf#3<|Qy|X|HWg@A0Kp6W6lm&JW|bzt3Jmpo
zt%|C+AhC+2nh;IaSM7B(j(Yu{<eBN?`*sp9!LtGRFp!YoHEqX{WBgi;fWF(t#m0QC
zGsK?%mOmjDy0$r*4>Z!n#l;l8W^SU{&A1XUQGhX}hRdB;Yzr7Oam;g?g1HGTEjG*(
z-xWhOrZO|9%fiFEz_kG~#ArK%d@%<Fq0uO~k|+UFsxr=xdlp)NTw`5=u|t;e;Gmc6
zCD(%mr23RLMJ~S<gcs)#j#C~U=^TIr&&%WAV8jA~ZZF>hg=rr;Sk#L1P}B90R_GU>
z#iXPpVCn%=w0fF*7_et27Z)IiKh7Qo;-p!<8<0wlXq?c%U~JT{wr_tWp)uf4l}AgA
z2QOwkuLsdtqX^Ko0hP06CV<Re_CIB#_}d2Z{%D_1nbcdxbwWZbY2yXr3m@{}Z;(h4
zM&DNna%A0}vLr76X7s%}FmE&<{<-vTDr~CZ&=JVB7Xl`Oje|pDMFo0rqPNXNG0UM$
zr|FNanp)u2iUo5jjGkU!Pj5=-v%1{W2cT3fED-5^1HDOwJsmu4Jh;hoHp60iFX9*J
z)?cFVZSH62n4;c>oX)KeBxkFZ5k2HJY4^TYpzq%!<&-BaB!u91b#lV?1_vY#^f20@
zR&Z;GtYvid8eJZf6D%OvR5CnXPG=~VQbV?L7zN)wj>}MI_iCffWF7Dj6%jF-<e4zY
z;8!Hzq*P04HcYEW=b^=LcIp`?JA*GKzg%PSQI$+=kLI%gU$(~rnx>PgjL;z@&4rc#
z@7+;&{OGk)1ivc#{c?wz+S($CvpVRX@5PZ?QYZ4f*#t3>8>;uLC`e;C`l2gAIll$E
z{nq%~w?##Dx?G8h&rm*kdce=Jv)ej9|F{)kY6?8WTXfjXg}gw&cr~iJ=bZ|tuW7zc
z#Gx&kTR9*YTmfV_K^=l6a5v2sB>e;quh=Ls;V3cR+s4FFc?-<#cSXQ4ey2o2Obq61
zQxvvby3VV-Xa{P<iUprG$1l18RrdAh%AgU2H<eW;wR)->C0hYiB^b$z9t9^SJ}PNA
z@RPtrq|5lpyZN71HP7pfvs#A2osDLuolx(roh>Z7kv!u^fZsXft=!4wH5qX0s22Yu
z6!-~pGdt6Cor`r&cLy=`-1Xd~d$eK~E3vvyZD4^@j*P4&6L0FA($sAXzgZgrb+7@j
zlr|LbsI+l`3iU6V9(H#N*iTG!G{zt)?z1%caLiJNymAK^I2aR~m&WQcr`OWaaRqpC
zsD!*lSWj-$cM544KE9OU4ZtlJxOsVjAP2em$Ishnt;`rL5MOM&8jz{x#)hUfGr;PL
z(phWQWV8_21RZA>xMGQpWhLmqvVWZi?ymY9fInt+H42>&kR!_^ioL`U^-&WX5DMJ?
zbR%LNcDBE~>?{(l-2pNMdZZ~Ac-`(kKGQynuNt@8dAEqU_*@g0CP{80$EA;cYlT&n
zvC+jVn2uwbf^CLAF%qLygn)fW`_vmUcv((0Xf2T7p;~6acf6TzXKfe?n&=9#O4F}E
zQh0=yA|#804d*KHkkJe`5v2ElQFuD|TZykfuMS&@F3ye<H);j|Nvbk9Z}r~T(8y@M
z(Mrk5=`m{{h`WLL#LSEx!4(H&QAlxBm7L!rj-7r3Z(pPpH*_to3c@6|9xnUNr0xUK
z_RFevr&&b?(1P#7S!2o7A;tFbC9NvC`g%Uz-rm;MKtTAvMTMp4V8tRMER23?@&Y?C
zx^Vm<(1c{gp{Pt%aPDMaV4n$51b9F?nKX<r3c_@8tyrdmxvAM`Fmr-&q}}X*kJaBT
z`!7Z3y4bGAK_QR}%nXg#rjHFx4GqWNpOHNxCs1KdlQ$Wd@wvY<&R>quR%JtoCciW9
zsH)mwxb9&nc<M9XB-s;-_OGgXm4H}*^C^@SYkwC?wBQ?rDZN4d*BlaZlh6o;3s8D8
z1$lX%v=t`2Pq?{FKKrh>Fx<jeVl7lk2+0vTR0Xd6FsL6#S(eSq$1MP%m04{Kmw+$m
z<kT<p43-*L3ls<}xk%_Le+>U-dvLQ2rqu|N4jldp0OM1nH!ITz{px8)uuTZq<KxwU
zY(`Myz?DPYtthqyyp&8${(d0d0iGBI9aX$fzSMC49Wx(0WL259iYAZ|_KzBSo4(D@
zx1!H}@0_<e`4^0G0Qfcwezz-fz+ozB|5fGH(NtA=GMS)y{qNi0l;i)nRbWol<>DD8
z492hkesDiL>-~TU<2NwZsid)~)S*Dg-u!cDh=m2lmkoT7V?u@9h-wxFel&9f;^(I4
z?x8=H)t9#S)6~Dc)%akJLflLZRgUFU%Iq(?-x!-1IE(P8q+#1)NZtTFOr@j_J=pZ2
zFNG2g!75`Y@KPNFfhai|QetB8`-UCK;moP_PYXfx_rxSYrB)xC45!Ji(V&KHv8k~U
zOf&Cv;tod}6!gFgG~j=`7aq&HU6YigX)*FT$3CyUs|#s2zNgHp4naB-9drNM3`hTZ
zm>rOCp-rWYW`Fd^sfD^hUd(R9s%U_t3}}}<1WYNvK>Vq_oPf2wqQVpv75EzXY=9F&
zzWr+n=65INAmJzBwMqP)0i>mIB7l)pK!k8F);2IS9Nw4@m){W^1K8zlI=(Ug+D*S!
zA1HpUd0o#9vq+w0vr^G3!QVV<ZEI|71p2vp`N`n`LkGwzfgXLfD*=tC0%sIjj0%bR
z+kj6FoK-5T6#qv!^|kfA&#=siUQxaKzFNCyeDII~mmN_c9nx-8+qcGVirU(=C6KGo
zl*&>53XzL0?x<UT_$1b4S3MVmoBgcL`<?1Lv&OgX!9loX!}DUL=h^2I<IkCz6}o!&
z-vkt)+ezVAOk7B68sH`vbrvnp@)0*{4-Pj;iiw@?RM%^2X#tOlAruX4Cja$BQRf9s
zR&rS)eG0v-X~j}A&X<lYAiz1g@zk;96SsStNmJhFQWqTvj`zY?5K4-QVEdM(aaVTx
zM3@nfdw<8mB3b|GDg-uY_NXlgST<S>blu&&1eOPPo-+G=aB!$tJB0{GA2-R)&#x8z
zw8uggf*CA4egd;wslL?P!YCkz>nil&bR;<m?gMxREYFWtL|EJ><lK=fb9;A}iNdRg
zlevn^ix<M4Wu=n#RZ`I!WR%AXCC=6vZiYc~O-aZ70YVswNlCXuZ?A{O3L}%H1KUdl
zAE^MnTa};;=RTG*Clk)mC*ZpOGx_*hL9-YS+4Cwm0$ClY(^=pEVbo26nAzE$>G+YZ
z2G4_Gm<q^^;j&D<Xhyo&87-tRDz5}~g18fI42=367|FrtAty)xe-8!c85evZJqYM~
z)n5>%SRI;TzomdJaBRq9OtVPx;u7t~{iOc*1mp!lIu%YpiSyHJP+ZQjA6W<*4mV}-
zEYLtD{|>UqKEZdy`9K!6WY}Kvg6sK?Vb*;Jj#}9_;Pck%-yA4OQxM}yj!z5q`p|9b
zG2;LSq$F*3&Z>3b_76Bl1r)`qS2$Qbz)(FuSalXLuGI(8vHpHnFhnl3d0m10xZ~)D
z<701`yX!~mhcKqEN3e5nCT-Fuhg%Kq4j(Lj7Gr_}(o#M5@G>xyib5|P7$0BwaI9*-
z&v_Eno9Zs6Q;(urhoyVAfr4RAS5O9d1{y1nkb*EFII62310vl`$qakWWtCuxS}!1A
z5^=J<w+3N>4-O92f;k;b7D`G3TQYYGVRvWd9bQ{wT_IN}lql^&Y<~nmeV|nX6)9y1
z^P3KZkF)cimG3>?YQRd!clLP|1tAH>*3)xYC`Y*SvZ{z^P#JMi5cbW?WGyYxtCUo6
zv3w<vqd&?S;2EZ)qH6PV3x2gGt*e2H)svO=XG%-zX1g>Q>jn9nl<I0H5U-cITWVYI
z>v#S6v9W>AZ|!TNzvN~>5fp?%-OJ+p5~o{QDl4ygEDk_5-oJl8Ty~{#fF5jX)naXX
z2M5e7Z$>C1f`U*1<@HaXcLS<PW2ztRqtrL~wtPT>`N;3QfTZH<%@==le7dk-Q&R&H
zO5;|r^jc@8xeTlAjYz)!H~HlbhKYX5A!ip`Z!0qBC4B$f-o!H8oj=N}i|#E)2lTz_
zNygpW+F~Lzt$&$JFYb#5r?Dm$q@+6IYMwKz>DvCp#;Yu*fv{kx1lOunvJN$^3uR^5
zF-YHN2L(yMp#3=g6a-`9VZY0=%>sW*z~5LfvOd=n_yE%Ip*vG=fdLUwZV0jJ4`8Jx
zh{g)Jk)VI-<LTkBI@uQ=YhBXXx{Necm=N2tWz^=%hOntUj?d;bPvQ6{djXpi=&V>}
z@+lCMPp2*yNJ)76`221M=Squr1fUQQoS=%nmpstj^?)!cHuehf<}_)fZV@{nAR*Rk
zzeqG81^U&8c4hx!9*c?fg3j%omP_gLu$z;&l1C$g;j-U-7PpG7zJL9C16l%TNPIOo
zM*(0^1ZD$Bb+?%yxt&5nI_vA7WTQU@98s2eGD1r-$eAtGbroz1m=GUV>edOFyfp@J
zSdv(C343tQCV67VZ|0xuFSI7>aH$FCidm|oX0qIX`2Kqma41;f*Z4k=j{_3&^^c+S
zM?NpkBx9f|S#0C!Vs=Ope-FK>UrS4LA)OMhpE4org}C*eKhESTJ6>Askhwi{+HFIE
zL}_?<xLP&{J(t0Y8yXrgXyrKgfRVSozi*c?jrQsN&dHXjn5a`QisXs|zv|2C_kP7L
z9Ui-;%Jl)VRzGX0hl^byATfLu?dqPOE(odH(wC-W0;i+_<zOQIPh0i($jG1Mu<QFA
z(U6$le_;P0zArik#I`Mhf`XV+Il#fU-CYRNb`HOw;1s~Ii3xCsL70P{H}f0d`jTO{
zYqQ(Cfwik`>REbv6A0P5_4y<X2vZIt0^aj|Jy`~becz~BovU?fDdPJcng<`MnO{z7
zh5o${SLT3W9j~8(EvxlbnrEm9E!M<3Y{A6e524BHp?YbpSJLFvv7u9@TLt0G8DQfQ
zPb%g5)_>V=?AB?sjVJprriYVAyitTm0khwL2RKK8fNIa<wye{8p-?Y{O>1>Q#FD@0
z4G1P4Z7mOfuocpvp{4!cLSuFO<nHg20uR-t{R0+c3jr%a8IoG7U+}fjRF!Sq3Rq@m
zjAtX_Zf<U2w-;M?d;7P0f99GQu4V@q?LbZoG^rozvL#;QMN;*hr}JOFd^tY;XLbp{
zqww+d2HJKcI4{m1{Rya@jg9vRb1Uej%g|4~eR`~$BXJ)VSb(tZpOHTxQO{#<9Q5~>
zN`!-&+9m*XrBePkmnJ9=ml(A)ZZ+QZh$G-&s1j^R(vq?y_4aT)1Tj9GeuyQ)ZRw+j
z)32G8Zdo-h4Yqc-{Uv4AR|_I##{f2?EhW!>daba4r{2-p`VhnE{perG{*RCEQ^(@C
z0C2VP+h6R#Az&&=wHL^RV(~ly&J)?QMc&Q)-3Qk@v!g|3uzLv{@b5iI?(7_?U}u;G
zY-Emy-5#xE(TTaQ6vxnC0+~=!Qu0&KnJdRWDGt_#r=i}ovxtPCpx5?yCR5bsv(Ej|
zkr8m_NJvOXM&>iJ%d8p&f^uL`H?E$J>x*E0A!s4(d3lcsr&yjj4W!uCsoPii$9)z}
zc>Q*MRD!b%EdWdH?cdkeo4+7QAUJMiL?|PYl9w6i=s?H`NGeBOUKemVcitgS_Vl@l
zsi~}CFc*M07RVq3OW)PHg`kyWE+>+TiaLW%)iu?>t{)B*1q%SrT|<K{UB#f#S%m1u
zO}3;sf9&T^lUjWuoDppf@KHf{bEn<4R=>ml@Cy)$|I%C}2mfLz8W7S5LI3%8?9+mg
zxN!S={&JTDs|O8Lwy>v?f5WJo`ru+C+guu)J`TsmXB@ei9gqfj_<++tbKt{#y|2aB
z|Mw!ebOM83hT?R)Jro?*0KRd^FBS%I{{xF!{m=e~YX>K*u|q0|Hx77I>n38osQR~(
z0Xk`{5d;rSAaZPR1pUGHxdQi|jhlWBmC9A8jxKg;=YE{vF@8jm3yyaMU%kEk{j<%F
zYlATJJ@=4y&#b)=XQqC(zMDx0W(!bTw<{~&wu3X#*B3{-Z6;1?@mxbuiPuG@9qF++
z1$`iiI5IvC{u70RArMaZXN(kx0gzqAbXfpXuU+$;JFQxpvYp)(@XNp(-aOyI@HM^2
zhG=bXzwD=R%PZ&n%05Rg3mY`JXdoW7Z7&{9Tlv0Dau5DqK7X_y$V}jZn3aqQ&o3`8
zfrSJBXM5XTB%h9!wr1K9M5w`$8SN>so5hljfNb<PRf(P{r{8J_tP-6}Xi0@#3@c}b
zGB);&gdYhp2}z61g0%`>;;JZg$(iuAyb$F=i_;cRqS8iffj)>(P5a?&1oma=-Q}Y@
zALrw&t_O2&$U}Dd7d{CbWk2|^@=8?FChdjXh{+!Qy^!q=zO1YOp~Jpcpr|DLc2!&c
z6E>~auLk`XWawl+gR%SWfb7m94;&16)Lom#N)^qEbN>x?e6Xcuoh~nk8rr$~9+ooP
zz}T^@4r|>y&p}^ytdirz4L{ftIM>+wUtM1U4Q2TMi^z~=3}r;tNkWVzTec?I6CxEd
znrvmuQpj#7k}XNdnk7Q^oly2Q*|YBn*|KxL{{M4-_x{g4_Z*H+@AH~>p7B1<_xssi
zY(rsIfdL`}i+V{QBF{wX4(Dm!GP!#<yZ2FJC<i4)g6g+tD}y7wgVNy3ZF?^XITEt$
z^!|0)5AS`_%OCs$yXw=GQLt5>FfPAZDpN5O$|mg&!ZwhEb6j}}g!y$Hy<icteIz4}
zN>8^gj}V+1p{5pfskP6!r}zVG`;A_!Gd1q(Z7jGZpQ`8V@|%CVd|)z9#I3qzr#0m(
zWsI{?CGo3+=SEKu*lav!)B6h=Ka%_?SqL-g-<?NXxWk*xdAbpW{=S7(i{((Y!0evI
zQb3eJ(=ZgMdHipK=0t~!?S7R)fWs;{dNm~~?8fBzCk6-K=kAXfAd(Qbh8_0Po_XHl
z&+E0h?eHrAX&7|PzLo-~8uhSqDl@a{aF;bG`Jg3t-+_<mK`?8;(?0_feSJS)jUE0g
zbDTTFJa_UWWktCR7c2RU6@X0mJ7IV<LGz25VFbo1twEX*y{H`aRS`*~0`UUzJ%%C7
z+Ba}%00f{2L4hHd!J}Eb!&#_fBa~jyvG4oS%k_`-3}^IW)WC7G`YXKKFdrk*`Q|)J
z%aVmfIs?jh<Xou2;WsE*g^bH&<)!mdO1Aoz@|3tumFuGj*Q5)_%nfxS-Q`W7F444m
zqpAWiDiijl_aA3wPL?iLS5eA_j+KcWZuH!|71)};cCb>FUmO*xJcZWb+WYt`!EA(q
z%my>GUHqQMlUWiMIL^l9zWKX1JlxRlgx^9`q+;dmEPozwv4nt6L`&-iSb@A89L`b?
z_<VK(10mdf_ELh)D1s)Z7S=qDXFf^sJk8s3#3>@VG8vce*b4ug$gGrYk~Y%FsM3C?
zX8+w$K2{;2{h>T49ppE=KEbN)kVi!7US7J8do=BDS51-*<VsNB+%efvetk|-BC|Ir
zIdcaGR==lDo$nT3<9mI9F$vH2Ub7CTI3}(Z;kiG>QIP}EB(8Yx#&8U{zM8Q#_BqMj
z10XhxcLV)Hyyp+ckxvWnbKPgMGBXKEiMbbX11n9lVrNP3qz!6zaFk6At8)>NFOlk0
zZ_S*6oT~GGMJm=cIJofKXHfI$)^gR3yD9JrP_6?m9X|&OGFp22^qvLyRQxU{5+4w$
zcu}dUh)^+vR@u09f#ih-^pn}0>;UO0Aa1?ZCB62*wbm}R^83&JzTMH&n>Rx<GyUC@
z?q^*R5~^PBxRQJD_XX0TIsfxx85G%%#E_|vx);Up(7`gl`rfB0Q0Fo~-Ziv)kN-o+
z1=MRd@O(l}f+A^oW+rGKpHKKRgK%khXb5D=_wK2u_r#<Dc1Q9E+n^H4?td?>)AL_J
zniU>*xWI9=^SgI3jfF^OHO^FfxMMv0txqt$oi}^lD^|jHmA5eviK6y@_5BBP&Bj=c
zam`w5&3-FTZ|kyL_A(=Du{Aq}(2K)sRy>&kyBAm$plSH<Z1hv#qY#_ew88#iX4)5i
zKAczi(9{$urkzg*c$2T!lJH;<Q3wX~lLooa)tbE)gGOaLmHIrRoFxOVO~)&4Zc*>v
z0bdRdj$1-Z$NDnQIdem`>rsJv&x~916Nw~2U$G5orUS+2UMmB@n4p<Hdc~_ctKzwh
zN4D-KxYMVg>jOIj@WV&@okww+ys#|g1G6u}jz$B69LCw}EcdPzR55`61D`AZ_v?wg
zJHfhE<_>Ew6!vxa(6gG_L5T2&cb(aWIZ95TmO698-AS74+%*xw*M>GqYGpoU&boCx
z&ONYna{BYkYwH=nuSCVTQ~JGbZcm}$Ixcg(EkU<1y}ombSs0I#nz~xAoxwy$Ue-97
zw;k{C9E_ZzPTOJTXM>;cYrMn@k=GI-GD%Qp=5<0mOPO>``@{3Zgy;XRQPR^;)vg4O
z93Hlg#m2{TM}xvBgX1J^D~rVgG1hU5%Upg}&ksQdKmT_EDvT)2$Hmz;X3qYuBK^+C
z>|x`R`z{my(3z(f6>W~!`T_RV^0sGT1GY<0ghV=!H7H0(oT2t-_uMw^5of^J)g0J*
zri7_}L~!Bo{hP=-1l3s8`kt(<gn?aa@t*Z_JOY<Y&s8VAX4HUYW>eFfHR21Z%+rzb
zIt2aCi4%V1=GX@0=%1;7AbL9N<~U#wul%#Pva+=J97=?93T}dltSOQzSmsR!GdK4K
z+iSfQgp!_5PU39G#UoqeNDS>YqyB>ygK9togGyb-w*zl_?DnMUT6uaN3cyT*EHDX=
zD4)EVE?n75Gq7%SHzG+2dC#3BoQsM2oUHr259Q4OZU+8tJRj8bguFW#HadS?1g2`^
zhX!DVuG<qYk{FO1b)-(rVKZ)3bjU{N(*qeVkdQ*t;B|Pk??3kh$Jf9_;Fb#hI2f0f
zuYaZXAoBZcw4B%HzBIC{(T-YF=h5b7REaCDGz&2y<h#Q)JK(tjR3#xrPgifDFFV}M
zb3Hb<=Fm;%!{G;@C}E9vi_6Z*E=n`}eD9#i$Iqa{WIDuxkJ_OuXdxTw&ogJ@kJ{32
z%Db!IKFtrtsxtTL@$!(x@*Vf9QKz%4pj_UoE89AAhS_AluLJ~|Y&2y#tTg0YfiqGe
zV;AljTz;>vmke}3X68`HrB>(+IZ<Hes;ascg~@C}aMg>agd?UWs@FfP5OGO9KBP4h
zW`bu<k(2GXk6uWNNqeuAUOUPz?V!}}+_6)!5^s3N2sqH7<OiDP8dLP@5T^=Vzevzl
z%w6r5Aa?EX@Eo{u5|KWoifx-l^Y{EjxTE<paV!C|4~lJWXpKITGsLg{4)t7{5%zK=
z5UxpXz?2GaY;6Ltj1QcZ8A?gQo_b+NJEq6<eTIxn6WgGv?epv2RLxQQ*l5`^$td;v
zEbQ?yF%V}Iw;mPMmpXIW_k3nks>9Udqs7=;jEpgvMIY}y?&W9TM*Tp1k0&f<`iexI
zkI^jV^tsf!D*MdCgYeY$e$<R5Ci85ASf>YgN<Fo2Gx6)pyM0AZ1(P1_f<~5-j_qY5
zZ0>2g7ddZSJ9%R0IzG650yLjFx3gdsJ2*HXi3@rC+BJs|6R;?nA?mw|k0Af0oVW19
z#+h+CPQ&x2iV4ptE{Rn%M(PD`DB84E`VEGK`_zpd`NP0a9?Yo6){?O2>P?2aPY>4$
z5)Q0o<N4mH=c($QLPLX)Tear5I{eInm-qdW>Pr`29pA;LZyr48jaBCR+auZe)7bE`
zAG@Cp64)1tN<Do&ZnYve<6b9qtCT^fbNx@*Zn{L^oOw7~MU%eeom2YgP&O@-qlm*N
zS*pvPS(*Rie)!Jw$%@Ybnax?=msb_Pz;bHhws3yl4!omDWx@^UXq7HXKodMXJw4&Q
zzPE_?xlekSksRvrCk57WU_fKi7`YjIKXE^AOL1~c@({Ka;5aHE{B!pw3u3!>ZfA-Q
zuj?nM(KV8po<3Z>l<TqNrOVF{{Jgv(ltWsXii*My>eZF%UB6fFgdxEvCPqj$N<EE9
zO=x;OXKo=Nz-U$mWc1YPb>&t{JoK^~+E}J<i0ARomUfF^Cw)7k4=RB`msGs~t1~&E
zQ)37wvRF*mE9swBi+Ei0$dkuzkQS#cc!pMmJJ4maIXzz1eOgtDt=Q<r6S{Nk-M6=9
z!^6XCz<Hk#7q<`8MkRoqQBh|)*K_VyWiHBW2ye>T+1k=2;>TTZsmTh|mi;*&YBn@#
zwwb+F4I*1I)#cvRa$_3~v_`AX6WQJnOJaKVx~acujGL!qH{-gDXlMimF&DV|ohjyG
zGM5MProN6I)GB`cx!L=+S7Ark%g9c=&6`D3v-63W+Q~`pR+jYW4AChz2F;85&e?ae
zWj9Z8?EVz?3b1u}H80jFFXwr5XtKZauK#u)pc>^BR}7-wUA(P#H%N)w9P=oK)E-Kr
zcWlEmFD=V$PyXal361ld4qslj<%>n$!NXF8{O<j=dbNRd>|psB=#OCso6zKiM${3=
zK>(FY3JXC!2Rt7N*Vo_g6KW5=pDG3r-x07pbn$DOCG-70?noUz{ew;cP+c`$*-%qK
z?BLHT&Qimwwu@Xub5ZF^n@rl#KK!}+)t0x=sTaxTjQV>4uL9QyKhs)$e*pMuJP9dZ
z^16FQ99KF%Y>m1aVAHgl^K3ew#<cU|GOX?fWyaJhR^2npc|lB!_(nu1bBB72tLgX9
z)Q`tK5z^Ctt;|!NW>W6*#L7xXe;SYV4kO8N>Uk1de7OdzP*Zy6@lWH<8>u~?qQ0fe
zufMAK+ifyG|A#ZODd=N{D0j3YsV9HK_V3;-uY-OsS`sHOFR#2im7WK?K*U&BSX{Ys
z1)THLzNuCqNm^W9X6N9j0lq@4Q`Yg%fXHyMFa$KL&)(om4OHUJ|4i<ev^9FgM9AQw
z8mY!f5$e&H!;^n@x2ouBvUx^hEPYDak*fsO=(XBt3v~HZImj)*#W3-L!*gMH?0uy|
zxE61x;3ayKvfE8_EQHL@_=fXDGyPK-vM`Ega_=f~k{05ZR3nE%>H}S7-={+r?_@W*
zoV(wWs~AV5(AA%Tbc;#_`NQ8?3Vcy(0U#||O4HBQ*La=wbpVw7sm%`^KvG5@=Z@c6
z_UzH~M~2Mt#Xz7WnoBTo<23tU@B+Z6-=%xXWpLGHAAEmM2W4hzX=+ZdyUvGETKV*w
zczIY_&O<c-=ouie+WMPAMUUxa|B`G>K9a~Tu;>80q=hI;zbOtOghj2~T-kj0+>w`J
z=us2xJ(^L9-7gA`EH=)m7Bpw)liac;L`1s#`(s;+Uic=df0}lUPg)=+Xw#E(O^5_)
z-{|MMK>qDndiTd@JQrKzRZ*M8-%@UC-^M&=?C99#6ElMp$<A&xQ(u31)Ms}z>vOP|
zV^m&PT;7+_%fK8V_+9jp(Mu<pDgdvGjdHRIZt0&6l}0$uifCUX;(d^)JNAF3uH1x_
znxP^1U?1DrQNE)aItSQ)9Y0iG;F|$@1c2J$kPwHC1OUv8gedd3f8M%jT<)~M3V8pV
z{8rf=L3ug3gT9+%zDn{qB8tV-2YE6-OTn7#3lqGZo6?76t5S6<@4@k9K+2d}rh;*p
z_>ro@;icJI7{9!HC52Eo^>Wpyc&WQ5)cvSJSdx`i>1C!>{G56aH+adz!#;^$5m|5p
z6LFNfdHGPn(H{%U4Y=0qODqi(gKeEWK19JRbPxQ(KjA7`hBvahEiHpGA7y?N5L)L;
zMVkth3Nkjx<zIHah48_W#mkXgw0!(eM<Vv1YHUxALkD2#-5>9&e~yk;1GcN2Li!R_
z7~-#<pC0d)nVTExNM|enWP8otvl{v;mFk^#=KJoesc&cA+Dma0!!S6iG?dfQ_2COI
zDp&3%CVUWIUbGy$x@!21I~eiZ7ZDtm{OMip{ey)oEApGuZ#eemRcdT17PB6=ZQ8yL
z78DY6$$5oPMit31Gk#XrExKR87F)kz*l}W_E5~oob7G2PaejGs(rXVjmt0UlNfnGe
zujI?6G2X+YiM)D`GchI&iA&bQ2arFr?(d?lB~A@Q>ISN+;)4-5GMh~#iJ;A6_pZIE
z`x8<}^C}8pq6~0*1tq(sxQvukbi4T&C~zU<1Qb(qCpflA#7)WTXg9)2ofdu=)a>@|
zP4#GVUyvA%XT%}7qU~5qF~zTa>d_iuCr>L}G5+C2X-7M7BD?YL-We2O<87{cQHe!k
z-qZzOpYd1FH4sXa<@&#0Zwp68YTxj2Mcs+I!>AMFSF0+{wEX9{jO*{D_(S<i_+#a0
z<*%_Z`XcgiA02gn{DUly{mxN(lxjv$3&jf|wyuEt*6o)5o0}Zu1l&dLVcs^}8z#PM
zcHs4Z04F}C7+|%7vvYD99*9IctY+2hW?}tFweD2i=U`_)oRzF`-TbZJxt{S6f)r~E
zH~MVsA_65@J{pQ;NY9~$Bxr4i4<@!K1{2=AW*B~Sg?4;)==ZMI?oE^JnNIgd^Is3W
zw!98r<Qb+YxGt$U78KlWrfT4J!zv=IBv_+=-~~lX9p^s1VE?_caG8b&P3;y(2#n&N
zd5{+we8DH3M4C`|IYY%dwl2?E;iV(-iy}>}<L<N4z!qCtL1wZY`swF6fBzQSjKOCB
zT`;&I@c40XzihgJ{~1hkta0mLJL^fmS<ffa5RKd)Dw<%1W(0b(Q5;cE{d6sZ($Vll
z*OGi}Zjj`g0?%QuM7zL*5BCd=&3J-kJ1FXcaME)ji}U3oa$@T*Otw?#p_V)POX+3*
zJG_UIj;>v+bH6j!!=}Hw>O}~Lzu*OeX1{a2cztc6#b6uZPICMVzY;{$#kS|<d?vX_
zd4}%ZX%be)3S2$fu>);k`B=R`L5EP`!+_)Tk(wlO1~>iF4={ch?6EgI2H74`p8GDq
z;cnF&9e|&vk;6+C6$ofFEG?j~Bo)jnE#3Z6QnUBtS+!wqulS7@k+IwYBp;zVp7^%c
zQ@c|f*mB6?|I~Uw_-=!t<Bt0UJ65+#ROHgR?KViV=KSE7(H~-2WL&WEFB#Q&y63A_
zpQk>W8KjqI4gId${19`NmckD$o`#G_Mqto$5C$kD(bq3@ztkS+Xi##Im_xGP-0Uo9
zte%$QSrh5rXpC|&2&kb@FOj}f|BMANoOHkP!-fOWE4N0ULq^U6J3Ha&QO<lR=ihn|
zObI}UgoK3r;cBQr&>AT0j}{U<SKB2!>Z}!rSmisTp9MUQW^NwN8t#uTRkCofjIgDB
zIk)`xy33veqwgmSLGZ~0{iQd2Z!?s_F@nRBagb;crye2Lx_;`^9Nd-L;e>8gC3_*A
zASs-$hF%@E{w4(OLDr;R5!ib41Oco7v>Rw^YAz_rc6S$ZIpo~LkqGO~>)xh{E<L#y
zq7j8}n-s~oeill^3Jw%sLK6AWN;E?`S0yu!Ruv9aitc$#23~-O0f*VP_b?%_z(Wiq
zbx<c*^yGH{s6E;nJ4#X5<r#J$tNkJ<fF@kmNepJE7W~_naaV!qS9L%&`@gv$1_d&r
zA!hjGf{l!KtQeYnGHkjY4a<~8o3nMNvq)NuY4x+ix`XD6YEfn5gGRA)u29(C;lv;v
z<(6Hk|CXXp3}q@^{Auzi^WQunG+ye-J}{=k(C_{FB}f=;l>e6psy@f8?Y(P-BB+-l
z%jNNlu5nMI+XBcP<Vw0N72l;Q9IY#OZBpjSgwXDIaWv%F?0FsJ9y!l-EFI(UVDJ31
zG%``%@$=_H{<lA!Un3!uFuvJ5(e*77CrRTQxaitdjwH}v%Co~?$HtHZbIloT$2@I?
zFq}q7*K>nUHwqjlJe(&uNE6f=q<Q{+_PymxZgB^J`J(jkUQvjMy!|*y!yU20#r|CI
zAc2k5Qno>w;Cm(h)b#V9Jk9g9WlDUgCdUy=Ok8szvA$MMrVMl_V7lA*x1?xUuosp~
zE%{i7Yq*KRf{ZZfYGi+v&#cXnZ4OG1ql22Gtt^Aw2F6w6E6=!;qD!RvjUql80A*u1
zwhMlcf0AB{{fy004G-++#^(osD%U5vdL7Y?bU7I>TH2Wy8$UnT?7tzVc=|M>FJhD}
zERa0SrQ+>+_Sva8o>~U(NIZ^Q`6bc^IrVE(c4%m5_8QypT}_wA)1OSxdEeC)Eg4n5
zGp!A>QE@Tdg>p|p%8B!>`h(#7_iZy8?^GHaz<eX~;a_@PGm3^T+`FHoAPm73@M#Wc
zeu?29KOUUaBoes=x=JV_u3?!OZ0n29;W9AI-qgUbL4j2HH&nRt;NMLXAfOz|_5*La
zPckNKlb>he@@<}V2o4SP+G#bpt-tA5^DhgQM{9{#_I3Pz6TR1VJ+L|Ag(mvF5OT|}
zRv-pmlj_s2zn3Wzt8=LpgGEN;<bJ>6W%5e7^zs@fIg9PQlQ&hkyQFP}>*|3`g5?z9
z^Vci2=xc@w!Ffu2DslMWQkSJ(gRP~JOSfbSkG%1dxre`VtJmJ<%0hIXb_EIVK)&GL
z7|DZ6!7N*t_c)J}(<Ei%2%bRo;n$@Ji-k57+I&V;Zq5!4sNarjJI=#a4ni_ALy$GM
zR{Mhe=VjW=cKj9A*A2%8Nw=y)V2s!XYB;`Fb!`HeVr!+Q!ad<4%T@a2oMDgV-P?$y
zNF*^3(^`F>f{*M~d#UAKU^>F*_QqSEBU0*<POXkZdKSadRKu*Hdl$*<&D`y%2*GFz
zO-`<k${q8^8oO^2_Aysopt?;s+Mn|Rd1B@6?=0w4p6{<V0@6ocojxFuMowrmx|s~2
zf<&Z6oO&d85ON}TJ$umDUMzkN;L~^@Yg*n4fWs_g3N+2lh5t4;Kgew21=%%HbpuRY
z;tf9CzN}A)q9OmaQn{`LVrmunHHI5KZ2kW(-2oZo<HskdQ$Y^wY@AMf>QvY`CBj9_
z<PTZA`s&pd6{~xX#u1AsjdBF0JG*<MdffKMyP+W&_t&JWr`=h$QBI2#VPQ4-_*&Bl
zwmDyXn{>bUTcoV}LHVK-v|^3u5<uZLHWW+xUNH;r60(Xrt!CmXLfWN<H5*P<OJjxz
z_y)Yeewpgj)YNeezq>Ns{Dx!uD`mXLKfh2}xAH0;W;%b<>+bKo9mz{}VdWkxcV2`B
z9*PN)RC2Do=EsolDB-&B<2!i!VBVOne~%{O!t?TmftkopuCr9(OAWXliOJ*-TKQ_@
ztd^=5HIX1+J9QB3BJt)LqPBR?ys`g+yl+skxz*m&X1mw^(%c9g90q50SNHTz%Zz|t
z^7E~wYl!RI416oaf{Q@vG7H~_kT`8Vm5W6-h6tfnl=stNGDhr3?ACY|UB5HTD1f8v
zuG8V5x*Go$$Ow^H5Lbno_IOy?E8-(^(ve3`zY1!${+h$hj*gtM?bl;n&L4D>n?%Wz
z!`#4NzXJC5y1M;(dIjqkQX)3;Zrqiv_~b{1ezTIp=NO|Cy|H|{i5>Xh*eJ6>iP5w5
zLd5}|HiuP3MeQnACnysBPBC$e`W<a}ENyj?P9b<7ASPVta5(+9tde%rK2Mi_K{622
z`7^H|xd6P{3kwUdXhDPlB%-;<YF%tAZLojf{+Kl8Y*KsTV{pSJ7VTecKYZ_fo1NVJ
z@+~s&lgdg6au<cvjegH1$EvETe43?ke~v^dF5PCmRNXRA&xoUz7FR651|MTS4pFS1
zds!nedtI!b{pQ?4Z1!B`J4)xu@{_gi4*j`-0mURyxBtnwt>nm+uCie(bwjO}B(2p8
z^<=a@I5E@0%gIJaUy<)2i?$6m2nKaw<MKP7BKP+8n63w;NJ>dzrKCy=3!UHwnwT(+
zwub0rOl!yzUI|%OyhO(0kMzyMw_Qg+>0oj#2#d1bIZS+n&ywxz5jVEKdj370zcf)P
zE%JVu!%odXiEvpC!0QPvldBI!CtQVGzHmOy$M6JW?t)hb!X&fHcFI85Br&XvxZFNI
zG^AW~8xqtq`D00Mfr|0g>AQX6`Z|$#J~ZMa<}MC!3a1<IJ~3fwNNL$5=We}p%WjaP
zhj?_dI(9Ekel{kOa-;rm3`+-MB!-^G?bo{OS9%7V;aRGb?7+9L&2L25SKS{2n-5&q
zQE^R8f}^)M<Or;S7VU$yW7@s!S%)&H(Dt`ir#$Ou;!Sjza9^e%Q#>fUkIh~qGQ(4L
zCiaZfN0)-dY_j$I7cX)ls_eiYS(%%AG?16F?zo<CFw+T9c_jOa0xkJ}2I$ZM$NN;P
z$zkgUzvqYBp+{0oL5kPSd-C*e<O#+)n$Dl4xkj-?E1DJ6EBKB-$_7jiRE$EUjqexB
zX|wLyiA$pvTeA>UF^?DjUb~9h-$pTzja(&_xP~UE4F#jP91#UV#dLeT!UNAxB+dR4
zp%5DQsrM0V6n)|!9CNJhnV4{F#6uBU>b|qqn`Hn2#)vWMqP)4XV3AHj(C5rdWvsJY
zsF>8lrp}9d_Z%wd&J*EIoIAE;`qqAh^=x7;!At&4b0t7J>UztID~!Vd6FZLW6q+u1
zBLJ~=ckA>!i)FJMXTsk;{k^Nm+iD(Er!hHJ0ci{6nU7<V`O9rFZy;01c0Puia5vnS
zs|UNOEfw}itzoL$I?b#xMCka<>9F3p+aXO*{PPg|v4@_SRD%2jw;EHX_QB3H{*p)o
zIpbHNKQjNbOo-#^Wa{ebYDY&$U*8#fV^rWb(B1u8851U=Sy`XYeRy{49X&ysI72<H
ze=(eIMDNyNoNMX%0j)%2UHcx7GyFyGwcB}uSNen7eC_d@Lj~f4$J`dvQwRil1^1Sl
zfA^YFSBjU%yuLbDfl9;KWm~zR+uF(|urWE<HItiw;oPWK9ls<MhMFwXD(D^$W@sbY
zGnju@XD|)<VlNvjVqhOC@&b@9llHx?%Ns7&RkhWzxM<G5)Z`Y1XtsB!1GU>q8)avC
zvSNSnljfbj>T56bP))?i(ar7OuZlS){e?e&ygybUxtXXpx3=o_A|1+(c~huOBh^z?
zF=Q_zIC!mPd~+7*yEdoDTp0CK<P(l|VbQBQCH!;oHOO*2XAI<75husd?d|PV>m3y@
z=+3n~6ji+3hz5fT7cplMn~fm+=<T(M@c}I_t0Y8<hu{V4Ca_&17&V-#HckZ9=FHGW
zSd$eb+8C0b8qNX1ZB9<EL#>|vgs)Y3vg%KQki6UUM-FOR$5{zVR8o5~vlofP!|38P
zE!`HhMLfyHYlbNoB}DY|-jl8lQs*p6**Z3c#9v5oUjv(|_9+S`MweOehSq=q4S1L|
zD|Q*D?W7l4!28~^CsN&J`u@bI(@{hjZO1$8J%P~3<!gbw*W+gVSS8H64yyIzCll0#
zbN;%-HN6Hm*mm79Rax`bUzm8!R1>Qdt+<84;fd1BXpMY92w{Qh*kiAyw^g<D(xnBc
znC?cDBD)N!`L2Rr7(3)~%NCiAiun-hSOy`hh}6fdtlxF>bOje<f<if-H>EditH0O%
zRw_XLqHrr}>b1xDdg;d430~aG2TJazsm^Na=&AA`e2R1Y7|sL_V#R6C&U=Et9O90A
zc~5l>x|o_yz}9nIg<fjC&EzrvwF|NzL3kw*D{`YJKZf1WG>NNeL)H$MDJXa$Z9P6N
zj`*PJLcB|IO^pe-$z^d=)^m_+w{kGL0?%(aCIoJMV#<K5pTu_dkL`%Gpkywh|JT=U
z>yT4naX3@7`uth#8^6_iu@YlXaTCZ|qHcs%2?8=;-|Cy0nv&{(h>pLAUj@NvBw&E6
z9p5`ei=&*?;xr$=;Wa{9!boN+C`*55I#M^kC`8Ym*fl%ued)SV;<>NIBt%AEhPA{E
zbwqgQ96&}|@$TcmgF`59ZnEMlcGJ86T3SH8&685HteDlP%?B}<#s7tx7f#(F3oI(S
zoFVj-?U|=%M}ACK#pE&6`6sV2xjQ474?z_w9Vd2O$6J24qGr#FnhR>r8sL^PlTqqK
zBvc*8VMiBr-s=W}rf<4DeoiDf%&d3i7kjInHN*s=twqJI7z&-qeB1J4^2g7gn8Ip(
zrngT*_=*Hywdi8e8|Yi&MFj<7Y&2XxfAdo4cgrT0T;TaA5lSTv<d!{+oW7356d5So
z7bJp;ESum#PQ8)V>9Hl|=@~{<%J3yH_J)Q|bB?j!F-8dH$!Jwfv2I48Zq5xYE#n$_
zcc42!6yKUp=7TS~=QFuxDbC*-VK%tn1g1rnvqSWn%)ugIF=ltyqIq<Fmxd(s0ewHV
zKPw5@QK0B`t-Ss@DnpO&3|L6S&z_1l<sk7<ZueBo{ggRCeGPDLM;qVny8V3)i0Oq`
zMeuqiC2@%%wVmE-gMOxEMs&kbi}%)RW#b-k_l+jCqo%!Cf9u$sf^);yUNYhmLsU7*
zQ#<2$I70sNxcsg1rkG$}+*Ry7gP+9xYAfxr?h|QPaN30mF;wo~9Y}t%BKMwZM+-2m
zfwfOSpcTg%oj(oBIBI!iMY7#nur=@@c<Uq8&vQ<Z2~0I#NKksog^7tu<!gC0=GMLW
z>q3Hy=tu+^Mg?&d`$P^bj{5!Wcf|7!2DvIXYBe+wD6$PMi~A|}J)m7Zel7%H2|q6+
z96c=P{=#-8UXw4#VQ0;3esH0Dd3<~v0$O)>%L^}^S3USunozs;WFT9QjGO#a2pTp)
zrQ$tLvO-x)s&Q{0jT*V;3Xfq-pj*6msa`||(%pkF^_{uq;D^Q-c!Fizx0||o8h7_7
zHGAMW8=v&f5|l1F8_%C8Ua0g-7ZDM8a=8E8qBH(OT--Ob<XKw2g;}=Y;!8R+eN6+<
zhePkc{OWw-Xae51DQz*?DklH>_bm>VL%L8-;#b@@NxIU)&Z~DOo->pcTg!W?H@zD2
zmtNyOr51e`Zwohse2MIWf}ZtCJ^t_LEIt01G@G2dr!9rKx+Q*@lOEL5ykC7qz@k>Y
zPex5TDqdP5&!4}vs33Nh{mh6X*U6+bXrO$;AaN)@#%<xba1Dy)Bp4>)nuei^SH+Z9
zJlE6DzAaE}^R^Yt(!F_k-9S4ih+Uzm_f4F@N@0)@+Wg>$_BvP`a{<{3iP+>X|M7R@
zH}o)PUNLBr`u$aFBguOZ3{Ql?(#$#RA0DiD9i7I_H!7^Eg|0#vt-$Y=76?x@zy$IK
zi9%xO<9?y&tG7VTPKc<{9iDh}w7u8dcu9}(>?eFMRiuf1M=k%ZTG-N0d|tN7$kW~p
z$I{ZyokAOCRh~%Iv?Tiu2;T%cMfiRt;u&O#oui?E+?L%TQ20|2G$Hc*JC;WAnW=Me
z2px(H>awRmF^rFE-Mx*hi@?-Z@sL?vK$>z7n6u&U-iGioChD(JO%TH+MR(%>JfwgO
zazJqW;Q`0~RsIoBYhX0;SrAOrtlrgWy4YOU4o;Qt;6fsIclax_pCkwe4)ZZKIkVti
zM%>V&rD__r<)wAc7_LE-ic~9vctuUj%{}?rJ!`ZbLiy`$C|P{~slqP<%dj*ZCJF)=
z#>6Kn(jXFV?$`Qus)m8owNSZTB@K-s@f(^*E>%uD0WlRMZ&waEgBAiZ-6ZWs<KkkB
z42`e2u3>N)uo}H-Cf1u0mCB3`VF#CYU!Q%U@Go%roCjpFk=^3XTHKl3|K-ljE=dC<
zD~NNFviBjN5SEUJg!Y57xuYWn`{3{dJxZ>bIMi=fO~kTYVD6dy+`R^*{SAec>PwWQ
z%4Avr12om2l$y+~e7(+*oF6yZ>mENN+EJoNz^H*S!fWn>qgYP?aD9)DpD4mo=Df8m
zcRie{HrgI1nGlZRCw?WT3Hc@sNwz5|CEx)Pd*3!WiE5L+_)Y+OauWIwD7+Sb4>G)N
z=rAe$%5qDu2uwcwy$%;^@&#D}x-%qi8}u)au$mYeziK3ybHeS?7%Dfd(&_2FD9qBZ
zB3y`UO4r?v&HK<dYbgC!abLrShhjc{AjXv_VUbw-jDq(ivgN%uE!n@&MH%~x_CHFb
zF0_^O9-g$$iBaNW2|y0TD0Ln*CPlgdB*u<^ZTafNj7ekX`>V>xhp!{DeGqLaM9~hu
zq^>Ts+huAnprc40p{}C`qn0i-anYZqIhnfjU{OO-v90TKJBK|N`Igjr3ffyul76H!
z=7z$JnfiZ*p&MdGf40h=kTdvV0$pC(nJX7JQKVV<8gIU38GUqbJ{BIchEXWd6k6@}
zwLx6D^PwGK-I{soXw-X-zqm?bi4ukU=6KRfCEC$PE`*3QBH5)o_X5F-Lk1)D1W%EY
z$`uPXJ_$PFz+H9tzW#4|2p&dv-s$=sr-!CaW-<f^Gx$LwiWRwh348gH7*-D}0?$o=
zF9EEm3>Is*+_m^WPO!0iXl3sD|387fz|sItID7mGW-eCdGB_(IM{P5QTc$Sl)@CG9
zf}F=+s3rLeFpBFxqm<w(^sH?D`$}Z6mt{mHIYq>d{~;!6?aN{hgVFyPd>wwTnvJQ2
znWmYog_9+T_+^nZeGbwvhWY;;V_@|VhKPwunD9)tz!1j&G32JXxucmAydCjq3(;0M
z%<(@C-!^k_w6e1$5r>PujQ#I#acRO&s%;p`^q-;s_r*wwN=qj<ef}S>^k2vS`$8l|
zB~Qxav%+D{|D3LEY3F2TW9H;wMNqSKGIOwZFmp0>I(}Wz<lsO77<=YFWB+>|k7rcd
z%Eio@L@fO@ODc>w_kTv%nL9l*buc5bH?^{L60$XO;uIIc3SFi#QmTT1$m4-l1cD5~
z&fe9*%EHo#L>X65G&KgtQ2+bbLo-K$gO&Y%T?0XMJErz{YW{2Hj?c6)wRJW(B{(@d
pm^qLTMDsW(Kf+;}|9vw2iNJ*sL_<dQZ^8eQs9o1m%E94%{}<#mfbswU

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-144x144.png
new file mode 100644
index 0000000000000000000000000000000000000000..0c40e3400abb425b944d4dbb412508aaadfd4187
GIT binary patch
literal 40227
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-152x152.png
new file mode 100644
index 0000000000000000000000000000000000000000..49db7770b00a4d3c02ce1483c9e82ea06dba19ad
GIT binary patch
literal 44355
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
Mk60O3;9TSX2dm}&_5c6?

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-180x180.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5bad5896f6cd423e01842d33591cf8d77a97353
GIT binary patch
literal 60935
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
WF$jqxKdj+-#39ooCS@e&sDA@d(9%@^

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-57x57.png
new file mode 100644
index 0000000000000000000000000000000000000000..d3b682c817a1ead3ee90f230f73e70e75820eb0d
GIT binary patch
literal 7933
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
ZkcvQp;n2wwheptI;D&~tIuT<N{Xb!im^J_a

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-60x60.png
new file mode 100644
index 0000000000000000000000000000000000000000..15752238c076053a4b531ff1ec3792089c561206
GIT binary patch
literal 8684
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
ast7nStW4s>pW9$Nps#&Xs|<DT;r{?kqc*hw

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-72x72.png
new file mode 100644
index 0000000000000000000000000000000000000000..8bcbe3412b6005bbf74aa4b9de83254fae2ac1ac
GIT binary patch
literal 11838
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
U*y&Sk@I0U-|5UCFWg7Co0GGX_asU7T

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-76x76.png
new file mode 100644
index 0000000000000000000000000000000000000000..89d384c66c2bd40eef877d287214c7662b4574f3
GIT binary patch
literal 13014
zcmZ{L2RxPG`}bp%L&`DYkYpzvI%YN<dnGcm5;}2=%#%GscG=k>WJk!%C_4^W*<~Fg
zBynu--T(i2fA9PMyr1`RhUdAj+jBqneU0z+y>1cr?y6p-VxfW{=%Tusk{<Zh`uB#B
zf={*GPG9gv;-;sHhRO$6SHa17D@|1;=<MImo94m<aD~!Y&DafsF3|mZlYE=;KL!^m
z+|{*}Ddx_xkzBaI>EHGTf^My<E8WreoWwL?oioP0c)e?#)=#~iL<beD=jwx^>TcyK
zMaHW+#>w1e(5$>Z@ICA6eB_RGd{NqQcuB!iyC-ywuCn8<n@S#!)eVt-@eY!Sj}z#4
zBBkpfZW1{6UJY?~3NK0QA~C6}H%Go7I&ma4P3?Tz+9758eufHpC8Tmg8AbxZ(HUT@
z1XgsnBq4(<1Yr$9>hbI$Sp;2;j*5A;0m*y@Yij6Gv?7cn1cG2W5_)FSdEyWQM~Dz_
zh;x_(MWS9OB1A2t=Gj|9#C6(h!ksdB`f&yiTBhqE60wTl4yevAd7L4vT|scGXi0)n
zsVb{L@}gJP{@n~{%wpbuUfb{1m%MQL4r4evnik5?>y^Atesm%Svn(@oW2Jy1BOXwO
z!1X$zKsZ`Go-f}j{Y!+EX$NNgs85pV58Q{t|FZl#-gxd(r5F@gqpT7C*qG6}^i#_G
z-Cdn8f+Kh)8je`n@yn`Iw3gJeYnCvQz>J~2y^-wG)fRJO<IE=c)SkBl0%3W18QC{K
zoy21xQ}Q69&ee~i!+g!^T}d=N?)$lMT!#;SCnO_eKD?05>N;9;{Y7L<X+?sNp^-jX
z?PPX-Cq^ess9?m6l?Dybk}15C`usXNW-c|&-}!idyZPu@V|imkLt6h6CPv1mGc2iy
z?5|6Is*vNORiEs4E!G>6vwc-x$1KnyXJ^Sg{$n-KBW3yJH0a*>n7ZD{7)gu!sJhw;
z7{>r}I|@N{orP}OQ-*=+MkG3QNut&g0nXT7a*<zQnJ>3DO+JaTIG%5Ne&h2yoV&Zs
z>3&3t#pz+p`t8|(GozA{lC%PjkWc|fv#h#C&(X5Pik7v`8~$ULYXlt!Bx&a&VrY$M
z=_;J!B`#Vn-iw6K!`VY13OFa^d8UAm<9hMYX^uHYbpOPE9CtIRclvl_w8W@)i3(kJ
zkFP+lsG#7j<pTtlfr0k$%G#QVxpvF$nCTJms+8}(nuW#O+{w(GfS_PWaikDq?MB0<
z$}K)EGHYa(AuE?0!+O!WjXBd7V+g9VA>PS(b>*tjOzW2`oru6d5{Q;F#51c)hJ`ZJ
z!h4nGnw+=V_z6Mo<aoJ1?h)#Tm%Eh}XS!)9oSc+o9LKzXu#SGeJiPa7R-_L5`-C|A
z^0p{<LQiOD=t2EC*w6>O-0=62zt3Ba+P-{|wKT#R-C(E?l&TDC7!5avdp8c5b<|fO
zeX<B%Y)_rGOg`L2uXQ=<U*>qw%V#!c-I*FfX^qUr>*6nxyN}~!){=Vj4-O=UOPhbU
z?-c3x5_ZJI#rOXHeOB$!wGeR+<$H42f0RJuE9d9s#WOUxQeRzG*1tszINt6uH#dJN
z?{DSqE}GCo<uYo1*m=ACB+{wFhvRZ3?Uk1mjf&Aio4<Yq!KGq%ZvD;K93JDOQPNsz
zZ5ZN&gj2tUMllU!9*wyCIz9dL;+mZA@qS)f!NbO9WqEm@tB~5mq6U40sGi3k3JxZx
zrrhd}|NL>SvExqYuPTLFrKP2h{ZEE<<Q*Ly{r(PFb8&st$dC8*9>=X0>!00VomHVP
zlee4c8Q(R0zzSx8PSa$Vo}3w?cD^J*{{CqK96f*_4}28OK^}bvM%jk2{*1bQ{d&v(
zysw+v@N)n2GRLB&r6l|Duq#)taD+sbvWM7<ea4wjxhnpAk0;z@pjvX3WWCgwmDK<C
zwiB}wB1@XMx;fMMY;)4(;E!^jC_5Tb2vPc_ye>yi21!uBgBwhq{>{Xx8jO3vIG$p$
z*3s(m+!<743f<{0v9!Su%mIRaWc0*;VNQSr!NYAYNkEXE261DGND=VcAS8}ZpP4zc
zus}cIP+M6kl#QQ?-Dt>KkVw@UC@k`y86Sk(ME6v^Ev`b+kK^XIJ?qWVQZprSYmY@)
zQkw$smFD=o^7S%%b|!?POpnTiL~eC<HriuxyCaqiwfxD@QK3%u;CUANF=~z<Z!Qgf
z3H?%AUw$)@)tWU%<+ju0aZN?DzDRUsW##H>s_91+hpE(zj1V|~BqyyTOOy{=*(kM!
zxjHYLR6~~2vQs8Uzt-_%ZS8EMM}<jQd3pKX?(S7d*To-g&u3=L!;EjHM3JsRtwL>&
zt}2i98}JpQZdZ241i?4wJl;P2(jNK^_Xa{dXNB2tWsyOG>hb04K+iHWGly*78jAET
z#ali&@GaL95LpgGw{>>%w#;SsJcgrxI&;6FFc_7WlVgh!bzbqxTJ=g4T9$Yw!5Z7O
zK>8#Eof8oeVJ2u)GHO@Dg62!I+xYd%!8Y8eq((>n<gxqTT7p*<Qs_K8`xO`TOh1*n
zRdlF@IsI%Knd*9XpzwKAZXy~I>ioLX-LR5ZxuV$k40wy!*ntN!VeDzy*^M4ft_}{!
zls@LLiII_!nc>lqL{v1twbpR;=%_)L%dvlRNy*W`hES)1HD_vH#rM0~<76FHL2hgj
zN@?k)N@@(YysVef3s${mdwc)P&*x%{Gu*QAw<RPHQ5~IK*UKL^3*Y`2_#-WnD(`Y6
zFVa3Q#nqgNgPgb_YnFmU!=P>nRXAs~WFdk}#n{wzYC$JM!vC1ooQ6HzX@=!w>DHV;
zQe^wkx#xF`;~E;JffGlmguJq=Nz>xJ+Et{_zwJr3+X`-5j3qJu=wOY*8IR+l<G6bs
zpYW*1W78VSyB1uuhwW-6*Vc;H8#uqa4s6XdURVE?_fl?hcGmykTM~`jzVp+k8u8)W
zNAJ2&D(HC9<gq(*X*0F8&qf5an-KYl-jSRy6i-i2Hy2*Y{;4?Ie`#pQIJ{b2fZb|2
zTOTfzAHg-}=PQrn%*UfTtTZ*h;T*Mx^$l?5M!Jaw1-wuoHZ5LBc(uCtM#JW9fzK{T
z5;od)7>BYhe^O*!1+s6+6^uC>Z&YR&`nlAw1pOL#hM&&+?V%SweE9I<rHt>No`l-_
zjq<o`w{Z6IyrzcgwX6uC^TaJ_y)LN?5#_kF^mHF@pBG`ZyMLd3v9ip@cOe3P|7bhg
z-;xi6hoURT^h+#X!_nr%!eK0=;HF8>p;l)*EQ&FH#(JHB%78zqqoYHCy;YJa;$3)9
zaWN^xpiGMm4EN_0alm3JL(%zqMS4XFFh99DFww8X^G66fWu>Kyt_KO%buM0XJX{?9
zaJC=NVp#OLsuZRksSM1E?ly<abebI#F%T}i+`Rw7;$-aOnRc0B(P(kAtY5S%ektlg
zACsV2Mn*=pqmS*>y~+pW`uy=qz!k1H6zOXsS#qLDp+5&r#l`u05pd3L=lX<snCXMB
zb_w^VareMEwTBs$Bf1vCEZIZc&26F&PEOUh=Otou`EXb6Gbkr7O-xJxo8e>N<>hsl
zQh}LY`BYrI_$8uCwBKWQ4TpZ~{f7i%e=Ly1#2cBOP=ur4L5@x|dTf3DI`ZOLR@Up+
zO|D-1?MzG+X3XMthMJn1^=4PEwG<ZHAsPFg471@B+aM@I4WaOq<;nf~_bVT`vtEb8
zN=r)_qLkH>^Wxs?mYh?()AbC+8>9e1kEUv|X|W5BqT7GM(eF*ls1mvQs)~zi9SJ*L
zw6mhxJ4YwLQ8bk6=;(Oha846dk_qa>zkjQ1JZ77O;`<j-of%}Ewz7UinU_MBpw=RN
z3J6l5;>a5@HSf{4A1%!C7EZxGcAKcJ74NIXs1J!+NM+_HrWRbLK7Rwpk-P1wZ^%6?
z`uXSk!F;PqTjOM8Unu$x_ryqE@mgM@X|gqfu~UNWWlA3=<Q@tEo&-S+6G_IX>+1jf
z>MM7RAcLSjJn<hEB?}5Hz|PZ~k6-8Ql$Mfe`IA(k5ifOHnmD9-Exq6(M<CpJK=Mt7
z$N&jCo}dRwK6P53&mivY`EL0Hj7?2ljyX5Hn!mhU@VLswb6=`6zQ8U^b$FE;GE3&s
zzJKCx(f=;3K$njJEc$}PfiD}!BJs$`$OvcdVQ%!j5Mw-Ks~`W?Q)W}*Zsh|9TiaGd
zibnpfdk{V6s9l(&bc7NY#LA&Bn4+AImWbCY0-Z6&<)d~<8p;Nvk5Ky^Ocwhmr<<Fb
zb~WC9`zlhI$r$X_6Cpf3&joVYMDA!)Q)vmpPv@2Vluxxj`10ozL^df;KDt;@ZWgkj
zK|*$Bg`s_eJn+uBbS-m)9s3D0mGP4}wYQa(x_t3-TQ9p7fRdnfs6X3cv6YTjAa>5A
z1&L5JM@nB!O-;ljM`J@di$~PrylJdc9S_=HYt3dW!GPsGKt4f)p)|MYk}gfvhN_8a
zH+pVc+1S|V=-`tDObZGMg;NbU%R*(NQ3MDbLVNzzLT&9`$TMFrw#)kJ#zq2>*T#m)
zFxf3CYPHd0lY#2onozcmlY_%IGM3KnTJ30E!ITT3Xn;}~qgESc2M6!*F-Q=SF{uU2
zF)HWgZ!kv1sd3XqKoFaZCp@Zyg@uJ&G=*Dz*tboA4-QMxz>MQkl9PLr=0`@r)Vi6c
z=&?|Ra;pQV#Yz7*ajl`exVYPiL0K~3v<XkRf>@cWu~#iK>?3@LT?pS_Y{(*b!z?w-
zGweXJ_J~|Kb@Vv}jo;}(2aV3zGheGJLowtqI(+}cn;otM;|%vr!&f1L%E(3U8;tJA
zbh&5^GpsTEi!$k8LKe37r>D(w?uB<*=j%<>PR9;B)h*QIrfa8k>(n<eFo=QQV2Qa%
zz4!6sM^(<D(9jNa4#W|zl2>nbcO3UqTv@h%r^!rkd~gs>6*`bDpWXkYp|KIbS=W`p
zwoGY{t1_Oy7mMy6(XfUqwJ*@qLlE#@gbbIvQ60WUMtH85tTZca9UbSUYI)T6WLPe}
z2o1Lr6Un~yI(c;md-3AMAcgn({FGe+d!Ck-cXShLYiq44yAdV&{6Pw>D7$0~N65{~
zTuF9iiG5XC?LU9__C^xw)9?fdK|+&$ad*5~QS!|tJ9fAhH_L9IoR}D}T<gl$-0DEV
zfV&{qfYH{%Uv}jUt$h9Zb!Fw9C8B|CWo5<I$w?FVX8pD0m~@aGBx5K&o;`EXoq05k
zYvOwGvijpk91b^A??xOeGtDBLd)@|Q%M33o8!+T^&=QaQ!Yn0X>0?x6@gmfDH8rDz
zof!apfI=G>&<>+IdmanJVPE_EX^}luR2<2dZ@>ou1QAak6^(IwgOxKF?Oj^iy>eS4
ze;ypi$7rcc4upt`s)|Z-a<WD~9i(6|>g@tYKlrDC?ep_id<+`gbZ%~LAD_-Nc<u1!
zKfHf`*uJ9qbj(z~>$UTMi||CZ#5q<@?j_gytJ1Z%#l>eq5Zm||P`(~yE7}XtgjJBj
zn~xvyqA_~)Fvx?|6l9ypp=S*7m5!zc2HAL<sb^rZc@yH)Mnts@Mv+s=7@V{7`&amq
zVh2Rn+!oUvdDh6qolv_DTL%X;d@}X|NeIlQ3LC8}oT|^j!+Oay*`Q=pDMsb3XQH06
zF7@Zvsi`iks{b-7RHvKUhkU(*!iwfi3BeE;T0x=^9*OFed;y*Z%>T!00lvQna~`qR
zH8ssk479hCc6vU0mMo-_dgZ0+v43^}Hq0^{4g8iUHCK`bFng1-+Ujai6zUB&&CxU&
z0}z=OuPMKw`S=Z^-ZULXf8jW_=$M%4ce9fX7*na{Z}RVp0C-MRk0Pyk3!xQI2nGYE
zmN}!cF~0mI*NLjq2S~O{FEsN3;*88)X_y@zww|ixj?+#*AFz`?9BOrkNTK{k3#BJP
zVP)OmBlT=+)@%8f6Eo4<Tgu2tIFgfs)LT)pNuOU4rfl_4FoiVe6~T-2jS+tmI_JmE
z0k`@enTiL<y}iAL@|&MHmDYa!LMCY(pr2rHMIS%*)jDnqKoG|diLqbPiA(y1!#gK_
z>0;V#A@7Q<(hPz^u66-9hN4ElcQoZx+>@y=EFpn{+um~n2=O?}b3P&{$Uhvw{yO*7
zT+Sm{GBXjSqPA!dT?uSR{vg3gPsM4ri8e;1cr+3_iXe(+2UC6_w@WMLi(GFAQ6rJP
zS7rzz+uW8;;V``2S)vqcB9$4dlGpQC?{QepJwC=L^Ezis2L}gd=SNSUsu&pLyyLt;
z$OzaiIiuo0z*aOhqafk_!iI7TLaYlHLYr35gUCyij@1m0uKXfNP2NtYD-_R6CZ}y=
zurXclR%4Q+N5jDYBZu*3kcFTiIAu_$Rb{~0)|olTvQtHDfG=Xm*XP$=v!pgKs6~>Y
z?-pGT#7M9TGEj9`=?;&Wlo|3d0C329J*5w*o2}?t!&4;V%_I$=yU9yhyl#J2hGc#A
zeocHJ93SkEe)7x$xDaC;+hKM6ZiWJkHkyCQ3iUSSW<FY|>-F`=<yaOp%$bjN6vwwK
zu`7|MVBm+Kk5)4^ZRG4*b@%r6PID7fe_K&eF*_R!=Nypa-GBM%RCVg3Q+9TGix2Us
zkx|Mk1VKN((o$dIO)<ZE6*&h(IZp~+m6KLkx2v<$Z2aQ+=W^LJ(3|zclOrNPy^d3y
zx&XEP+S;0H2?#(Trki~{xakgleZZ3k*C21wMSQWU92gi7Fs;3(@}b@x$r!5?EFhpA
z6bKXxW6Wsf!HTanhq<uBzwN%!6(LcGf9ralgre;pDxn9cykx8*vprZR1Q{&!DOZ<^
zhkW%><wBR_BSOo*3|#~{X^=@-CxR<}vEdTM^v?7>z7U~jtg6YF&nUC5i!bt8PWC?n
zba1q{QGkUYyBZS!&ID8FUzv>KG>R+{s<EuwGCJ{#_xO(g^xe7{>AJgS5b~-3`_s9b
zaG&JSi%ZuWoSaGwZ`PO?jGsj7X5+8xIpcT8(aWsPmmH>qwEIK_`l<ovqV&D?s`lu4
z3JO47A*?f8)RQF_GKOj%l0ok)D)1FY$;pfb1)Clo9#IN!i;D{mk3YR}^eXtt7um^-
zfBY?rAQekb70Sev;^TdEH_Nw*XA}fia;k+4qY?us5MvC>SzTRy!RF1!Ky`59Ex~GN
zAQq?QOOT$!+S@mJ?K~;cchKO4pZ9KMiV0&2n6LDdd73u%_pesYy+_fMT25&NctVuQ
z=WS0V-SFbxVt%iYoUaB9q);f#x%Gb0m`VTZ^h~Y?VUTsS<fAG;u;%syij<3stD#&q
zPdB=<0E>ok&crHl9{7HGqJP}L=oD^X&of-SOC+*M?}g(l)*4>Ig>T;;pP0CzPG_w}
zt}rZ0AEAU~+>tRF_X}Z<&dKHLdHiQ7#bQs!$=BD+y-nXB2~+>E(4#9hlhec4%&gcD
z1QMK!%g`3_N?2S^!A@xDx@59>!sXmz;gCQ#!x97Kpci@-W`a?r%_e0K1Xqej(xTy=
z`@Knh9afd~^~UU1f&}>Ti;E*sZ}>E7fKA;D3T!b0HdddLBLG%;M0CQXG%RdCOO}Sx
z%xbEZ&rMWZTo8$*zIgH6^M-;RxR7xh%nc1k^RdMEZ`fOqL8m+NXCL@}dS`V>tgo+M
zASZ2?jOx8#W|+X;L)hsNCJ8Jm=I;Bl!`fe{Mi&yUF3d^(A~?sch6+k~Ov(9xkKu+j
zj0?ZZmk+a+k(CvZ6B?SBP>0=Mpo&-0Hz-S)=r{q&$X7aUx1^bJi&dujtg<UM6ioto
z{c{Fb5T^3-ti8QW{vIFupDivv=B8r?SZuob27;<vSl2)~9z|g`k{~55eZMF<Ym*HP
z%cHhN_Eo*Ru-@<qw>}mZ7iUtItj68`)7jLtBv-AN-@qQTtrPz$SK}Wosas~aHu_hM
z8+}6{Nkd_ubwGBF0}8Z65aiFyhO1*^_rL@qleLGpu_SowFw4^GuE~~&REOnMn=Jo7
zJ=YlwY8~!->Z|MB$nzm?3MOep=5|_L99dXcAjY!Erm2a-k%t+t;K4!%RUO*hJNTC0
z->qM2D(UJQB=ZCVK>vz67#^!)-S&ttrB6UW0C+u<{yH}s2XF7O!UM|W$HpAw^uY_;
z2xz)W0H2rDb#kg8N>^eKV^_m@^R?Rmb08FH#f)IST8S*Fth|xlFWecEhMf|$w$JzM
zav}G&b8?z%^7=sVD!`VH(;BGjkv7PQR+r`H^E9W$s#xXg@z6z7*VI^&a*$S)c2@<%
z3lbxE<LiF?`0<FF&YC)0?{;Unnp*r@jeJf`ezYeBqnyZ1{57$&m~j0<s9wI_eTEnj
zh49kiG=i?NA*uHuu9<?SK;Pg3Il2JL6r~&<xFSaeg(LeCy?1sl+`mr~7FL@nA0U^~
zC&nB9;e%V2jp7%Otmbo1iCb;I?)C`1OH~&Qx5}W8_%&IxK2}B>y*N?7YTd;)M8*=r
z3e~B+hhDj5^<!RCnE!LoH6~!qbY!*{XPbRQjh}qYgF9ckv5V>~z%o(+Zv5!*aC5HZ
zY~;Sq#%%Ky>*Ld-EvKnk0R}3e^Q?g7>|u`<(=OBJFS%JlVc}`0o0yuK>L7lBgcPnp
z=VJa|#rwU$`r+=C2qmjWkABa7A%EcXB*ME$p*4#@nVs7IB=pg`>^)^&ZuQ9;dqUr>
zW@?BqJynIHN5eVzdYfRm8u@>Avd@lv0`_bIc5Vl_ogD5uh^O~0`5!M_JKME5+pU;A
z8-0F6lpUvMWe@r&LCCoW60C=jDtQ0|<|amd(KEO_5Qr>-X(VY}yn{yFVAMn`l$Q%a
zt$^DeZy<x4B=;k@qJ;)-KtI3`EKb&p?q*6!%D14TrStfx@?*=_LtX)JD0wrfrl@Gu
zs`C4{X-;4ksv|iGoHxn)7+sT%l0Q03j10oL$aO)w;;}XRy~cjLv$ON*Y}4qs>BE^V
ze{iiiH}|%jod3`E&~b}^lfj?Q=T7%NvU4hNdMj9%_k0}~V3j?5Z%Z}M-_IPTTci);
z$i3f9f@F-!*HcbTQp&9~Df?nIWGfoq|HNs!jzgW!^wu{Kl?XMYXtubBh}%MEKOl(@
zk9S&#y*K4oS61LlD!TVc0t-zhhgUP!-`iH-N!AaqyEl&GWV}wULHBFJe(s|aAcitT
z#+QJR`Tt1>P^)-C%ZZoUNg`zV)YkJ*a=5Ze!>OxlYgnb40x*~f!VX!WS<0R8s)?_o
z_9>eARz^nS-@m_hoXQoKl$XEdEse15s?{F0eR}uM_mhM8eSU&Yrqs|NT-xvOW64b~
zWnDf@V%bo%v%P)FyT;cA#)2ut&6%5%Cq@+yH&#~}B?fkyT<c5usM^TU-$zCOgWhuW
zDzlh&U*UnQMobz<A04pa>GAO^)aNA$^$we(Miv0X(4*BjhxUD1h{taD(}#Sl?YY+m
zg5I5Jyx#Zq*B)h8fLf1;TLFKER5_=7e^quZ69^#R2h0LE2C`%?K(8>VWIrUt12bGE
zzb7KDT{B`>9U0cKE8d$t^OwyW7@JT-hmhZCC&^>$P;2m77|Yj8`3ES;C@ujc5fdE^
z4D4n?Pof6TKMd~xVkdBwyX)gS2Tj;CC~$A@S?7a%lfzAqv(E#W(&yM1{CJ?Y<6~dB
z?6c+DEfW(%30k$?@m8kG-I-H;eSJ|;Q6R<7*m*2GF*GzZJv}`+DJ3Vg-S;tI2;uaK
z8%vy(-S#va-*v5*k&pmc&+w|dk56MRUjf#N`f3*-1#!4k;Rfu^GRTjH;-={7>2tps
zTt6g%VEL>N#2)wxQUl7j`{~msfV7z&dj3?EKOFk~`}cCcslEZQ=y>jPq(Q)b$tY<4
zF)EwiH-GQ`1cwy|4ZDSj*<_`k>Wq@I%L*~zjOaA?Nfw2I$9$0_fW**$W7Np$;k8;v
z(|fe<x+poSa^DqCPE1rbRgHXqZR_ON_e9uFw%NZWV5-)!NMA$WSfDSmYoXRLy?~aA
zg5*sV=V-K@lMZnxPgRo8a{7a;uZl;VcD8!9`Eyy3U?<-KH53a+CQ(f|JnM?Rnsd+A
z*7l0^Ur^z=16ymDotVfkwgV~q2OoT`qhh74!_IR5(cY$?EisG!dMt65$R9~cLJkS5
z+}MSF#KdTu);h#-W3bqznA@|S3;o#~tu(;HVTPAYYSz5;dE=2iacW;mnQJsU+%o-+
z_5h2Ao@thiv(+E2US59ES2gQLG>^-RI&Q1h>ij-GAB-n}^b^Fbdf$U@Q}So$pm6Wf
zyGihiG8tOpWD3emBzMB$X{o81si_<5>rPLfuB~l4Y}sD9+AMZkev7!8JK5OO)Z{oN
zj)oJo;`5zFODUeGEvtq@f$V_V9AHKd)(U(^-7;@DoI9NgurM)^!u{!C$_nt`Dd>mi
z-83o(oJ{L$e4*}|>s{dV(9Ad)ojq*YrcO-(T||iO699!oYzC^UtHW!v3A%k%pt9RN
zp|u&O8cY8C@MXYp!qSqcO8gu1u?ZP~G#%_Lqb;MAG+}6R4*%beK;my&`Jfb(H;RPn
zaqF)fC&nu*THFYCZEOh5K135!Q%a89^;ixixGU_tclJ5byXN>^K!X53boP7a<Lu_@
z=HWuXNf&_3SW8P!&;4ePIn##^0Y%{6q`bR$`uqsCaF2U>YMcW8``|bdIoIf+qnr3r
z{!}8pAEamASt)AV$Uax|+o=u%Pd>z{EiU#XFx`6SPssG($sL=xhO4@ahHd(<w4UGN
zfg`UD1T9D?1><Gh)&Ltfaw3H()#tx^_by$;@n@aWoF^mt2KE}<RypAoy3&mewHx1O
zhlXPw2cys#jj;<2o9RxU4%W`RaklG&*=GktzWj=&KfPb}>(=W?^}DO65qWH*qS~S|
zY4JVuI&!D`Jqh&0>*ihR`FhttnGG--LY*M(xy2Y&R#uky4V}ZzqM8ku_3@U|-Tw63
zXB`&DOEo38kNq><!r=_8ucfS$9k?$j20{uME}fDbk?Rkfns=jCi|WtzubnBnX=*Ae
zDoSOZ9<`kLK&`P?rMZUGs&clECv@blekv;Yq?G$J4kT>er}b(`4Gw443bS(G(*q``
z)z4?|d%^C9>=TFmUV|wYay%TpQeUpbt(|a%g~hcV$?>+Vd1LS=K<_fFQDb&u+6Jbk
zrnf9U9fJ@bp~s#-QiU91Ff%vb*w~n9^4bB^m8$AycU3zAVnwwg@^Vl3ACSKtP(2SR
zRCgvaUgM8MsxMCd{@oG9l<jj`KR)Ms5;JZwCschRJ$HJE_krH!mCDs^AL3T@&DSHY
z9W?%@1Jl2LEoV+`frZh*TSYT5CX=*Y^YdLEZ#g8OKfTeAqtt|)2l(2!8K~|A%HaE!
zU9&W&q@`o!w>|BBq~o|rg9@;kQBgMdtg9?6#Y`dOC^+|h{7yqd18Gnzm}$qUOXTQi
z(#~^dKQ%Ai$WI(GPFUZtZ9B;Um2McCkAZq~x@O^o=zp+QQt`|K*ZlXJrksJfdWFBs
z_Wbvijbn|;Euv2?83}p0$H|}3zVY&NEG)-Cf$!`&!Y}sSSf+w0^u6Z^?XIGW5r;*+
zV>VDv{`=?=ezsXh{zyyJg9!}-gnT#V15hSjv@P&g+n&BwR_#?t0|Wb-$>ZZDTUI4b
z+JS?iJeq*t>vIfImz51Ug5j=s`oz23b<>Zzc#L62+|2E2@ZhRk^5;PScGyZB55}51
z3KaP)&;ytKl6v?}?Yfbe!EkT1tJXWLChI=;f$7}g@}9Z05E_(pDw_9(i+Wa*lOI13
z6X4*Pd^PBP6}rctq}2ygLBGtD@CUUU0D@Y|r#4wWuk3A1o&D80s|FJoaCQnx6i<Xx
z0nv}&LH2#a&D1)=ejXnmfBmY(8Mm^zc{&_GEIcF3o#E|9L!dj=DmVT%i8U}44fA(M
zh1P^;i4y|d&P#Zh69;piXJ;S%>imtW`So?p?ne6k%SmpK#775HU4u0V7}ty8elovM
zE4DkEMEi8{i@po%0e??gPW?Huch-w-q$hkk`!VdnJp~2NY2>|r4=Mt$O(#YYSoZ@<
zLql`6F?U)<@apgH_t>0{P{}(vIl(0#eESxUG1igY9a&slTpcb<PfN=kdH`s5!a6nX
zH&2a+W7?a6&rIuY6C)EfkaQdmM50quCxU`V40JU@+rMWvPUi{7p(u)%xvJg*)+{a1
zHSC@>e?4*K=R`eLISx+B8h9Es+j3ZP=DOM*`c)&%D~pBtT|)(!@RpVqv7~mo-!dtW
zf`v#Sl33=2t5>fAP#u!X2jbnxD&UvFaoce+vFEXhs%p#0h7;hC3-yY8<&2PwOiWC(
zhZCj%0yMBaD6A~4e5gF2yq35Z^Y=)MK9tpJMd)xlRmAi~t*rOoxC_~Scdy>2eaYnJ
z6-fIc&}~x}kCSEk-Ih~!%YR`>n#gNadER)8T`8D#N?u}69`&PMFeJSDdtU6L3kqN0
z+;nkJAZPFeEFk5bd>5`nSAu}Q6>xS0fD#j~)>*=La~h<$IgV4cB&|FVtn&WHfGIi~
zKl5FhZKlW_6jXok%4glzC|al}VSPQi;MT$JE1zhNkXsh@dr=;<KBpFbU?;@yo~;2b
zZ5_o_cs3P>J2Ua1#*b!WvdXJ(Z>F*RVkM27OtTZ74PwtXV^~!_qqd}m0$<SvG83{0
zW9oYF_FWujv}LA?|JkXZdOX<RpsK2>eEtem=tKX5B?b0JX=9-mESgUCrapiEoYgnZ
zz~(%TTRY8<{nf2<>Xuo<T?!luM=Q)Li`aQZ{z{|BpX{?gw_av?{`%z<a9hZ0t9x7Z
zva)3~PeM;^a$*SOmvGWpR90HrY?YT7OHBEP-ErT{d)#~tsP*HsTN5AGk@mE6e-4hN
zx0<+$1+=xb!OGeUWK1;R?2(Khik}Q;f7+g?$2)X&!uo{oz%CGPJPiJG%=66AapSv$
zYgOFu7*vkEyF;{4mig<LFS!(#*up#KKW<I?udNn-betI*9ld-h?9DxM=te&I!ppk>
zo_oKHI{^k}2tl#LjL|X@?76sb;uf;j@Sn!qsqpsULY<e<(GCDgd3mJ@JzE<o0wCZo
zkr=QyVRN?Ia(d0$V~dtkT`8HH*;+3<3JnwL6~DV(DwMMR)~_;jH#``%Oby^51w_i7
z;~?kpyR}UL<-FY<>d8Gh8E=*K0$PL#L);PUuq*U2X*wT}BI*5B(T7JzC;n$99+Y=3
zwH_|gQm`t(w1xpo=S!UNn3|dda4ob6fY$McM{_!|IJ>z|ep^jDv49X`lWUi}Kpwo+
zOxzq9sm3$4f^>^kg*+kV^W|ufHvDo%1S{S3bd$9Q&$x!}H7UL#8=zeb6oR=3Sx|+M
zDk@INtYyg_sf)5iDCLzCNCtR<g_PjXfU$kC*Q56VeaYIU9~~(}gJETH#2fj6WcWOY
zUBg%|y9Hn|o9xV^rCR~aFS{rxD1_Q!Iq00<pRb+1|M1}?v_htk;<#asxZQQ_67}Dw
zv!aL?<y#M%nyQ;PZ}7uC=-nLF(_X^oVR{4O-G4Jgg3Lqx%f~OYs+iLyN!*F075hpP
z;C9$LJEMB(nz;S)*<n|JFUT@zSS8?>UYK`bUPpLItH-lkp<lPYuU6;k!ZcM2%pV{p
zP<b)nzbr5X3k?R5LE3dOyZ{^Rg5SBDE$4{nyl|_DUFv4~M~6$Q?OB9XlB>>d*Zqy-
zmA%wa4<V+gPzdTpa3UNLx{9!$`kJPhc!2@h;u@7^3t~G2(OQ=z{rU1`zo4z{s`Rrk
zbdDQgV5R|g6Alv<6@?ALpf@9mhzQDaP$0oyoiRH-{pj~+8c<9DeCj8^qip}Rk-RQ8
z5cJJo3<4VE<Zq$8?6Y6rH)m)_x_Q*~40f0M(<dCf&pw?L7bIyUm5hf`#zk;P3@V_K
z$F5!B45vI`5{a*?uQw=tpA|MrxjVm8^M;hRkXn&XlRN!kW=6)exM($YxB%b@may%;
zDJQ0=4kb<wwanLVq*e+O%ZLMY3LgM|l6PMjJUuy@nw<O_Xc6B%`Gyi5yYOkdGriWa
z1#qfz*}R(Z_xQ}mLET~Q*Y|oZ#+Y^QA74{Hhz++RxI&ooIGe_1iWV9Y^(@`&<60zB
zi)p;k;jLi@91uGp5Z;ckF{{)0;l-xJm#Gd?m`QK|wH+SL)Dk!U<hukI@w5V-1ntON
zG;{+~zHld8qHtZCl6`F`cc-S{E?hB$T>%W|@T|#ub6Dr)HThcm@w<@3f_<u@aB9Zu
zIuF9$%*K>Qht<Unt5lcSLAaCJ7iC>})=Oev7C<$QctpP)b`SLqTa4@@w|<a4O85FM
z;yr8_Y>uRaSnn+A(m>&ZDK1}ej^iJ!D_5d!ee(RXcmwR*;7<Yxq{r&Fd`}tw#coh{
z5yz(S4!E*Lx$rV}GXFT%yv6=BMyS^DXm{M=O0(ZOfXN5G{=f>Go11s*1;~d^D2Qi!
z0mnanw0-V+nH{cVCAfpICXc#Enjt(;hcS)aU~gsKF;mf=s&$wW|0<UJ_J=EF+9h5D
zM>U(8Bw4hYRs8d@lLY6-$*X2f?p{xx7>+Ois{*OtLp}zu`S4_DNLK?Z$`Z#-i4Lg@
zfzu`k<AUo}lwcl*C4f``)XLo9Sc@c3DDW66Dk`8rBv7mHOBsduwRO!CIEPyg>qg)&
zZ(mOjZYbxE=TwhGY9iFht;sQ|a4mtt^R&eEV)-{=XeqEi?8r6k0xCozB!esrwHQdk
zSLHwsS+oAAX>WWz@FkigIDaB_qAx`dq?Fur>bwbLWMt2uKd(XtY<Dmb1~NscxfrAD
zfpJF&ZF+5XVkO6MAiM+sKIs+`>APVcQ0KAr6bf2z0I<CR<Wry$Yd+rpSUC8U`I0JN
z-fY|sz<!=b-gd$%eOfx&+B&kYvs23xHKM(1F;dCciJH)k11<4{9t<e0KPfEyaq6e4
zBo+v#<QRDUd3<o={K|872=0vh&Iv)rhJ5DNc$cTGFXi7=RI~ytk&fJfQb0gUZg;)e
zDG0kp<z`7dHI0onJImT&{{~DE?`9{KXHo`gw9|Di)|Qr*pbmkT+0o)3Z4aX0&?+20
zTa`cQ$Ug45ea(O0vh($8D;PN`d0$93Shf~9-#w3Of&v1Oq)ugem_*@Dz(e2(iXjXd
z%6&NgnqqEsx_0Ne+0R!FnOk?vv``Fg6@en3#MLiJ{9qN@TN2HC@IIUw)E%=x9TbK5
z{>ggX`sLMtm7EvBZI3D+uv|-Ta$Q>c`&YE{L45d|Wark)%B$<^6ZLLgKYp+iWZ;96
zME2lS_roM3|3C9l0VouTUClU2gNMytpWz&2o5tALT`AC4rL<N33Xd@~^51`ct+==f
z<i#CZc^T;i%+%)rphKxR<2Rq<*i9+U!#JU!cbQbqfpA7y<Db+@In%gtmFHs%a`5_h
zsshov_V(+*uRYtCoEe|0z?ulAfNfC8m<zKm_wRF2w4!<ecmUgjAn171;v_|(bxUFZ
z6xY~8uHTg@I1mj|-U;>PLnL7^G3M{H_$h@s@@6Xnc29xGr@e2Qkx13~xPt>PP`b(Y
z26fnx3rV|ei1%aJm(Mtct~|_JvPRC|${)dD{l2?$mA-)Y#`ltBr<-P^9Ts}{Z$A{C
zm>wM!L!k!$xt~e?PI9@Eztc%2Mu0T5`M?Y*n3|@)>6~kpPP<FU^4l{uHslB)r%!2&
zQzPdplB2xIOAAL^eOm17H@)V6+z9x(0Rqj4-RO2@ghmZ3_4)fnBWu0Ij#F=EMc$=k
ztgq781PTShLm<~yp|Ie$W@kR6^QAG?hr2W+1aj+O41VXylP3iQ1^&dwIm>9}P!;Dh
zcrc8tWlrZt65!Q)F&Et2qPkvYf|@ob9cdsb?6Eot6q%U;wjI8HJ%|gaF|o&Dv5t=5
z-0vjjHVv!Pw{MdVOGahRUmX4mwt8p36yojCLm|x48%k_kNb4^gF$5?>cVJ`dL(xNr
z?c{bPit<4%<4iPdCTa|;5+_Xe8+WTSU38MUdu_St{0>(OySg@uiYI4gv|%dYQSl>(
z7V)i#-zaF<khg9TcXwC)%?%l*Y6TxQ*_sRtym;m|z=!ETlQ^q#KKLQ76<$z$@7S0c
zma|X?y>GB6vStr?Lm0YvLvUJRz2=hH7%QH|_6w`^uX^ghn$>R?ZB7D~r91plysl&q
zZpD_LMUe4@J(MJ@i(FF>6&K>&6_)G_5$6A@QAgd$Y<}g3a=g;1g{dvag%DxBZSa2p
zJnqU5+#g%IW2CHIG2jalMhS@tpu_}3Q2Hn#DWQL_n<!x^6v}CHaQ%ODaCCZ%ed6{1
z@4)uK)(CW9`F975C-#XH8td+M594~@($U!g14$s+|Gnro<gNoLj{it0fl=sV9sheI
zQYbMg;oIy&BL997x$O|l><okv{}EOOe^=en(gvf2d1~Ws3yF#eF^;)P0vV?NSH=kY
z7>I}ni(7Eb_W}|6{~@CD<cS-`9XyWcYa8J{(0uKGG#g@E-LOtiAyF`BG1Py*MJ26A
zDEEOV!+%8o@4-k2OG@T;m;R4C{a5>c59GG+?ekJqS3ooSf4bkZb#ixd#JIa+t<|5p
zV_cnGG47V`|L!ZC8y#^I$TI#%_P^)x-;CbFdSV<Pk;2Q&`9R|8|B-Nd;_hMTih-Oh
zu}|FvpJLqEMFmlUV$^0z%|H<TPY`QuEoJTG?B$BJv2}-3&>w0R=0F?W|89GXakF;C
zI{()gtcCZ}+Wt+=f6d&#o{pAJaZfC*-EpoMSIAnp@*2fk&`kZmI|CH~1G5&6ojJY_
Pu0!g|ca_S~kAnXf+#=)n

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon-precomposed.png
new file mode 100644
index 0000000000000000000000000000000000000000..cc1174983837b6ee3e029067a9eea2f131c1a3c7
GIT binary patch
literal 65745
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
VMBKMSBlvrQYihcxIA!b5{{glxiqil9

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/apple-touch-icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..b5bad5896f6cd423e01842d33591cf8d77a97353
GIT binary patch
literal 60935
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
WF$jqxKdj+-#39ooCS@e&sDA@d(9%@^

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html
new file mode 100644
index 0000000..9f932f9
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/base.html
@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html lang="en">
+    <head>
+        <meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+        <meta name="viewport" content="width=device-width, initial-scale=1.0">
+        {% if page_description %}<meta name="description" content="{{ page_description }}">{% endif %}
+        {% if site_author %}<meta name="author" content="{{ site_author }}">{% endif %}
+        {% if canonical_url %}<link rel="canonical" href="{{ canonical_url }}">{% endif %}
+        <link rel="apple-touch-icon" sizes="57x57" href="/apple-touch-icon-57x57.png">
+		<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-114x114.png">
+		<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-72x72.png">
+		<link rel="apple-touch-icon" sizes="144x144" href="/apple-touch-icon-144x144.png">
+		<link rel="apple-touch-icon" sizes="60x60" href="/apple-touch-icon-60x60.png">
+		<link rel="apple-touch-icon" sizes="120x120" href="/apple-touch-icon-120x120.png">
+		<link rel="apple-touch-icon" sizes="76x76" href="/apple-touch-icon-76x76.png">
+		<link rel="apple-touch-icon" sizes="152x152" href="/apple-touch-icon-152x152.png">
+		<link rel="icon" type="image/png" href="/favicon-196x196.png" sizes="196x196">
+		<link rel="icon" type="image/png" href="/favicon-160x160.png" sizes="160x160">
+		<link rel="icon" type="image/png" href="/favicon-96x96.png" sizes="96x96">
+		<link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16">
+		<link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32">
+		<meta name="msapplication-TileColor" content="#2b5797">
+		<meta name="msapplication-TileImage" content="/mstile-144x144.png">
+
+        <title>{{ page_title }}</title>
+
+        <link rel="stylesheet" type="text/css" media="screen" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" />
+        <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
+        <link href="{{ base_url }}/css/prettify-1.0.css" rel="stylesheet">
+        <link href="{{ base_url }}/css/base.css" rel="stylesheet">
+        {%- for path in extra_css %}
+        <link href="{{ path }}" rel="stylesheet">
+        {%- endfor %}
+
+        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
+        <!--[if lt IE 9]>
+            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
+            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
+        <![endif]-->
+		<script type="text/javascript" src="//code.jquery.com/jquery-2.1.1.min.js"></script>
+		<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
+		{%- for path in extra_javascript %}
+			<script src="{{ path }}"></script>
+        {%- endfor %}
+    </head>
+
+    <body>
+
+        {% include "nav.html" %}
+
+        <div class="container">
+			<div class="row">
+				<div class="col-md-3">{% include "toc.html" %}</div>
+				<div class="col-md-9" role="main">{% include "content.html" %}</div>
+			</div>
+        </div>
+
+        {% if include_search %}{% include "search.html" %}{% endif %}
+
+        <script src="{{ base_url }}/js/prettify-1.0.min.js"></script>
+        <script src="{{ base_url }}/js/base.js"></script>
+		<script>
+		if (top != self) { top.location.replace(self.location.href); }
+		(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+		(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+		m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+		})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+
+		ga('create', 'UA-47462200-1', 'eonasdan.github.io');
+		ga('send', 'pageview');
+		</script>
+    </body>
+</html>
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml
new file mode 100644
index 0000000..fe44cae
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/browserconfig.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<browserconfig>
+  <msapplication>
+    <tile>
+      <square70x70logo src="/mstile-70x70.png"/>
+      <square150x150logo src="/mstile-150x150.png"/>
+      <square310x310logo src="/mstile-310x310.png"/>
+      <wide310x150logo src="/mstile-310x150.png"/>
+      <TileColor>#da532c</TileColor>
+    </tile>
+  </msapplication>
+</browserconfig>
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html
new file mode 100644
index 0000000..a372658
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/content.html
@@ -0,0 +1,9 @@
+{% if meta.source %}
+<div class="source-links">
+{% for filename in meta.source %}
+    <span class="label label-primary">{{ filename }}</span>
+{% endfor %}
+</div>
+{% endif %}
+
+{{ content }}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css
new file mode 100644
index 0000000..7c063eb
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/base.css
@@ -0,0 +1,107 @@
+body {
+    padding-top: 70px;
+}
+
+ul.nav li.main {
+    font-weight: bold;
+}
+
+div.col-md-3 {
+    padding-left: 0;
+}
+
+div.source-links {
+    float: right;
+}
+
+/*
+ * Side navigation
+ *
+ * Scrollspy and affixed enhanced navigation to highlight sections and secondary
+ * sections of docs content.
+ */
+
+/* By default it's not affixed in mobile views, so undo that */
+.bs-sidebar {
+  overflow-y: scroll;
+  max-height: 86%;
+  overflow-x: hidden;
+}
+
+.bs-sidebar.affix {
+    position: static;
+}
+
+.bs-sidebar.well {
+    padding: 0;
+}
+
+/* First level of nav */
+.bs-sidenav {
+    margin-top: 30px;
+    margin-bottom: 30px;
+    padding-top:    10px;
+    padding-bottom: 10px;
+    border-radius: 5px;
+}
+
+/* All levels of nav */
+.bs-sidebar .nav > li > a {
+    display: block;
+    padding: 5px 20px;
+}
+.bs-sidebar .nav > li > a:hover,
+.bs-sidebar .nav > li > a:focus {
+    text-decoration: none;
+    border-right: 1px solid;
+}
+.bs-sidebar .nav > .active > a,
+.bs-sidebar .nav > .active:hover > a,
+.bs-sidebar .nav > .active:focus > a {
+    font-weight: bold;
+    background-color: transparent;
+    border-right: 1px solid;
+}
+
+/* Nav: second level (shown on .active) */
+.bs-sidebar .nav .nav {
+    display: none; /* Hide by default, but at >768px, show it */
+    margin-bottom: 8px;
+}
+.bs-sidebar .nav .nav > li > a {
+    padding-top:    3px;
+    padding-bottom: 3px;
+    padding-left: 30px;
+    font-size: 90%;
+}
+
+/* Show and affix the side nav when space allows it */
+@media (min-width: 992px) {
+    .bs-sidebar .nav > .active > ul {
+        display: block;
+    }
+    /* Widen the fixed sidebar */
+    .bs-sidebar.affix,
+    .bs-sidebar.affix-bottom {
+        width: 213px;
+    }
+    .bs-sidebar.affix {
+        position: fixed; /* Undo the static from mobile first approach */
+        top: 80px;
+    }
+    .bs-sidebar.affix-bottom {
+        position: absolute; /* Undo the static from mobile first approach */
+    }
+    .bs-sidebar.affix-bottom .bs-sidenav,
+    .bs-sidebar.affix .bs-sidenav {
+        margin-top: 0;
+        margin-bottom: 0;
+    }
+}
+@media (min-width: 1200px) {
+    /* Widen the fixed sidebar again */
+    .bs-sidebar.affix-bottom,
+    .bs-sidebar.affix {
+        width: 263px;
+    }
+}
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css
new file mode 100644
index 0000000..e0df245
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/css/prettify-1.0.css
@@ -0,0 +1,28 @@
+.com { color: #93a1a1; }
+.lit { color: #195f91; }
+.pun, .opn, .clo { color: #93a1a1; }
+.fun { color: #dc322f; }
+.str, .atv { color: #D14; }
+.kwd, .prettyprint .tag { color: #1e347b; }
+.typ, .atn, .dec, .var { color: teal; }
+.pln { color: #48484c; }
+
+.prettyprint {
+    padding: 8px;
+}
+.prettyprint.linenums {
+  -webkit-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
+     -moz-box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
+          box-shadow: inset 40px 0 0 #fbfbfc, inset 41px 0 0 #ececf0;
+}
+
+/* Specify class=linenums on a pre to get line numbering */
+ol.linenums {
+  margin: 0 0 0 33px; /* IE indents via margin-left */
+}
+ol.linenums li {
+  padding-left: 12px;
+  color: #bebec5;
+  line-height: 20px;
+  text-shadow: 0 1px 0 #fff;
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-16x16.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8a87bbeb13636cbc86e7132944ea399f2e5ceeb
GIT binary patch
literal 1433
zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|*pj^6T^Rm@
z;DWu&Cj&(|3p^r=85p>QK$!8;-MT+OLG}_)Usv|~ta6Op+)8x^KQS;ct?_hm4AD5R
zIw{&;Dq6x}fBt((J!2jb35hKVi;i+f%`U!l>{`W>klf@;^>@^24OaHnW+cxxIT)?4
zP{hY~B5ls^GuPSgUq4k9`Qy<~J_Z3n1+AAQYKx87r2Wm-Ro%_|9@U|#1a!56lHkXv
zt$qwFE(~k0efnk}y_5ZB&At_BTcWmR&06-@;`^7q$5vmh@|kjVOKWRom*@4*J%!gl
zHXB^<Zk-h8p(5<^WY@h~M=zBpy}e)4iUWOg&VN5_z@*URFwL;*(9T~mX4ALI-)ufu
zKflkOS;5}I;>MjnzptNvmto?iqI%4LgXvg=)mkGpcE<@`s)82{c+P)cY>=c}Y$Lkv
zd283I6|01f8!`m&Y|^<OdG2h1PD?`1%w;>bZjD?yW$DzbqD=;qJ$L0D*xAz2wMe2(
zu|;EQ@V2)_=W6VoJPOXK2_N)Qom(sy9CM}EfBs+9)1S`xJiWSl@A3ZY+qcKB$U3z#
z_n60|3)^H}rdZAOTYXh&(X&gBZr#dq@>`Yl>&u$tNI$n=iN`l%rg6yJE|u};I9Pl$
zY4z4MtGeF*bl9=&-lp8wf8HE_`Tg8=ef2q?f4V(>mUhDO_1AUh&g)lhjCfc2`|MKp
zjtstk<+{(y-@khC;qb?c?%7KJ?%tlu@o?9=RV&=(`*LqjlSn@N@WYcQ(Q(1`bLYjM
zIsbm2<%$rkvs0Ju{X5-JLS9ZTYt}J|?>6&0mi+G4tN&NG_xioN_vcqyXsa)oTXwr_
zS)t7AXKNQNX+J!>JpX=wem>)b^XINfEPDSlP(*LNj-=bpfHT4eL)Yi``CK-6{)+$i
z--8uKrl(SMmjmOx&*MZ!N}s-dT|{~Ly4P)WPj=p`u(`G=Yw<;mCtt5VP1|d>dxJ&$
zdGqa$X9!F*baUxgF#Stc;Ky2jebHNQ=WYtzwCr2y{(9RTe#@TN=Nt<Eswh_}229GT
zC9V-ADTyViR>?)FK#IZ0z|d6Jz*N`RAjH7X$`FLK4UDV|4D#Pyc#WbVH$NpatrE8e
zxy>2jKn+qL8&WGW)2y5_ONs+hi-Hq#3vyB!EOZn=Na(GdI#87&T$KyZ6(O0q5SLgP
zm|7W`D;OGs7{=x~O_Bvb#S(DEu0V4=a}(23eNyw%OEMTtObx}Z6<Gq+h-0b=&rAU-
zF*Y)bSAKK~s6-e=iGNyJacT+BJ0>&IjZOol<x!-=Qj3Z+^Ya)?fQ~jbfM65L<SU#%
zfJ#N+N|7C7VPt8!=)@Wno51oAhnO3gvsrDD21+ZywFhM6m*nTBmK0?sd*+p-78Mkw
zmL!&d>@`}{)2R(qD+X5!2}e+f24q&G<}es97nNKJR3VE{k)Kvlo>-L1P>`6JSE84f
zTB2a0XP{@w6XUWMs89f;Ff%#XDmlNPvM4h>qlCfDY4g^{_knUkFu9b};^d;t0<asB
zjeg8J2nrf-$bod`Cgzo<B_@}Y7Nr(3BpYp%XI}!8=7DJjCJ~^+l8yTA{s{((GkCiC
KxvX<aXaWGcrb!q8

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-32x32.png
new file mode 100644
index 0000000000000000000000000000000000000000..88eff99a18a817c83338975547cb79cb1ed1e10b
GIT binary patch
literal 3187
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon-96x96.png
new file mode 100644
index 0000000000000000000000000000000000000000..7b1fafe26b2fe3c87165c6fa20b0e208bfaac481
GIT binary patch
literal 19482
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/favicon.ico
new file mode 100644
index 0000000000000000000000000000000000000000..b8e6d01c1c8aa92a3b4d5396e077b73560d14dda
GIT binary patch
literal 12014
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
K|M<^Lf&UA*2m0&)

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js
new file mode 100644
index 0000000..c99cce7
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/base.js
@@ -0,0 +1,52 @@
+
+/* Prettyify */
+$( document ).ready(function() {
+    prettyPrint();
+});
+
+
+/* Scrollspy */
+var navHeight = $('.navbar').outerHeight(true) + 10
+
+$('body').scrollspy({
+    target: '.bs-sidebar',
+    offset: navHeight
+})
+
+
+/* Prevent disabled links from causing a page reload */
+$("li.disabled a").click(function() {
+    event.preventDefault();
+});
+
+
+/* Adjust the scroll height of anchors to compensate for the fixed navbar */
+window.disableShift = false;
+var shiftWindow = function() {
+    if (window.disableShift) {
+        window.disableShift = false;
+    } else {
+        /* If we're at the bottom of the page, don't erronously scroll up */
+        var scrolledToBottomOfPage = (
+            (window.innerHeight + window.scrollY) >= document.body.offsetHeight
+        );
+        if (!scrolledToBottomOfPage) {
+            scrollBy(0, -60);
+        };
+    };
+};
+if (location.hash) {shiftWindow();}
+window.addEventListener("hashchange", shiftWindow);
+
+
+/* Deal with clicks on nav links that do not change the current anchor link. */
+$("ul.nav a" ).click(function() {
+    var href = this.href;
+    var suffix = location.hash;
+    var matchesCurrentHash = (href.indexOf(suffix, href.length - suffix.length) !== -1);
+    if (location.hash && matchesCurrentHash) {
+        /* Force a single 'hashchange' event to occur after the click event */
+        window.disableShift = true;
+        location.hash='';
+    };
+});
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js
new file mode 100644
index 0000000..eef5ad7
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/js/prettify-1.0.min.js
@@ -0,0 +1,28 @@
+var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
+(function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
+[],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
+f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
+(j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
+{b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
+t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
+"string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
+l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
+q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
+q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
+"");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
+a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
+for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
+m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
+a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
+j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
+"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
+H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
+J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
+I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
+["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
+/^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
+["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
+hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
+!k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
+250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
+PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json
new file mode 100644
index 0000000..73c8255
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/manifest.json
@@ -0,0 +1,41 @@
+{
+	"name": "Eonasdan.com",
+	"icons": [
+		{
+			"src": "\/android-chrome-36x36.png",
+			"sizes": "36x36",
+			"type": "image\/png",
+			"density": "0.75"
+		},
+		{
+			"src": "\/android-chrome-48x48.png",
+			"sizes": "48x48",
+			"type": "image\/png",
+			"density": "1.0"
+		},
+		{
+			"src": "\/android-chrome-72x72.png",
+			"sizes": "72x72",
+			"type": "image\/png",
+			"density": "1.5"
+		},
+		{
+			"src": "\/android-chrome-96x96.png",
+			"sizes": "96x96",
+			"type": "image\/png",
+			"density": "2.0"
+		},
+		{
+			"src": "\/android-chrome-144x144.png",
+			"sizes": "144x144",
+			"type": "image\/png",
+			"density": "3.0"
+		},
+		{
+			"src": "\/android-chrome-192x192.png",
+			"sizes": "192x192",
+			"type": "image\/png",
+			"density": "4.0"
+		}
+	]
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-144x144.png
new file mode 100644
index 0000000000000000000000000000000000000000..20647d7f275ef0dcd21e7ff1e6fd4d5e263e7f41
GIT binary patch
literal 42796
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
QaKS!({6*bz?JME`1L!6WF#rGn

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-150x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..b728b98813f61797e292069f5bcd3061c6b7fe51
GIT binary patch
literal 36570
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
LS-M2ZB;fx7R_i^c

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x150.png
new file mode 100644
index 0000000000000000000000000000000000000000..b8bf4925654e2ebd27cab94b6c973c18cd6a18c8
GIT binary patch
literal 38916
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-310x310.png
new file mode 100644
index 0000000000000000000000000000000000000000..649ffa1aac3b94606f0be1fd428d230a8e4bf569
GIT binary patch
literal 144673
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%0D8)fMZ?9WPSp00wVK;5v79x52VSj
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

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/mstile-70x70.png
new file mode 100644
index 0000000000000000000000000000000000000000..d76ae36755c0da9606824a04378b0c227277b043
GIT binary patch
literal 21052
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
Sg4N)HJr+nSv(oc!G5-OUnMQvA

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html
new file mode 100644
index 0000000..0c5c26b
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/nav.html
@@ -0,0 +1,76 @@
+<div class="navbar navbar-default navbar-fixed-top" role="navigation">
+    <div class="container">
+
+        <!-- Collapsed navigation -->
+        <div class="navbar-header">
+            <!-- Expander button -->
+            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
+                <span class="sr-only">Toggle navigation</span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+                <span class="icon-bar"></span>
+            </button>
+
+            <!-- Main title -->
+            <a class="navbar-brand" href="{{ homepage_url }}">{{ site_name }}</a>
+        </div>
+
+        <!-- Expanded navigation -->
+        <div class="navbar-collapse collapse">
+            <!-- Main navigation -->
+            <ul class="nav navbar-nav">
+            {% for nav_item in nav %}
+            {% if nav_item.children %}
+                <li class="dropdown{% if nav_item.active %} active{% endif %}">
+                    <a href="#" class="dropdown-toggle" data-toggle="dropdown">{{ nav_item.title }} <b class="caret"></b></a>
+                    <ul class="dropdown-menu">
+                    {% for nav_item in nav_item.children %}
+                        <li {% if nav_item.active %}class="active"{% endif %}>
+                            <a href="{{ nav_item.url }}">{{ nav_item.title }}</a>
+                        </li>
+                    {% endfor %}
+                    </ul>
+                </li>
+            {% else %}
+                <li {% if nav_item.active %}class="active"{% endif %}>
+                    <a href="{{ nav_item.url }}">{{ nav_item.title }}</a>
+                </li>
+            {% endif %}
+            {% endfor %}
+            </ul>
+
+            <!-- Search, Navigation and Repo links -->
+            <ul class="nav navbar-nav navbar-right">
+                {% if include_search %}
+                <li>
+                    <a href="#searchModal" data-toggle="modal"><i class="fa fa-search"></i> Search</a>
+                </li>
+                {% endif %}
+				{% if false %}
+                <li {% if not previous_page %}class="disabled"{% endif %}>
+                    <a rel="next" {% if previous_page %}href="{{ previous_page.url }}"{% endif %}>
+                        <i class="fa fa-arrow-left"></i> Previous
+                    </a>
+                </li>
+                <li {% if not next_page %}class="disabled"{% endif %}>
+                    <a rel="prev" {% if next_page %}href="{{ next_page.url }}"{% endif %}>
+                        Next <i class="fa fa-arrow-right"></i>
+                    </a>
+                </li>
+				{% endif %}
+                {% if repo_url %}
+                <li>
+                    <a href="{{ repo_url }}">
+                        {% if repo_name == 'GitHub' %}
+                            <i class="fa fa-github"></i>
+                        {% elif repo_name == 'Bitbucket' %}
+                            <i class="fa fa-bitbucket"></i>
+                        {% endif %}
+                        {{ repo_name }}
+                    </a>
+                </li>
+                {% endif %}
+            </ul>
+        </div>
+    </div>
+</div>
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html
new file mode 100644
index 0000000..bb8fdcd
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/docs/theme/toc.html
@@ -0,0 +1,10 @@
+<div class="bs-sidebar hidden-print affix well" role="complementary">
+    <ul class="nav bs-sidenav">
+    {% for toc_item in toc %}
+        <li class="main {% if toc_item.active %}active{% endif %}"><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li>
+        {% for toc_item in toc_item.children %}
+            <li><a href="{{ toc_item.url }}">{{ toc_item.title }}</a></li>
+        {% endfor %}
+    {% endfor %}
+    </ul>
+</div>
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml b/public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml
new file mode 100644
index 0000000..b83c6b8
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/mkdocs.yml
@@ -0,0 +1,202 @@
+site_name: Bootstrap 3 Datepicker
+theme_dir: docs/theme
+extra_javascript: ['//cdnjs.cloudflare.com/ajax/libs/moment.js/2.9.0/moment-with-locales.js','//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/src/js/bootstrap-datetimepicker.js']
+extra_css: ['//cdn.rawgit.com/Eonasdan/bootstrap-datetimepicker/e8bddc60e73c1ec2475f827be36e1957af72e2ea/build/css/bootstrap-datetimepicker.css']
+repo_url: https://github.com/Eonasdan/bootstrap-datetimepicker
+pages:
+- Usage: 'index.md'
+- Installing: 'Installing.md'
+- Functions: 'Functions.md'
+- Options: 'Options.md'
+- Events: 'Events.md'
+- Change Log: 'Changelog.md'
+- Dev Guide: 'ContributorsGuide.md'
+- Extras: 'Extras.md'
+- FAQs: 'FAQ.md'
+- Issues:
+    - Issues: 'Issues/Index.md'
+    - 1014: 'Issues/1014.md'
+    - 1041: 'Issues/1041.md'
+    - 1045: 'Issues/1045.md'
+    - 1058: 'Issues/1058.md'
+    - 1059: 'Issues/1059.md'
+    - 1065: 'Issues/1065.md'
+    - 1073: 'Issues/1073.md'
+    - 1097: 'Issues/1097.md'
+    - 1126: 'Issues/1126.md'
+    - 1130: 'Issues/1130.md'
+    - 1132: 'Issues/1132.md'
+    - 1144: 'Issues/1144.md'
+    - 1154: 'Issues/1154.md'
+    - 1158: 'Issues/1158.md'
+    - 1170: 'Issues/1170.md'
+    - 1171: 'Issues/1171.md'
+    - 1173: 'Issues/1173.md'
+    - 1177: 'Issues/1177.md'
+    - 1180: 'Issues/1180.md'
+    - 1181: 'Issues/1181.md'
+    - 1185: 'Issues/1185.md'
+    - 1186: 'Issues/1186.md'
+    - 1189: 'Issues/1189.md'
+    - 1191: 'Issues/1191.md'
+    - 1195: 'Issues/1195.md'
+    - 1199: 'Issues/1199.md'
+    - 1211: 'Issues/1211.md'
+    - 1219: 'Issues/1219.md'
+    - 1224: 'Issues/1224.md'
+    - 1236: 'Issues/1236.md'
+    - 1238: 'Issues/1238.md'
+    - 1246: 'Issues/1246.md'
+    - 1247: 'Issues/1247.md'
+    - 1249: 'Issues/1249.md'
+    - 1250: 'Issues/1250.md'
+    - 1251: 'Issues/1251.md'
+    - 1257: 'Issues/1257.md'
+    - 1267: 'Issues/1267.md'
+    - 1270: 'Issues/1270.md'
+    - 1273: 'Issues/1273.md'
+    - 1276: 'Issues/1276.md'
+    - 1277: 'Issues/1277.md'
+    - 1278: 'Issues/1278.md'
+    - 1279: 'Issues/1279.md'
+    - 1285: 'Issues/1285.md'
+    - 1289: 'Issues/1289.md'
+    - 1290: 'Issues/1290.md'
+    - 1291: 'Issues/1291.md'
+    - 1294: 'Issues/1294.md'
+    - 1295: 'Issues/1295.md'
+    - 1297: 'Issues/1297.md'
+    - 1299: 'Issues/1299.md'
+    - 1300: 'Issues/1300.md'
+    - 1302: 'Issues/1302.md'
+    - 1303: 'Issues/1303.md'
+    - 1304: 'Issues/1304.md'
+    - 1307: 'Issues/1307.md'
+    - 1311: 'Issues/1311.md'
+    - 1313: 'Issues/1313.md'
+    - 1314: 'Issues/1314.md'
+    - 1318: 'Issues/1318.md'
+    - 1323: 'Issues/1323.md'
+    - 1324: 'Issues/1324.md'
+    - 1326: 'Issues/1326.md'
+    - 1328: 'Issues/1328.md'
+    - 1334: 'Issues/1334.md'
+    - 1337: 'Issues/1337.md'
+    - 1338: 'Issues/1338.md'
+    - 1339: 'Issues/1339.md'
+    - 1340: 'Issues/1340.md'
+    - 1341: 'Issues/1341.md'
+    - 1343: 'Issues/1343.md'
+    - 1344: 'Issues/1344.md'
+    - 1345: 'Issues/1345.md'
+    - 1346: 'Issues/1346.md'
+    - 1347: 'Issues/1347.md'
+    - 1349: 'Issues/1349.md'
+    - 1351: 'Issues/1351.md'
+    - 1353: 'Issues/1353.md'
+    - 1354: 'Issues/1354.md'
+    - 1355: 'Issues/1355.md'
+    - 1356: 'Issues/1356.md'
+    - 1357: 'Issues/1357.md'
+    - 1358: 'Issues/1358.md'
+    - 1359: 'Issues/1359.md'
+    - 1360: 'Issues/1360.md'
+    - 1361: 'Issues/1361.md'
+    - 1363: 'Issues/1363.md'
+    - 1364: 'Issues/1364.md'
+    - 1366: 'Issues/1366.md'
+    - 1368: 'Issues/1368.md'
+    - 1369: 'Issues/1369.md'
+    - 1371: 'Issues/1371.md'
+    - 1372: 'Issues/1372.md'
+    - 1374: 'Issues/1374.md'
+    - 1377: 'Issues/1377.md'
+    - 1379: 'Issues/1379.md'
+    - 1380: 'Issues/1380.md'
+    - 1383: 'Issues/1383.md'
+    - 1384: 'Issues/1384.md'
+    - 1386: 'Issues/1386.md'
+    - 1387: 'Issues/1387.md'
+    - 1395: 'Issues/1395.md'
+    - 1405: 'Issues/1405.md'
+    - 1408: 'Issues/1408.md'
+    - 1412: 'Issues/1412.md'
+    - 1413: 'Issues/1413.md'
+    - 1417: 'Issues/1417.md'
+    - 1422: 'Issues/1422.md'
+    - 1423: 'Issues/1423.md'
+    - 1426: 'Issues/1426.md'
+    - 1427: 'Issues/1427.md'
+    - 1428: 'Issues/1428.md'
+    - 1429: 'Issues/1429.md'
+    - 1430: 'Issues/1430.md'
+    - 1432: 'Issues/1432.md'
+    - 1433: 'Issues/1433.md'
+    - 1436: 'Issues/1436.md'
+    - 1438: 'Issues/1438.md'
+    - 1439: 'Issues/1439.md'
+    - 1441: 'Issues/1441.md'
+    - 1443: 'Issues/1443.md'
+    - 1444: 'Issues/1444.md'
+    - 1445: 'Issues/1445.md'
+    - 1446: 'Issues/1446.md'
+    - 1448: 'Issues/1448.md'
+    - 1449: 'Issues/1449.md'
+    - 1453: 'Issues/1453.md'
+    - 1454: 'Issues/1454.md'
+    - 1457: 'Issues/1457.md'
+    - 1459: 'Issues/1459.md'
+    - 1461: 'Issues/1461.md'
+    - 1462: 'Issues/1462.md'
+    - 1463: 'Issues/1463.md'
+    - 1465: 'Issues/1465.md'
+    - 1466: 'Issues/1466.md'
+    - 1469: 'Issues/1469.md'
+    - 1471: 'Issues/1471.md'
+    - 1474: 'Issues/1474.md'
+    - 1475: 'Issues/1475.md'
+    - 1477: 'Issues/1477.md'
+    - 1478: 'Issues/1478.md'
+    - 1479: 'Issues/1479.md'
+    - 1480: 'Issues/1480.md'
+    - 1483: 'Issues/1483.md'
+    - 1484: 'Issues/1484.md'
+    - 1485: 'Issues/1485.md'
+    - 1486: 'Issues/1486.md'
+    - 1489: 'Issues/1489.md'
+    - 1490: 'Issues/1490.md'
+    - 1491: 'Issues/1491.md'
+    - 1493: 'Issues/1493.md'
+    - 1494: 'Issues/1494.md'
+    - 1496: 'Issues/1496.md'
+    - 1498: 'Issues/1498.md'
+    - 1499: 'Issues/1499.md'
+    - 1505: 'Issues/1505.md'
+    - 1506: 'Issues/1506.md'
+    - 1507: 'Issues/1507.md'
+    - 1511: 'Issues/1511.md'
+    - 1512: 'Issues/1512.md'
+    - 1513: 'Issues/1513.md'
+    - 1514: 'Issues/1514.md'
+    - 1515: 'Issues/1515.md'
+    - 1516: 'Issues/1516.md'
+    - 1519: 'Issues/1519.md'
+    - 1520: 'Issues/1520.md'
+    - 1521: 'Issues/1521.md'
+    - 1522: 'Issues/1522.md'
+    - 1523: 'Issues/1523.md'
+    - 1524: 'Issues/1524.md'
+    - 1526: 'Issues/1526.md'
+    - 1527: 'Issues/1527.md'
+    - 1529: 'Issues/1529.md'
+    - 766: 'Issues/766.md'
+    - 790: 'Issues/790.md'
+    - 935: 'Issues/935.md'
+    - 943: 'Issues/943.md'
+    - 950: 'Issues/950.md'
+    - 957: 'Issues/957.md'
+    - 959: 'Issues/959.md'
+    - 982: 'Issues/982.md'
+    - 985: 'Issues/985.md'
+    - 993: 'Issues/993.md'
+    - 995: 'Issues/995.md'
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/package.json b/public/bower_components/eonasdan-bootstrap-datetimepicker/package.json
new file mode 100644
index 0000000..171a372
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/package.json
@@ -0,0 +1,51 @@
+{
+  "author": {
+    "name": "Jonathan Peterson"
+  },
+  "bugs": {
+    "url": "https://github.com/eonasdan/bootstrap-datetimepicker/issues"
+  },
+  "peerDependencies": {
+    "bootstrap": "^3.3",
+    "jquery": "^1.8.3 || ^2.0 || ^3.0",
+    "moment": "^2.10",
+    "moment-timezone": "^0.4.0"
+  },
+  "dependencies": {
+    "bootstrap": "^3.3",
+    "jquery": "^1.8.3 || ^2.0 || ^3.0",
+    "moment": "^2.10",
+    "moment-timezone": "^0.4.0"
+  },
+  "description": "A date/time picker component designed to work with Bootstrap 3 and Momentjs. For usage, installation and demos see Project Site on GitHub",
+  "devDependencies": {
+    "grunt": "latest",
+    "grunt-contrib-connect": "^1.0.1",
+    "grunt-contrib-jasmine": "^1.0.3",
+    "grunt-contrib-jshint": "latest",
+    "grunt-contrib-less": "latest",
+    "grunt-contrib-uglify": "latest",
+    "grunt-env": "^0.4.4",
+    "grunt-jscs": "latest",
+    "grunt-nuget": "^0.1.5",
+    "grunt-string-replace": "latest",
+    "load-grunt-tasks": "latest"
+  },
+  "homepage": "http://eonasdan.github.io/bootstrap-datetimepicker/",
+  "keywords": [
+    "twitter-bootstrap",
+    "bootstrap",
+    "datepicker",
+    "datetimepicker",
+    "timepicker",
+    "moment"
+  ],
+  "license": "MIT",
+  "main": "src/js/bootstrap-datetimepicker.js",
+  "name": "eonasdan-bootstrap-datetimepicker",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/eonasdan/bootstrap-datetimepicker.git"
+  },
+  "version": "4.17.47"
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js
new file mode 100644
index 0000000..8838cbc
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/js/bootstrap-datetimepicker.js
@@ -0,0 +1,2636 @@
+/*! version : 4.17.47
+ =========================================================
+ bootstrap-datetimejs
+ https://github.com/Eonasdan/bootstrap-datetimepicker
+ Copyright (c) 2015 Jonathan Peterson
+ =========================================================
+ */
+/*
+ The MIT License (MIT)
+
+ Copyright (c) 2015 Jonathan Peterson
+
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ */
+/*global define:false */
+/*global exports:false */
+/*global require:false */
+/*global jQuery:false */
+/*global moment:false */
+(function (factory) {
+    'use strict';
+    if (typeof define === 'function' && define.amd) {
+        // AMD is used - Register as an anonymous module.
+        define(['jquery', 'moment'], factory);
+    } else if (typeof exports === 'object') {
+        module.exports = factory(require('jquery'), require('moment'));
+    } else {
+        // Neither AMD nor CommonJS used. Use global variables.
+        if (typeof jQuery === 'undefined') {
+            throw 'bootstrap-datetimepicker requires jQuery to be loaded first';
+        }
+        if (typeof moment === 'undefined') {
+            throw 'bootstrap-datetimepicker requires Moment.js to be loaded first';
+        }
+        factory(jQuery, moment);
+    }
+}(function ($, moment) {
+    'use strict';
+    if (!moment) {
+        throw new Error('bootstrap-datetimepicker requires Moment.js to be loaded first');
+    }
+
+    var dateTimePicker = function (element, options) {
+        var picker = {},
+            date,
+            viewDate,
+            unset = true,
+            input,
+            component = false,
+            widget = false,
+            use24Hours,
+            minViewModeNumber = 0,
+            actualFormat,
+            parseFormats,
+            currentViewMode,
+            datePickerModes = [
+                {
+                    clsName: 'days',
+                    navFnc: 'M',
+                    navStep: 1
+                },
+                {
+                    clsName: 'months',
+                    navFnc: 'y',
+                    navStep: 1
+                },
+                {
+                    clsName: 'years',
+                    navFnc: 'y',
+                    navStep: 10
+                },
+                {
+                    clsName: 'decades',
+                    navFnc: 'y',
+                    navStep: 100
+                }
+            ],
+            viewModes = ['days', 'months', 'years', 'decades'],
+            verticalModes = ['top', 'bottom', 'auto'],
+            horizontalModes = ['left', 'right', 'auto'],
+            toolbarPlacements = ['default', 'top', 'bottom'],
+            keyMap = {
+                'up': 38,
+                38: 'up',
+                'down': 40,
+                40: 'down',
+                'left': 37,
+                37: 'left',
+                'right': 39,
+                39: 'right',
+                'tab': 9,
+                9: 'tab',
+                'escape': 27,
+                27: 'escape',
+                'enter': 13,
+                13: 'enter',
+                'pageUp': 33,
+                33: 'pageUp',
+                'pageDown': 34,
+                34: 'pageDown',
+                'shift': 16,
+                16: 'shift',
+                'control': 17,
+                17: 'control',
+                'space': 32,
+                32: 'space',
+                't': 84,
+                84: 't',
+                'delete': 46,
+                46: 'delete'
+            },
+            keyState = {},
+
+            /********************************************************************************
+             *
+             * Private functions
+             *
+             ********************************************************************************/
+
+            hasTimeZone = function () {
+                return moment.tz !== undefined && options.timeZone !== undefined && options.timeZone !== null && options.timeZone !== '';
+            },
+
+            getMoment = function (d) {
+                var returnMoment;
+
+                if (d === undefined || d === null) {
+                    returnMoment = moment(); //TODO should this use format? and locale?
+                } else if (moment.isDate(d) || moment.isMoment(d)) {
+                    // If the date that is passed in is already a Date() or moment() object,
+                    // pass it directly to moment.
+                    returnMoment = moment(d);
+                } else if (hasTimeZone()) { // There is a string to parse and a default time zone
+                    // parse with the tz function which takes a default time zone if it is not in the format string
+                    returnMoment = moment.tz(d, parseFormats, options.useStrict, options.timeZone);
+                } else {
+                    returnMoment = moment(d, parseFormats, options.useStrict);
+                }
+
+                if (hasTimeZone()) {
+                    returnMoment.tz(options.timeZone);
+                }
+
+                return returnMoment;
+            },
+
+            isEnabled = function (granularity) {
+                if (typeof granularity !== 'string' || granularity.length > 1) {
+                    throw new TypeError('isEnabled expects a single character string parameter');
+                }
+                switch (granularity) {
+                    case 'y':
+                        return actualFormat.indexOf('Y') !== -1;
+                    case 'M':
+                        return actualFormat.indexOf('M') !== -1;
+                    case 'd':
+                        return actualFormat.toLowerCase().indexOf('d') !== -1;
+                    case 'h':
+                    case 'H':
+                        return actualFormat.toLowerCase().indexOf('h') !== -1;
+                    case 'm':
+                        return actualFormat.indexOf('m') !== -1;
+                    case 's':
+                        return actualFormat.indexOf('s') !== -1;
+                    default:
+                        return false;
+                }
+            },
+
+            hasTime = function () {
+                return (isEnabled('h') || isEnabled('m') || isEnabled('s'));
+            },
+
+            hasDate = function () {
+                return (isEnabled('y') || isEnabled('M') || isEnabled('d'));
+            },
+
+            getDatePickerTemplate = function () {
+                var headTemplate = $('<thead>')
+                        .append($('<tr>')
+                            .append($('<th>').addClass('prev').attr('data-action', 'previous')
+                                .append($('<span>').addClass(options.icons.previous))
+                                )
+                            .append($('<th>').addClass('picker-switch').attr('data-action', 'pickerSwitch').attr('colspan', (options.calendarWeeks ? '6' : '5')))
+                            .append($('<th>').addClass('next').attr('data-action', 'next')
+                                .append($('<span>').addClass(options.icons.next))
+                                )
+                            ),
+                    contTemplate = $('<tbody>')
+                        .append($('<tr>')
+                            .append($('<td>').attr('colspan', (options.calendarWeeks ? '8' : '7')))
+                            );
+
+                return [
+                    $('<div>').addClass('datepicker-days')
+                        .append($('<table>').addClass('table-condensed')
+                            .append(headTemplate)
+                            .append($('<tbody>'))
+                            ),
+                    $('<div>').addClass('datepicker-months')
+                        .append($('<table>').addClass('table-condensed')
+                            .append(headTemplate.clone())
+                            .append(contTemplate.clone())
+                            ),
+                    $('<div>').addClass('datepicker-years')
+                        .append($('<table>').addClass('table-condensed')
+                            .append(headTemplate.clone())
+                            .append(contTemplate.clone())
+                            ),
+                    $('<div>').addClass('datepicker-decades')
+                        .append($('<table>').addClass('table-condensed')
+                            .append(headTemplate.clone())
+                            .append(contTemplate.clone())
+                            )
+                ];
+            },
+
+            getTimePickerMainTemplate = function () {
+                var topRow = $('<tr>'),
+                    middleRow = $('<tr>'),
+                    bottomRow = $('<tr>');
+
+                if (isEnabled('h')) {
+                    topRow.append($('<td>')
+                        .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.incrementHour }).addClass('btn').attr('data-action', 'incrementHours').append($('<span>').addClass(options.icons.up))));
+                    middleRow.append($('<td>')
+                        .append($('<span>').addClass('timepicker-hour').attr({ 'data-time-component': 'hours', 'title': options.tooltips.pickHour }).attr('data-action', 'showHours')));
+                    bottomRow.append($('<td>')
+                        .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.decrementHour }).addClass('btn').attr('data-action', 'decrementHours').append($('<span>').addClass(options.icons.down))));
+                }
+                if (isEnabled('m')) {
+                    if (isEnabled('h')) {
+                        topRow.append($('<td>').addClass('separator'));
+                        middleRow.append($('<td>').addClass('separator').html(':'));
+                        bottomRow.append($('<td>').addClass('separator'));
+                    }
+                    topRow.append($('<td>')
+                        .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.incrementMinute }).addClass('btn').attr('data-action', 'incrementMinutes')
+                            .append($('<span>').addClass(options.icons.up))));
+                    middleRow.append($('<td>')
+                        .append($('<span>').addClass('timepicker-minute').attr({ 'data-time-component': 'minutes', 'title': options.tooltips.pickMinute }).attr('data-action', 'showMinutes')));
+                    bottomRow.append($('<td>')
+                        .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.decrementMinute }).addClass('btn').attr('data-action', 'decrementMinutes')
+                            .append($('<span>').addClass(options.icons.down))));
+                }
+                if (isEnabled('s')) {
+                    if (isEnabled('m')) {
+                        topRow.append($('<td>').addClass('separator'));
+                        middleRow.append($('<td>').addClass('separator').html(':'));
+                        bottomRow.append($('<td>').addClass('separator'));
+                    }
+                    topRow.append($('<td>')
+                        .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.incrementSecond }).addClass('btn').attr('data-action', 'incrementSeconds')
+                            .append($('<span>').addClass(options.icons.up))));
+                    middleRow.append($('<td>')
+                        .append($('<span>').addClass('timepicker-second').attr({ 'data-time-component': 'seconds', 'title': options.tooltips.pickSecond }).attr('data-action', 'showSeconds')));
+                    bottomRow.append($('<td>')
+                        .append($('<a>').attr({ href: '#', tabindex: '-1', 'title': options.tooltips.decrementSecond }).addClass('btn').attr('data-action', 'decrementSeconds')
+                            .append($('<span>').addClass(options.icons.down))));
+                }
+
+                if (!use24Hours) {
+                    topRow.append($('<td>').addClass('separator'));
+                    middleRow.append($('<td>')
+                        .append($('<button>').addClass('btn btn-primary').attr({ 'data-action': 'togglePeriod', tabindex: '-1', 'title': options.tooltips.togglePeriod })));
+                    bottomRow.append($('<td>').addClass('separator'));
+                }
+
+                return $('<div>').addClass('timepicker-picker')
+                    .append($('<table>').addClass('table-condensed')
+                        .append([topRow, middleRow, bottomRow]));
+            },
+
+            getTimePickerTemplate = function () {
+                var hoursView = $('<div>').addClass('timepicker-hours')
+                        .append($('<table>').addClass('table-condensed')),
+                    minutesView = $('<div>').addClass('timepicker-minutes')
+                        .append($('<table>').addClass('table-condensed')),
+                    secondsView = $('<div>').addClass('timepicker-seconds')
+                        .append($('<table>').addClass('table-condensed')),
+                    ret = [getTimePickerMainTemplate()];
+
+                if (isEnabled('h')) {
+                    ret.push(hoursView);
+                }
+                if (isEnabled('m')) {
+                    ret.push(minutesView);
+                }
+                if (isEnabled('s')) {
+                    ret.push(secondsView);
+                }
+
+                return ret;
+            },
+
+            getToolbar = function () {
+                var row = [];
+                if (options.showTodayButton) {
+                    row.push($('<td>').append($('<a>').attr({ 'data-action': 'today', 'title': options.tooltips.today }).append($('<span>').addClass(options.icons.today))));
+                }
+                if (!options.sideBySide && hasDate() && hasTime()) {
+                    row.push($('<td>').append($('<a>').attr({ 'data-action': 'togglePicker', 'title': options.tooltips.selectTime }).append($('<span>').addClass(options.icons.time))));
+                }
+                if (options.showClear) {
+                    row.push($('<td>').append($('<a>').attr({ 'data-action': 'clear', 'title': options.tooltips.clear }).append($('<span>').addClass(options.icons.clear))));
+                }
+                if (options.showClose) {
+                    row.push($('<td>').append($('<a>').attr({ 'data-action': 'close', 'title': options.tooltips.close }).append($('<span>').addClass(options.icons.close))));
+                }
+                return $('<table>').addClass('table-condensed').append($('<tbody>').append($('<tr>').append(row)));
+            },
+
+            getTemplate = function () {
+                var template = $('<div>').addClass('bootstrap-datetimepicker-widget dropdown-menu'),
+                    dateView = $('<div>').addClass('datepicker').append(getDatePickerTemplate()),
+                    timeView = $('<div>').addClass('timepicker').append(getTimePickerTemplate()),
+                    content = $('<ul>').addClass('list-unstyled'),
+                    toolbar = $('<li>').addClass('picker-switch' + (options.collapse ? ' accordion-toggle' : '')).append(getToolbar());
+
+                if (options.inline) {
+                    template.removeClass('dropdown-menu');
+                }
+
+                if (use24Hours) {
+                    template.addClass('usetwentyfour');
+                }
+
+                if (isEnabled('s') && !use24Hours) {
+                    template.addClass('wider');
+                }
+
+                if (options.sideBySide && hasDate() && hasTime()) {
+                    template.addClass('timepicker-sbs');
+                    if (options.toolbarPlacement === 'top') {
+                        template.append(toolbar);
+                    }
+                    template.append(
+                        $('<div>').addClass('row')
+                            .append(dateView.addClass('col-md-6'))
+                            .append(timeView.addClass('col-md-6'))
+                    );
+                    if (options.toolbarPlacement === 'bottom') {
+                        template.append(toolbar);
+                    }
+                    return template;
+                }
+
+                if (options.toolbarPlacement === 'top') {
+                    content.append(toolbar);
+                }
+                if (hasDate()) {
+                    content.append($('<li>').addClass((options.collapse && hasTime() ? 'collapse in' : '')).append(dateView));
+                }
+                if (options.toolbarPlacement === 'default') {
+                    content.append(toolbar);
+                }
+                if (hasTime()) {
+                    content.append($('<li>').addClass((options.collapse && hasDate() ? 'collapse' : '')).append(timeView));
+                }
+                if (options.toolbarPlacement === 'bottom') {
+                    content.append(toolbar);
+                }
+                return template.append(content);
+            },
+
+            dataToOptions = function () {
+                var eData,
+                    dataOptions = {};
+
+                if (element.is('input') || options.inline) {
+                    eData = element.data();
+                } else {
+                    eData = element.find('input').data();
+                }
+
+                if (eData.dateOptions && eData.dateOptions instanceof Object) {
+                    dataOptions = $.extend(true, dataOptions, eData.dateOptions);
+                }
+
+                $.each(options, function (key) {
+                    var attributeName = 'date' + key.charAt(0).toUpperCase() + key.slice(1);
+                    if (eData[attributeName] !== undefined) {
+                        dataOptions[key] = eData[attributeName];
+                    }
+                });
+                return dataOptions;
+            },
+
+            place = function () {
+                var position = (component || element).position(),
+                    offset = (component || element).offset(),
+                    vertical = options.widgetPositioning.vertical,
+                    horizontal = options.widgetPositioning.horizontal,
+                    parent;
+
+                if (options.widgetParent) {
+                    parent = options.widgetParent.append(widget);
+                } else if (element.is('input')) {
+                    parent = element.after(widget).parent();
+                } else if (options.inline) {
+                    parent = element.append(widget);
+                    return;
+                } else {
+                    parent = element;
+                    element.children().first().after(widget);
+                }
+
+                // Top and bottom logic
+                if (vertical === 'auto') {
+                    if (offset.top + widget.height() * 1.5 >= $(window).height() + $(window).scrollTop() &&
+                        widget.height() + element.outerHeight() < offset.top) {
+                        vertical = 'top';
+                    } else {
+                        vertical = 'bottom';
+                    }
+                }
+
+                // Left and right logic
+                if (horizontal === 'auto') {
+                    if (parent.width() < offset.left + widget.outerWidth() / 2 &&
+                        offset.left + widget.outerWidth() > $(window).width()) {
+                        horizontal = 'right';
+                    } else {
+                        horizontal = 'left';
+                    }
+                }
+
+                if (vertical === 'top') {
+                    widget.addClass('top').removeClass('bottom');
+                } else {
+                    widget.addClass('bottom').removeClass('top');
+                }
+
+                if (horizontal === 'right') {
+                    widget.addClass('pull-right');
+                } else {
+                    widget.removeClass('pull-right');
+                }
+
+                // find the first parent element that has a non-static css positioning
+                if (parent.css('position') === 'static') {
+                    parent = parent.parents().filter(function () {
+                        return $(this).css('position') !== 'static';
+                    }).first();
+                }
+
+                if (parent.length === 0) {
+                    throw new Error('datetimepicker component should be placed within a non-static positioned container');
+                }
+
+                widget.css({
+                    top: vertical === 'top' ? 'auto' : position.top + element.outerHeight(),
+                    bottom: vertical === 'top' ? parent.outerHeight() - (parent === element ? 0 : position.top) : 'auto',
+                    left: horizontal === 'left' ? (parent === element ? 0 : position.left) : 'auto',
+                    right: horizontal === 'left' ? 'auto' : parent.outerWidth() - element.outerWidth() - (parent === element ? 0 : position.left)
+                });
+            },
+
+            notifyEvent = function (e) {
+                if (e.type === 'dp.change' && ((e.date && e.date.isSame(e.oldDate)) || (!e.date && !e.oldDate))) {
+                    return;
+                }
+                element.trigger(e);
+            },
+
+            viewUpdate = function (e) {
+                if (e === 'y') {
+                    e = 'YYYY';
+                }
+                notifyEvent({
+                    type: 'dp.update',
+                    change: e,
+                    viewDate: viewDate.clone()
+                });
+            },
+
+            showMode = function (dir) {
+                if (!widget) {
+                    return;
+                }
+                if (dir) {
+                    currentViewMode = Math.max(minViewModeNumber, Math.min(3, currentViewMode + dir));
+                }
+                widget.find('.datepicker > div').hide().filter('.datepicker-' + datePickerModes[currentViewMode].clsName).show();
+            },
+
+            fillDow = function () {
+                var row = $('<tr>'),
+                    currentDate = viewDate.clone().startOf('w').startOf('d');
+
+                if (options.calendarWeeks === true) {
+                    row.append($('<th>').addClass('cw').text('#'));
+                }
+
+                while (currentDate.isBefore(viewDate.clone().endOf('w'))) {
+                    row.append($('<th>').addClass('dow').text(currentDate.format('dd')));
+                    currentDate.add(1, 'd');
+                }
+                widget.find('.datepicker-days thead').append(row);
+            },
+
+            isInDisabledDates = function (testDate) {
+                return options.disabledDates[testDate.format('YYYY-MM-DD')] === true;
+            },
+
+            isInEnabledDates = function (testDate) {
+                return options.enabledDates[testDate.format('YYYY-MM-DD')] === true;
+            },
+
+            isInDisabledHours = function (testDate) {
+                return options.disabledHours[testDate.format('H')] === true;
+            },
+
+            isInEnabledHours = function (testDate) {
+                return options.enabledHours[testDate.format('H')] === true;
+            },
+
+            isValid = function (targetMoment, granularity) {
+                if (!targetMoment.isValid()) {
+                    return false;
+                }
+                if (options.disabledDates && granularity === 'd' && isInDisabledDates(targetMoment)) {
+                    return false;
+                }
+                if (options.enabledDates && granularity === 'd' && !isInEnabledDates(targetMoment)) {
+                    return false;
+                }
+                if (options.minDate && targetMoment.isBefore(options.minDate, granularity)) {
+                    return false;
+                }
+                if (options.maxDate && targetMoment.isAfter(options.maxDate, granularity)) {
+                    return false;
+                }
+                if (options.daysOfWeekDisabled && granularity === 'd' && options.daysOfWeekDisabled.indexOf(targetMoment.day()) !== -1) {
+                    return false;
+                }
+                if (options.disabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && isInDisabledHours(targetMoment)) {
+                    return false;
+                }
+                if (options.enabledHours && (granularity === 'h' || granularity === 'm' || granularity === 's') && !isInEnabledHours(targetMoment)) {
+                    return false;
+                }
+                if (options.disabledTimeIntervals && (granularity === 'h' || granularity === 'm' || granularity === 's')) {
+                    var found = false;
+                    $.each(options.disabledTimeIntervals, function () {
+                        if (targetMoment.isBetween(this[0], this[1])) {
+                            found = true;
+                            return false;
+                        }
+                    });
+                    if (found) {
+                        return false;
+                    }
+                }
+                return true;
+            },
+
+            fillMonths = function () {
+                var spans = [],
+                    monthsShort = viewDate.clone().startOf('y').startOf('d');
+                while (monthsShort.isSame(viewDate, 'y')) {
+                    spans.push($('<span>').attr('data-action', 'selectMonth').addClass('month').text(monthsShort.format('MMM')));
+                    monthsShort.add(1, 'M');
+                }
+                widget.find('.datepicker-months td').empty().append(spans);
+            },
+
+            updateMonths = function () {
+                var monthsView = widget.find('.datepicker-months'),
+                    monthsViewHeader = monthsView.find('th'),
+                    months = monthsView.find('tbody').find('span');
+
+                monthsViewHeader.eq(0).find('span').attr('title', options.tooltips.prevYear);
+                monthsViewHeader.eq(1).attr('title', options.tooltips.selectYear);
+                monthsViewHeader.eq(2).find('span').attr('title', options.tooltips.nextYear);
+
+                monthsView.find('.disabled').removeClass('disabled');
+
+                if (!isValid(viewDate.clone().subtract(1, 'y'), 'y')) {
+                    monthsViewHeader.eq(0).addClass('disabled');
+                }
+
+                monthsViewHeader.eq(1).text(viewDate.year());
+
+                if (!isValid(viewDate.clone().add(1, 'y'), 'y')) {
+                    monthsViewHeader.eq(2).addClass('disabled');
+                }
+
+                months.removeClass('active');
+                if (date.isSame(viewDate, 'y') && !unset) {
+                    months.eq(date.month()).addClass('active');
+                }
+
+                months.each(function (index) {
+                    if (!isValid(viewDate.clone().month(index), 'M')) {
+                        $(this).addClass('disabled');
+                    }
+                });
+            },
+
+            updateYears = function () {
+                var yearsView = widget.find('.datepicker-years'),
+                    yearsViewHeader = yearsView.find('th'),
+                    startYear = viewDate.clone().subtract(5, 'y'),
+                    endYear = viewDate.clone().add(6, 'y'),
+                    html = '';
+
+                yearsViewHeader.eq(0).find('span').attr('title', options.tooltips.prevDecade);
+                yearsViewHeader.eq(1).attr('title', options.tooltips.selectDecade);
+                yearsViewHeader.eq(2).find('span').attr('title', options.tooltips.nextDecade);
+
+                yearsView.find('.disabled').removeClass('disabled');
+
+                if (options.minDate && options.minDate.isAfter(startYear, 'y')) {
+                    yearsViewHeader.eq(0).addClass('disabled');
+                }
+
+                yearsViewHeader.eq(1).text(startYear.year() + '-' + endYear.year());
+
+                if (options.maxDate && options.maxDate.isBefore(endYear, 'y')) {
+                    yearsViewHeader.eq(2).addClass('disabled');
+                }
+
+                while (!startYear.isAfter(endYear, 'y')) {
+                    html += '<span data-action="selectYear" class="year' + (startYear.isSame(date, 'y') && !unset ? ' active' : '') + (!isValid(startYear, 'y') ? ' disabled' : '') + '">' + startYear.year() + '</span>';
+                    startYear.add(1, 'y');
+                }
+
+                yearsView.find('td').html(html);
+            },
+
+            updateDecades = function () {
+                var decadesView = widget.find('.datepicker-decades'),
+                    decadesViewHeader = decadesView.find('th'),
+                    startDecade = moment({ y: viewDate.year() - (viewDate.year() % 100) - 1 }),
+                    endDecade = startDecade.clone().add(100, 'y'),
+                    startedAt = startDecade.clone(),
+                    minDateDecade = false,
+                    maxDateDecade = false,
+                    endDecadeYear,
+                    html = '';
+
+                decadesViewHeader.eq(0).find('span').attr('title', options.tooltips.prevCentury);
+                decadesViewHeader.eq(2).find('span').attr('title', options.tooltips.nextCentury);
+
+                decadesView.find('.disabled').removeClass('disabled');
+
+                if (startDecade.isSame(moment({ y: 1900 })) || (options.minDate && options.minDate.isAfter(startDecade, 'y'))) {
+                    decadesViewHeader.eq(0).addClass('disabled');
+                }
+
+                decadesViewHeader.eq(1).text(startDecade.year() + '-' + endDecade.year());
+
+                if (startDecade.isSame(moment({ y: 2000 })) || (options.maxDate && options.maxDate.isBefore(endDecade, 'y'))) {
+                    decadesViewHeader.eq(2).addClass('disabled');
+                }
+
+                while (!startDecade.isAfter(endDecade, 'y')) {
+                    endDecadeYear = startDecade.year() + 12;
+                    minDateDecade = options.minDate && options.minDate.isAfter(startDecade, 'y') && options.minDate.year() <= endDecadeYear;
+                    maxDateDecade = options.maxDate && options.maxDate.isAfter(startDecade, 'y') && options.maxDate.year() <= endDecadeYear;
+                    html += '<span data-action="selectDecade" class="decade' + (date.isAfter(startDecade) && date.year() <= endDecadeYear ? ' active' : '') +
+                        (!isValid(startDecade, 'y') && !minDateDecade && !maxDateDecade ? ' disabled' : '') + '" data-selection="' + (startDecade.year() + 6) + '">' + (startDecade.year() + 1) + ' - ' + (startDecade.year() + 12) + '</span>';
+                    startDecade.add(12, 'y');
+                }
+                html += '<span></span><span></span><span></span>'; //push the dangling block over, at least this way it's even
+
+                decadesView.find('td').html(html);
+                decadesViewHeader.eq(1).text((startedAt.year() + 1) + '-' + (startDecade.year()));
+            },
+
+            fillDate = function () {
+                var daysView = widget.find('.datepicker-days'),
+                    daysViewHeader = daysView.find('th'),
+                    currentDate,
+                    html = [],
+                    row,
+                    clsNames = [],
+                    i;
+
+                if (!hasDate()) {
+                    return;
+                }
+
+                daysViewHeader.eq(0).find('span').attr('title', options.tooltips.prevMonth);
+                daysViewHeader.eq(1).attr('title', options.tooltips.selectMonth);
+                daysViewHeader.eq(2).find('span').attr('title', options.tooltips.nextMonth);
+
+                daysView.find('.disabled').removeClass('disabled');
+                daysViewHeader.eq(1).text(viewDate.format(options.dayViewHeaderFormat));
+
+                if (!isValid(viewDate.clone().subtract(1, 'M'), 'M')) {
+                    daysViewHeader.eq(0).addClass('disabled');
+                }
+                if (!isValid(viewDate.clone().add(1, 'M'), 'M')) {
+                    daysViewHeader.eq(2).addClass('disabled');
+                }
+
+                currentDate = viewDate.clone().startOf('M').startOf('w').startOf('d');
+
+                for (i = 0; i < 42; i++) { //always display 42 days (should show 6 weeks)
+                    if (currentDate.weekday() === 0) {
+                        row = $('<tr>');
+                        if (options.calendarWeeks) {
+                            row.append('<td class="cw">' + currentDate.week() + '</td>');
+                        }
+                        html.push(row);
+                    }
+                    clsNames = ['day'];
+                    if (currentDate.isBefore(viewDate, 'M')) {
+                        clsNames.push('old');
+                    }
+                    if (currentDate.isAfter(viewDate, 'M')) {
+                        clsNames.push('new');
+                    }
+                    if (currentDate.isSame(date, 'd') && !unset) {
+                        clsNames.push('active');
+                    }
+                    if (!isValid(currentDate, 'd')) {
+                        clsNames.push('disabled');
+                    }
+                    if (currentDate.isSame(getMoment(), 'd')) {
+                        clsNames.push('today');
+                    }
+                    if (currentDate.day() === 0 || currentDate.day() === 6) {
+                        clsNames.push('weekend');
+                    }
+                    notifyEvent({
+                        type: 'dp.classify',
+                        date: currentDate,
+                        classNames: clsNames
+                    });
+                    row.append('<td data-action="selectDay" data-day="' + currentDate.format('L') + '" class="' + clsNames.join(' ') + '">' + currentDate.date() + '</td>');
+                    currentDate.add(1, 'd');
+                }
+
+                daysView.find('tbody').empty().append(html);
+
+                updateMonths();
+
+                updateYears();
+
+                updateDecades();
+            },
+
+            fillHours = function () {
+                var table = widget.find('.timepicker-hours table'),
+                    currentHour = viewDate.clone().startOf('d'),
+                    html = [],
+                    row = $('<tr>');
+
+                if (viewDate.hour() > 11 && !use24Hours) {
+                    currentHour.hour(12);
+                }
+                while (currentHour.isSame(viewDate, 'd') && (use24Hours || (viewDate.hour() < 12 && currentHour.hour() < 12) || viewDate.hour() > 11)) {
+                    if (currentHour.hour() % 4 === 0) {
+                        row = $('<tr>');
+                        html.push(row);
+                    }
+                    row.append('<td data-action="selectHour" class="hour' + (!isValid(currentHour, 'h') ? ' disabled' : '') + '">' + currentHour.format(use24Hours ? 'HH' : 'hh') + '</td>');
+                    currentHour.add(1, 'h');
+                }
+                table.empty().append(html);
+            },
+
+            fillMinutes = function () {
+                var table = widget.find('.timepicker-minutes table'),
+                    currentMinute = viewDate.clone().startOf('h'),
+                    html = [],
+                    row = $('<tr>'),
+                    step = options.stepping === 1 ? 5 : options.stepping;
+
+                while (viewDate.isSame(currentMinute, 'h')) {
+                    if (currentMinute.minute() % (step * 4) === 0) {
+                        row = $('<tr>');
+                        html.push(row);
+                    }
+                    row.append('<td data-action="selectMinute" class="minute' + (!isValid(currentMinute, 'm') ? ' disabled' : '') + '">' + currentMinute.format('mm') + '</td>');
+                    currentMinute.add(step, 'm');
+                }
+                table.empty().append(html);
+            },
+
+            fillSeconds = function () {
+                var table = widget.find('.timepicker-seconds table'),
+                    currentSecond = viewDate.clone().startOf('m'),
+                    html = [],
+                    row = $('<tr>');
+
+                while (viewDate.isSame(currentSecond, 'm')) {
+                    if (currentSecond.second() % 20 === 0) {
+                        row = $('<tr>');
+                        html.push(row);
+                    }
+                    row.append('<td data-action="selectSecond" class="second' + (!isValid(currentSecond, 's') ? ' disabled' : '') + '">' + currentSecond.format('ss') + '</td>');
+                    currentSecond.add(5, 's');
+                }
+
+                table.empty().append(html);
+            },
+
+            fillTime = function () {
+                var toggle, newDate, timeComponents = widget.find('.timepicker span[data-time-component]');
+
+                if (!use24Hours) {
+                    toggle = widget.find('.timepicker [data-action=togglePeriod]');
+                    newDate = date.clone().add((date.hours() >= 12) ? -12 : 12, 'h');
+
+                    toggle.text(date.format('A'));
+
+                    if (isValid(newDate, 'h')) {
+                        toggle.removeClass('disabled');
+                    } else {
+                        toggle.addClass('disabled');
+                    }
+                }
+                timeComponents.filter('[data-time-component=hours]').text(date.format(use24Hours ? 'HH' : 'hh'));
+                timeComponents.filter('[data-time-component=minutes]').text(date.format('mm'));
+                timeComponents.filter('[data-time-component=seconds]').text(date.format('ss'));
+
+                fillHours();
+                fillMinutes();
+                fillSeconds();
+            },
+
+            update = function () {
+                if (!widget) {
+                    return;
+                }
+                fillDate();
+                fillTime();
+            },
+
+            setValue = function (targetMoment) {
+                var oldDate = unset ? null : date;
+
+                // case of calling setValue(null or false)
+                if (!targetMoment) {
+                    unset = true;
+                    input.val('');
+                    element.data('date', '');
+                    notifyEvent({
+                        type: 'dp.change',
+                        date: false,
+                        oldDate: oldDate
+                    });
+                    update();
+                    return;
+                }
+
+                targetMoment = targetMoment.clone().locale(options.locale);
+
+                if (hasTimeZone()) {
+                    targetMoment.tz(options.timeZone);
+                }
+
+                if (options.stepping !== 1) {
+                    targetMoment.minutes((Math.round(targetMoment.minutes() / options.stepping) * options.stepping)).seconds(0);
+
+                    while (options.minDate && targetMoment.isBefore(options.minDate)) {
+                        targetMoment.add(options.stepping, 'minutes');
+                    }
+                }
+
+                if (isValid(targetMoment)) {
+                    date = targetMoment;
+                    viewDate = date.clone();
+                    input.val(date.format(actualFormat));
+                    element.data('date', date.format(actualFormat));
+                    unset = false;
+                    update();
+                    notifyEvent({
+                        type: 'dp.change',
+                        date: date.clone(),
+                        oldDate: oldDate
+                    });
+                } else {
+                    if (!options.keepInvalid) {
+                        input.val(unset ? '' : date.format(actualFormat));
+                    } else {
+                        notifyEvent({
+                            type: 'dp.change',
+                            date: targetMoment,
+                            oldDate: oldDate
+                        });
+                    }
+                    notifyEvent({
+                        type: 'dp.error',
+                        date: targetMoment,
+                        oldDate: oldDate
+                    });
+                }
+            },
+
+            /**
+             * Hides the widget. Possibly will emit dp.hide
+             */
+            hide = function () {
+                var transitioning = false;
+                if (!widget) {
+                    return picker;
+                }
+                // Ignore event if in the middle of a picker transition
+                widget.find('.collapse').each(function () {
+                    var collapseData = $(this).data('collapse');
+                    if (collapseData && collapseData.transitioning) {
+                        transitioning = true;
+                        return false;
+                    }
+                    return true;
+                });
+                if (transitioning) {
+                    return picker;
+                }
+                if (component && component.hasClass('btn')) {
+                    component.toggleClass('active');
+                }
+                widget.hide();
+
+                $(window).off('resize', place);
+                widget.off('click', '[data-action]');
+                widget.off('mousedown', false);
+
+                widget.remove();
+                widget = false;
+
+                notifyEvent({
+                    type: 'dp.hide',
+                    date: date.clone()
+                });
+
+                input.blur();
+
+                viewDate = date.clone();
+
+                return picker;
+            },
+
+            clear = function () {
+                setValue(null);
+            },
+
+            parseInputDate = function (inputDate) {
+                if (options.parseInputDate === undefined) {
+                    if (!moment.isMoment(inputDate) || inputDate instanceof Date) {
+                        inputDate = getMoment(inputDate);
+                    }
+                } else {
+                    inputDate = options.parseInputDate(inputDate);
+                }
+                //inputDate.locale(options.locale);
+                return inputDate;
+            },
+
+            /********************************************************************************
+             *
+             * Widget UI interaction functions
+             *
+             ********************************************************************************/
+            actions = {
+                next: function () {
+                    var navFnc = datePickerModes[currentViewMode].navFnc;
+                    viewDate.add(datePickerModes[currentViewMode].navStep, navFnc);
+                    fillDate();
+                    viewUpdate(navFnc);
+                },
+
+                previous: function () {
+                    var navFnc = datePickerModes[currentViewMode].navFnc;
+                    viewDate.subtract(datePickerModes[currentViewMode].navStep, navFnc);
+                    fillDate();
+                    viewUpdate(navFnc);
+                },
+
+                pickerSwitch: function () {
+                    showMode(1);
+                },
+
+                selectMonth: function (e) {
+                    var month = $(e.target).closest('tbody').find('span').index($(e.target));
+                    viewDate.month(month);
+                    if (currentViewMode === minViewModeNumber) {
+                        setValue(date.clone().year(viewDate.year()).month(viewDate.month()));
+                        if (!options.inline) {
+                            hide();
+                        }
+                    } else {
+                        showMode(-1);
+                        fillDate();
+                    }
+                    viewUpdate('M');
+                },
+
+                selectYear: function (e) {
+                    var year = parseInt($(e.target).text(), 10) || 0;
+                    viewDate.year(year);
+                    if (currentViewMode === minViewModeNumber) {
+                        setValue(date.clone().year(viewDate.year()));
+                        if (!options.inline) {
+                            hide();
+                        }
+                    } else {
+                        showMode(-1);
+                        fillDate();
+                    }
+                    viewUpdate('YYYY');
+                },
+
+                selectDecade: function (e) {
+                    var year = parseInt($(e.target).data('selection'), 10) || 0;
+                    viewDate.year(year);
+                    if (currentViewMode === minViewModeNumber) {
+                        setValue(date.clone().year(viewDate.year()));
+                        if (!options.inline) {
+                            hide();
+                        }
+                    } else {
+                        showMode(-1);
+                        fillDate();
+                    }
+                    viewUpdate('YYYY');
+                },
+
+                selectDay: function (e) {
+                    var day = viewDate.clone();
+                    if ($(e.target).is('.old')) {
+                        day.subtract(1, 'M');
+                    }
+                    if ($(e.target).is('.new')) {
+                        day.add(1, 'M');
+                    }
+                    setValue(day.date(parseInt($(e.target).text(), 10)));
+                    if (!hasTime() && !options.keepOpen && !options.inline) {
+                        hide();
+                    }
+                },
+
+                incrementHours: function () {
+                    var newDate = date.clone().add(1, 'h');
+                    if (isValid(newDate, 'h')) {
+                        setValue(newDate);
+                    }
+                },
+
+                incrementMinutes: function () {
+                    var newDate = date.clone().add(options.stepping, 'm');
+                    if (isValid(newDate, 'm')) {
+                        setValue(newDate);
+                    }
+                },
+
+                incrementSeconds: function () {
+                    var newDate = date.clone().add(1, 's');
+                    if (isValid(newDate, 's')) {
+                        setValue(newDate);
+                    }
+                },
+
+                decrementHours: function () {
+                    var newDate = date.clone().subtract(1, 'h');
+                    if (isValid(newDate, 'h')) {
+                        setValue(newDate);
+                    }
+                },
+
+                decrementMinutes: function () {
+                    var newDate = date.clone().subtract(options.stepping, 'm');
+                    if (isValid(newDate, 'm')) {
+                        setValue(newDate);
+                    }
+                },
+
+                decrementSeconds: function () {
+                    var newDate = date.clone().subtract(1, 's');
+                    if (isValid(newDate, 's')) {
+                        setValue(newDate);
+                    }
+                },
+
+                togglePeriod: function () {
+                    setValue(date.clone().add((date.hours() >= 12) ? -12 : 12, 'h'));
+                },
+
+                togglePicker: function (e) {
+                    var $this = $(e.target),
+                        $parent = $this.closest('ul'),
+                        expanded = $parent.find('.in'),
+                        closed = $parent.find('.collapse:not(.in)'),
+                        collapseData;
+
+                    if (expanded && expanded.length) {
+                        collapseData = expanded.data('collapse');
+                        if (collapseData && collapseData.transitioning) {
+                            return;
+                        }
+                        if (expanded.collapse) { // if collapse plugin is available through bootstrap.js then use it
+                            expanded.collapse('hide');
+                            closed.collapse('show');
+                        } else { // otherwise just toggle in class on the two views
+                            expanded.removeClass('in');
+                            closed.addClass('in');
+                        }
+                        if ($this.is('span')) {
+                            $this.toggleClass(options.icons.time + ' ' + options.icons.date);
+                        } else {
+                            $this.find('span').toggleClass(options.icons.time + ' ' + options.icons.date);
+                        }
+
+                        // NOTE: uncomment if toggled state will be restored in show()
+                        //if (component) {
+                        //    component.find('span').toggleClass(options.icons.time + ' ' + options.icons.date);
+                        //}
+                    }
+                },
+
+                showPicker: function () {
+                    widget.find('.timepicker > div:not(.timepicker-picker)').hide();
+                    widget.find('.timepicker .timepicker-picker').show();
+                },
+
+                showHours: function () {
+                    widget.find('.timepicker .timepicker-picker').hide();
+                    widget.find('.timepicker .timepicker-hours').show();
+                },
+
+                showMinutes: function () {
+                    widget.find('.timepicker .timepicker-picker').hide();
+                    widget.find('.timepicker .timepicker-minutes').show();
+                },
+
+                showSeconds: function () {
+                    widget.find('.timepicker .timepicker-picker').hide();
+                    widget.find('.timepicker .timepicker-seconds').show();
+                },
+
+                selectHour: function (e) {
+                    var hour = parseInt($(e.target).text(), 10);
+
+                    if (!use24Hours) {
+                        if (date.hours() >= 12) {
+                            if (hour !== 12) {
+                                hour += 12;
+                            }
+                        } else {
+                            if (hour === 12) {
+                                hour = 0;
+                            }
+                        }
+                    }
+                    setValue(date.clone().hours(hour));
+                    actions.showPicker.call(picker);
+                },
+
+                selectMinute: function (e) {
+                    setValue(date.clone().minutes(parseInt($(e.target).text(), 10)));
+                    actions.showPicker.call(picker);
+                },
+
+                selectSecond: function (e) {
+                    setValue(date.clone().seconds(parseInt($(e.target).text(), 10)));
+                    actions.showPicker.call(picker);
+                },
+
+                clear: clear,
+
+                today: function () {
+                    var todaysDate = getMoment();
+                    if (isValid(todaysDate, 'd')) {
+                        setValue(todaysDate);
+                    }
+                },
+
+                close: hide
+            },
+
+            doAction = function (e) {
+                if ($(e.currentTarget).is('.disabled')) {
+                    return false;
+                }
+                actions[$(e.currentTarget).data('action')].apply(picker, arguments);
+                return false;
+            },
+
+            /**
+             * Shows the widget. Possibly will emit dp.show and dp.change
+             */
+            show = function () {
+                var currentMoment,
+                    useCurrentGranularity = {
+                        'year': function (m) {
+                            return m.month(0).date(1).hours(0).seconds(0).minutes(0);
+                        },
+                        'month': function (m) {
+                            return m.date(1).hours(0).seconds(0).minutes(0);
+                        },
+                        'day': function (m) {
+                            return m.hours(0).seconds(0).minutes(0);
+                        },
+                        'hour': function (m) {
+                            return m.seconds(0).minutes(0);
+                        },
+                        'minute': function (m) {
+                            return m.seconds(0);
+                        }
+                    };
+
+                if (input.prop('disabled') || (!options.ignoreReadonly && input.prop('readonly')) || widget) {
+                    return picker;
+                }
+                if (input.val() !== undefined && input.val().trim().length !== 0) {
+                    setValue(parseInputDate(input.val().trim()));
+                } else if (unset && options.useCurrent && (options.inline || (input.is('input') && input.val().trim().length === 0))) {
+                    currentMoment = getMoment();
+                    if (typeof options.useCurrent === 'string') {
+                        currentMoment = useCurrentGranularity[options.useCurrent](currentMoment);
+                    }
+                    setValue(currentMoment);
+                }
+                widget = getTemplate();
+
+                fillDow();
+                fillMonths();
+
+                widget.find('.timepicker-hours').hide();
+                widget.find('.timepicker-minutes').hide();
+                widget.find('.timepicker-seconds').hide();
+
+                update();
+                showMode();
+
+                $(window).on('resize', place);
+                widget.on('click', '[data-action]', doAction); // this handles clicks on the widget
+                widget.on('mousedown', false);
+
+                if (component && component.hasClass('btn')) {
+                    component.toggleClass('active');
+                }
+                place();
+                widget.show();
+                if (options.focusOnShow && !input.is(':focus')) {
+                    input.focus();
+                }
+
+                notifyEvent({
+                    type: 'dp.show'
+                });
+                return picker;
+            },
+
+            /**
+             * Shows or hides the widget
+             */
+            toggle = function () {
+                return (widget ? hide() : show());
+            },
+
+            keydown = function (e) {
+                var handler = null,
+                    index,
+                    index2,
+                    pressedKeys = [],
+                    pressedModifiers = {},
+                    currentKey = e.which,
+                    keyBindKeys,
+                    allModifiersPressed,
+                    pressed = 'p';
+
+                keyState[currentKey] = pressed;
+
+                for (index in keyState) {
+                    if (keyState.hasOwnProperty(index) && keyState[index] === pressed) {
+                        pressedKeys.push(index);
+                        if (parseInt(index, 10) !== currentKey) {
+                            pressedModifiers[index] = true;
+                        }
+                    }
+                }
+
+                for (index in options.keyBinds) {
+                    if (options.keyBinds.hasOwnProperty(index) && typeof (options.keyBinds[index]) === 'function') {
+                        keyBindKeys = index.split(' ');
+                        if (keyBindKeys.length === pressedKeys.length && keyMap[currentKey] === keyBindKeys[keyBindKeys.length - 1]) {
+                            allModifiersPressed = true;
+                            for (index2 = keyBindKeys.length - 2; index2 >= 0; index2--) {
+                                if (!(keyMap[keyBindKeys[index2]] in pressedModifiers)) {
+                                    allModifiersPressed = false;
+                                    break;
+                                }
+                            }
+                            if (allModifiersPressed) {
+                                handler = options.keyBinds[index];
+                                break;
+                            }
+                        }
+                    }
+                }
+
+                if (handler) {
+                    handler.call(picker, widget);
+                    e.stopPropagation();
+                    e.preventDefault();
+                }
+            },
+
+            keyup = function (e) {
+                keyState[e.which] = 'r';
+                e.stopPropagation();
+                e.preventDefault();
+            },
+
+            change = function (e) {
+                var val = $(e.target).val().trim(),
+                    parsedDate = val ? parseInputDate(val) : null;
+                setValue(parsedDate);
+                e.stopImmediatePropagation();
+                return false;
+            },
+
+            attachDatePickerElementEvents = function () {
+                input.on({
+                    'change': change,
+                    'blur': options.debug ? '' : hide,
+                    'keydown': keydown,
+                    'keyup': keyup,
+                    'focus': options.allowInputToggle ? show : ''
+                });
+
+                if (element.is('input')) {
+                    input.on({
+                        'focus': show
+                    });
+                } else if (component) {
+                    component.on('click', toggle);
+                    component.on('mousedown', false);
+                }
+            },
+
+            detachDatePickerElementEvents = function () {
+                input.off({
+                    'change': change,
+                    'blur': blur,
+                    'keydown': keydown,
+                    'keyup': keyup,
+                    'focus': options.allowInputToggle ? hide : ''
+                });
+
+                if (element.is('input')) {
+                    input.off({
+                        'focus': show
+                    });
+                } else if (component) {
+                    component.off('click', toggle);
+                    component.off('mousedown', false);
+                }
+            },
+
+            indexGivenDates = function (givenDatesArray) {
+                // Store given enabledDates and disabledDates as keys.
+                // This way we can check their existence in O(1) time instead of looping through whole array.
+                // (for example: options.enabledDates['2014-02-27'] === true)
+                var givenDatesIndexed = {};
+                $.each(givenDatesArray, function () {
+                    var dDate = parseInputDate(this);
+                    if (dDate.isValid()) {
+                        givenDatesIndexed[dDate.format('YYYY-MM-DD')] = true;
+                    }
+                });
+                return (Object.keys(givenDatesIndexed).length) ? givenDatesIndexed : false;
+            },
+
+            indexGivenHours = function (givenHoursArray) {
+                // Store given enabledHours and disabledHours as keys.
+                // This way we can check their existence in O(1) time instead of looping through whole array.
+                // (for example: options.enabledHours['2014-02-27'] === true)
+                var givenHoursIndexed = {};
+                $.each(givenHoursArray, function () {
+                    givenHoursIndexed[this] = true;
+                });
+                return (Object.keys(givenHoursIndexed).length) ? givenHoursIndexed : false;
+            },
+
+            initFormatting = function () {
+                var format = options.format || 'L LT';
+
+                actualFormat = format.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput) {
+                    var newinput = date.localeData().longDateFormat(formatInput) || formatInput;
+                    return newinput.replace(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g, function (formatInput2) { //temp fix for #740
+                        return date.localeData().longDateFormat(formatInput2) || formatInput2;
+                    });
+                });
+
+
+                parseFormats = options.extraFormats ? options.extraFormats.slice() : [];
+                if (parseFormats.indexOf(format) < 0 && parseFormats.indexOf(actualFormat) < 0) {
+                    parseFormats.push(actualFormat);
+                }
+
+                use24Hours = (actualFormat.toLowerCase().indexOf('a') < 1 && actualFormat.replace(/\[.*?\]/g, '').indexOf('h') < 1);
+
+                if (isEnabled('y')) {
+                    minViewModeNumber = 2;
+                }
+                if (isEnabled('M')) {
+                    minViewModeNumber = 1;
+                }
+                if (isEnabled('d')) {
+                    minViewModeNumber = 0;
+                }
+
+                currentViewMode = Math.max(minViewModeNumber, currentViewMode);
+
+                if (!unset) {
+                    setValue(date);
+                }
+            };
+
+        /********************************************************************************
+         *
+         * Public API functions
+         * =====================
+         *
+         * Important: Do not expose direct references to private objects or the options
+         * object to the outer world. Always return a clone when returning values or make
+         * a clone when setting a private variable.
+         *
+         ********************************************************************************/
+        picker.destroy = function () {
+            ///<summary>Destroys the widget and removes all attached event listeners</summary>
+            hide();
+            detachDatePickerElementEvents();
+            element.removeData('DateTimePicker');
+            element.removeData('date');
+        };
+
+        picker.toggle = toggle;
+
+        picker.show = show;
+
+        picker.hide = hide;
+
+        picker.disable = function () {
+            ///<summary>Disables the input element, the component is attached to, by adding a disabled="true" attribute to it.
+            ///If the widget was visible before that call it is hidden. Possibly emits dp.hide</summary>
+            hide();
+            if (component && component.hasClass('btn')) {
+                component.addClass('disabled');
+            }
+            input.prop('disabled', true);
+            return picker;
+        };
+
+        picker.enable = function () {
+            ///<summary>Enables the input element, the component is attached to, by removing disabled attribute from it.</summary>
+            if (component && component.hasClass('btn')) {
+                component.removeClass('disabled');
+            }
+            input.prop('disabled', false);
+            return picker;
+        };
+
+        picker.ignoreReadonly = function (ignoreReadonly) {
+            if (arguments.length === 0) {
+                return options.ignoreReadonly;
+            }
+            if (typeof ignoreReadonly !== 'boolean') {
+                throw new TypeError('ignoreReadonly () expects a boolean parameter');
+            }
+            options.ignoreReadonly = ignoreReadonly;
+            return picker;
+        };
+
+        picker.options = function (newOptions) {
+            if (arguments.length === 0) {
+                return $.extend(true, {}, options);
+            }
+
+            if (!(newOptions instanceof Object)) {
+                throw new TypeError('options() options parameter should be an object');
+            }
+            $.extend(true, options, newOptions);
+            $.each(options, function (key, value) {
+                if (picker[key] !== undefined) {
+                    picker[key](value);
+                } else {
+                    throw new TypeError('option ' + key + ' is not recognized!');
+                }
+            });
+            return picker;
+        };
+
+        picker.date = function (newDate) {
+            ///<signature helpKeyword="$.fn.datetimepicker.date">
+            ///<summary>Returns the component's model current date, a moment object or null if not set.</summary>
+            ///<returns type="Moment">date.clone()</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Sets the components model current moment to it. Passing a null value unsets the components model current moment. Parsing of the newDate parameter is made using moment library with the options.format and options.useStrict components configuration.</summary>
+            ///<param name="newDate" locid="$.fn.datetimepicker.date_p:newDate">Takes string, Date, moment, null parameter.</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                if (unset) {
+                    return null;
+                }
+                return date.clone();
+            }
+
+            if (newDate !== null && typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) {
+                throw new TypeError('date() parameter must be one of [null, string, moment or Date]');
+            }
+
+            setValue(newDate === null ? null : parseInputDate(newDate));
+            return picker;
+        };
+
+        picker.format = function (newFormat) {
+            ///<summary>test su</summary>
+            ///<param name="newFormat">info about para</param>
+            ///<returns type="string|boolean">returns foo</returns>
+            if (arguments.length === 0) {
+                return options.format;
+            }
+
+            if ((typeof newFormat !== 'string') && ((typeof newFormat !== 'boolean') || (newFormat !== false))) {
+                throw new TypeError('format() expects a string or boolean:false parameter ' + newFormat);
+            }
+
+            options.format = newFormat;
+            if (actualFormat) {
+                initFormatting(); // reinit formatting
+            }
+            return picker;
+        };
+
+        picker.timeZone = function (newZone) {
+            if (arguments.length === 0) {
+                return options.timeZone;
+            }
+
+            if (typeof newZone !== 'string') {
+                throw new TypeError('newZone() expects a string parameter');
+            }
+
+            options.timeZone = newZone;
+
+            return picker;
+        };
+
+        picker.dayViewHeaderFormat = function (newFormat) {
+            if (arguments.length === 0) {
+                return options.dayViewHeaderFormat;
+            }
+
+            if (typeof newFormat !== 'string') {
+                throw new TypeError('dayViewHeaderFormat() expects a string parameter');
+            }
+
+            options.dayViewHeaderFormat = newFormat;
+            return picker;
+        };
+
+        picker.extraFormats = function (formats) {
+            if (arguments.length === 0) {
+                return options.extraFormats;
+            }
+
+            if (formats !== false && !(formats instanceof Array)) {
+                throw new TypeError('extraFormats() expects an array or false parameter');
+            }
+
+            options.extraFormats = formats;
+            if (parseFormats) {
+                initFormatting(); // reinit formatting
+            }
+            return picker;
+        };
+
+        picker.disabledDates = function (dates) {
+            ///<signature helpKeyword="$.fn.datetimepicker.disabledDates">
+            ///<summary>Returns an array with the currently set disabled dates on the component.</summary>
+            ///<returns type="array">options.disabledDates</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of
+            ///options.enabledDates if such exist.</summary>
+            ///<param name="dates" locid="$.fn.datetimepicker.disabledDates_p:dates">Takes an [ string or Date or moment ] of values and allows the user to select only from those days.</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                return (options.disabledDates ? $.extend({}, options.disabledDates) : options.disabledDates);
+            }
+
+            if (!dates) {
+                options.disabledDates = false;
+                update();
+                return picker;
+            }
+            if (!(dates instanceof Array)) {
+                throw new TypeError('disabledDates() expects an array parameter');
+            }
+            options.disabledDates = indexGivenDates(dates);
+            options.enabledDates = false;
+            update();
+            return picker;
+        };
+
+        picker.enabledDates = function (dates) {
+            ///<signature helpKeyword="$.fn.datetimepicker.enabledDates">
+            ///<summary>Returns an array with the currently set enabled dates on the component.</summary>
+            ///<returns type="array">options.enabledDates</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of options.disabledDates if such exist.</summary>
+            ///<param name="dates" locid="$.fn.datetimepicker.enabledDates_p:dates">Takes an [ string or Date or moment ] of values and allows the user to select only from those days.</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                return (options.enabledDates ? $.extend({}, options.enabledDates) : options.enabledDates);
+            }
+
+            if (!dates) {
+                options.enabledDates = false;
+                update();
+                return picker;
+            }
+            if (!(dates instanceof Array)) {
+                throw new TypeError('enabledDates() expects an array parameter');
+            }
+            options.enabledDates = indexGivenDates(dates);
+            options.disabledDates = false;
+            update();
+            return picker;
+        };
+
+        picker.daysOfWeekDisabled = function (daysOfWeekDisabled) {
+            if (arguments.length === 0) {
+                return options.daysOfWeekDisabled.splice(0);
+            }
+
+            if ((typeof daysOfWeekDisabled === 'boolean') && !daysOfWeekDisabled) {
+                options.daysOfWeekDisabled = false;
+                update();
+                return picker;
+            }
+
+            if (!(daysOfWeekDisabled instanceof Array)) {
+                throw new TypeError('daysOfWeekDisabled() expects an array parameter');
+            }
+            options.daysOfWeekDisabled = daysOfWeekDisabled.reduce(function (previousValue, currentValue) {
+                currentValue = parseInt(currentValue, 10);
+                if (currentValue > 6 || currentValue < 0 || isNaN(currentValue)) {
+                    return previousValue;
+                }
+                if (previousValue.indexOf(currentValue) === -1) {
+                    previousValue.push(currentValue);
+                }
+                return previousValue;
+            }, []).sort();
+            if (options.useCurrent && !options.keepInvalid) {
+                var tries = 0;
+                while (!isValid(date, 'd')) {
+                    date.add(1, 'd');
+                    if (tries === 31) {
+                        throw 'Tried 31 times to find a valid date';
+                    }
+                    tries++;
+                }
+                setValue(date);
+            }
+            update();
+            return picker;
+        };
+
+        picker.maxDate = function (maxDate) {
+            if (arguments.length === 0) {
+                return options.maxDate ? options.maxDate.clone() : options.maxDate;
+            }
+
+            if ((typeof maxDate === 'boolean') && maxDate === false) {
+                options.maxDate = false;
+                update();
+                return picker;
+            }
+
+            if (typeof maxDate === 'string') {
+                if (maxDate === 'now' || maxDate === 'moment') {
+                    maxDate = getMoment();
+                }
+            }
+
+            var parsedDate = parseInputDate(maxDate);
+
+            if (!parsedDate.isValid()) {
+                throw new TypeError('maxDate() Could not parse date parameter: ' + maxDate);
+            }
+            if (options.minDate && parsedDate.isBefore(options.minDate)) {
+                throw new TypeError('maxDate() date parameter is before options.minDate: ' + parsedDate.format(actualFormat));
+            }
+            options.maxDate = parsedDate;
+            if (options.useCurrent && !options.keepInvalid && date.isAfter(maxDate)) {
+                setValue(options.maxDate);
+            }
+            if (viewDate.isAfter(parsedDate)) {
+                viewDate = parsedDate.clone().subtract(options.stepping, 'm');
+            }
+            update();
+            return picker;
+        };
+
+        picker.minDate = function (minDate) {
+            if (arguments.length === 0) {
+                return options.minDate ? options.minDate.clone() : options.minDate;
+            }
+
+            if ((typeof minDate === 'boolean') && minDate === false) {
+                options.minDate = false;
+                update();
+                return picker;
+            }
+
+            if (typeof minDate === 'string') {
+                if (minDate === 'now' || minDate === 'moment') {
+                    minDate = getMoment();
+                }
+            }
+
+            var parsedDate = parseInputDate(minDate);
+
+            if (!parsedDate.isValid()) {
+                throw new TypeError('minDate() Could not parse date parameter: ' + minDate);
+            }
+            if (options.maxDate && parsedDate.isAfter(options.maxDate)) {
+                throw new TypeError('minDate() date parameter is after options.maxDate: ' + parsedDate.format(actualFormat));
+            }
+            options.minDate = parsedDate;
+            if (options.useCurrent && !options.keepInvalid && date.isBefore(minDate)) {
+                setValue(options.minDate);
+            }
+            if (viewDate.isBefore(parsedDate)) {
+                viewDate = parsedDate.clone().add(options.stepping, 'm');
+            }
+            update();
+            return picker;
+        };
+
+        picker.defaultDate = function (defaultDate) {
+            ///<signature helpKeyword="$.fn.datetimepicker.defaultDate">
+            ///<summary>Returns a moment with the options.defaultDate option configuration or false if not set</summary>
+            ///<returns type="Moment">date.clone()</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Will set the picker's inital date. If a boolean:false value is passed the options.defaultDate parameter is cleared.</summary>
+            ///<param name="defaultDate" locid="$.fn.datetimepicker.defaultDate_p:defaultDate">Takes a string, Date, moment, boolean:false</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                return options.defaultDate ? options.defaultDate.clone() : options.defaultDate;
+            }
+            if (!defaultDate) {
+                options.defaultDate = false;
+                return picker;
+            }
+
+            if (typeof defaultDate === 'string') {
+                if (defaultDate === 'now' || defaultDate === 'moment') {
+                    defaultDate = getMoment();
+                } else {
+                    defaultDate = getMoment(defaultDate);
+                }
+            }
+
+            var parsedDate = parseInputDate(defaultDate);
+            if (!parsedDate.isValid()) {
+                throw new TypeError('defaultDate() Could not parse date parameter: ' + defaultDate);
+            }
+            if (!isValid(parsedDate)) {
+                throw new TypeError('defaultDate() date passed is invalid according to component setup validations');
+            }
+
+            options.defaultDate = parsedDate;
+
+            if ((options.defaultDate && options.inline) || input.val().trim() === '') {
+                setValue(options.defaultDate);
+            }
+            return picker;
+        };
+
+        picker.locale = function (locale) {
+            if (arguments.length === 0) {
+                return options.locale;
+            }
+
+            if (!moment.localeData(locale)) {
+                throw new TypeError('locale() locale ' + locale + ' is not loaded from moment locales!');
+            }
+
+            options.locale = locale;
+            date.locale(options.locale);
+            viewDate.locale(options.locale);
+
+            if (actualFormat) {
+                initFormatting(); // reinit formatting
+            }
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.stepping = function (stepping) {
+            if (arguments.length === 0) {
+                return options.stepping;
+            }
+
+            stepping = parseInt(stepping, 10);
+            if (isNaN(stepping) || stepping < 1) {
+                stepping = 1;
+            }
+            options.stepping = stepping;
+            return picker;
+        };
+
+        picker.useCurrent = function (useCurrent) {
+            var useCurrentOptions = ['year', 'month', 'day', 'hour', 'minute'];
+            if (arguments.length === 0) {
+                return options.useCurrent;
+            }
+
+            if ((typeof useCurrent !== 'boolean') && (typeof useCurrent !== 'string')) {
+                throw new TypeError('useCurrent() expects a boolean or string parameter');
+            }
+            if (typeof useCurrent === 'string' && useCurrentOptions.indexOf(useCurrent.toLowerCase()) === -1) {
+                throw new TypeError('useCurrent() expects a string parameter of ' + useCurrentOptions.join(', '));
+            }
+            options.useCurrent = useCurrent;
+            return picker;
+        };
+
+        picker.collapse = function (collapse) {
+            if (arguments.length === 0) {
+                return options.collapse;
+            }
+
+            if (typeof collapse !== 'boolean') {
+                throw new TypeError('collapse() expects a boolean parameter');
+            }
+            if (options.collapse === collapse) {
+                return picker;
+            }
+            options.collapse = collapse;
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.icons = function (icons) {
+            if (arguments.length === 0) {
+                return $.extend({}, options.icons);
+            }
+
+            if (!(icons instanceof Object)) {
+                throw new TypeError('icons() expects parameter to be an Object');
+            }
+            $.extend(options.icons, icons);
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.tooltips = function (tooltips) {
+            if (arguments.length === 0) {
+                return $.extend({}, options.tooltips);
+            }
+
+            if (!(tooltips instanceof Object)) {
+                throw new TypeError('tooltips() expects parameter to be an Object');
+            }
+            $.extend(options.tooltips, tooltips);
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.useStrict = function (useStrict) {
+            if (arguments.length === 0) {
+                return options.useStrict;
+            }
+
+            if (typeof useStrict !== 'boolean') {
+                throw new TypeError('useStrict() expects a boolean parameter');
+            }
+            options.useStrict = useStrict;
+            return picker;
+        };
+
+        picker.sideBySide = function (sideBySide) {
+            if (arguments.length === 0) {
+                return options.sideBySide;
+            }
+
+            if (typeof sideBySide !== 'boolean') {
+                throw new TypeError('sideBySide() expects a boolean parameter');
+            }
+            options.sideBySide = sideBySide;
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.viewMode = function (viewMode) {
+            if (arguments.length === 0) {
+                return options.viewMode;
+            }
+
+            if (typeof viewMode !== 'string') {
+                throw new TypeError('viewMode() expects a string parameter');
+            }
+
+            if (viewModes.indexOf(viewMode) === -1) {
+                throw new TypeError('viewMode() parameter must be one of (' + viewModes.join(', ') + ') value');
+            }
+
+            options.viewMode = viewMode;
+            currentViewMode = Math.max(viewModes.indexOf(viewMode), minViewModeNumber);
+
+            showMode();
+            return picker;
+        };
+
+        picker.toolbarPlacement = function (toolbarPlacement) {
+            if (arguments.length === 0) {
+                return options.toolbarPlacement;
+            }
+
+            if (typeof toolbarPlacement !== 'string') {
+                throw new TypeError('toolbarPlacement() expects a string parameter');
+            }
+            if (toolbarPlacements.indexOf(toolbarPlacement) === -1) {
+                throw new TypeError('toolbarPlacement() parameter must be one of (' + toolbarPlacements.join(', ') + ') value');
+            }
+            options.toolbarPlacement = toolbarPlacement;
+
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.widgetPositioning = function (widgetPositioning) {
+            if (arguments.length === 0) {
+                return $.extend({}, options.widgetPositioning);
+            }
+
+            if (({}).toString.call(widgetPositioning) !== '[object Object]') {
+                throw new TypeError('widgetPositioning() expects an object variable');
+            }
+            if (widgetPositioning.horizontal) {
+                if (typeof widgetPositioning.horizontal !== 'string') {
+                    throw new TypeError('widgetPositioning() horizontal variable must be a string');
+                }
+                widgetPositioning.horizontal = widgetPositioning.horizontal.toLowerCase();
+                if (horizontalModes.indexOf(widgetPositioning.horizontal) === -1) {
+                    throw new TypeError('widgetPositioning() expects horizontal parameter to be one of (' + horizontalModes.join(', ') + ')');
+                }
+                options.widgetPositioning.horizontal = widgetPositioning.horizontal;
+            }
+            if (widgetPositioning.vertical) {
+                if (typeof widgetPositioning.vertical !== 'string') {
+                    throw new TypeError('widgetPositioning() vertical variable must be a string');
+                }
+                widgetPositioning.vertical = widgetPositioning.vertical.toLowerCase();
+                if (verticalModes.indexOf(widgetPositioning.vertical) === -1) {
+                    throw new TypeError('widgetPositioning() expects vertical parameter to be one of (' + verticalModes.join(', ') + ')');
+                }
+                options.widgetPositioning.vertical = widgetPositioning.vertical;
+            }
+            update();
+            return picker;
+        };
+
+        picker.calendarWeeks = function (calendarWeeks) {
+            if (arguments.length === 0) {
+                return options.calendarWeeks;
+            }
+
+            if (typeof calendarWeeks !== 'boolean') {
+                throw new TypeError('calendarWeeks() expects parameter to be a boolean value');
+            }
+
+            options.calendarWeeks = calendarWeeks;
+            update();
+            return picker;
+        };
+
+        picker.showTodayButton = function (showTodayButton) {
+            if (arguments.length === 0) {
+                return options.showTodayButton;
+            }
+
+            if (typeof showTodayButton !== 'boolean') {
+                throw new TypeError('showTodayButton() expects a boolean parameter');
+            }
+
+            options.showTodayButton = showTodayButton;
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.showClear = function (showClear) {
+            if (arguments.length === 0) {
+                return options.showClear;
+            }
+
+            if (typeof showClear !== 'boolean') {
+                throw new TypeError('showClear() expects a boolean parameter');
+            }
+
+            options.showClear = showClear;
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.widgetParent = function (widgetParent) {
+            if (arguments.length === 0) {
+                return options.widgetParent;
+            }
+
+            if (typeof widgetParent === 'string') {
+                widgetParent = $(widgetParent);
+            }
+
+            if (widgetParent !== null && (typeof widgetParent !== 'string' && !(widgetParent instanceof $))) {
+                throw new TypeError('widgetParent() expects a string or a jQuery object parameter');
+            }
+
+            options.widgetParent = widgetParent;
+            if (widget) {
+                hide();
+                show();
+            }
+            return picker;
+        };
+
+        picker.keepOpen = function (keepOpen) {
+            if (arguments.length === 0) {
+                return options.keepOpen;
+            }
+
+            if (typeof keepOpen !== 'boolean') {
+                throw new TypeError('keepOpen() expects a boolean parameter');
+            }
+
+            options.keepOpen = keepOpen;
+            return picker;
+        };
+
+        picker.focusOnShow = function (focusOnShow) {
+            if (arguments.length === 0) {
+                return options.focusOnShow;
+            }
+
+            if (typeof focusOnShow !== 'boolean') {
+                throw new TypeError('focusOnShow() expects a boolean parameter');
+            }
+
+            options.focusOnShow = focusOnShow;
+            return picker;
+        };
+
+        picker.inline = function (inline) {
+            if (arguments.length === 0) {
+                return options.inline;
+            }
+
+            if (typeof inline !== 'boolean') {
+                throw new TypeError('inline() expects a boolean parameter');
+            }
+
+            options.inline = inline;
+            return picker;
+        };
+
+        picker.clear = function () {
+            clear();
+            return picker;
+        };
+
+        picker.keyBinds = function (keyBinds) {
+            if (arguments.length === 0) {
+                return options.keyBinds;
+            }
+
+            options.keyBinds = keyBinds;
+            return picker;
+        };
+
+        picker.getMoment = function (d) {
+            return getMoment(d);
+        };
+
+        picker.debug = function (debug) {
+            if (typeof debug !== 'boolean') {
+                throw new TypeError('debug() expects a boolean parameter');
+            }
+
+            options.debug = debug;
+            return picker;
+        };
+
+        picker.allowInputToggle = function (allowInputToggle) {
+            if (arguments.length === 0) {
+                return options.allowInputToggle;
+            }
+
+            if (typeof allowInputToggle !== 'boolean') {
+                throw new TypeError('allowInputToggle() expects a boolean parameter');
+            }
+
+            options.allowInputToggle = allowInputToggle;
+            return picker;
+        };
+
+        picker.showClose = function (showClose) {
+            if (arguments.length === 0) {
+                return options.showClose;
+            }
+
+            if (typeof showClose !== 'boolean') {
+                throw new TypeError('showClose() expects a boolean parameter');
+            }
+
+            options.showClose = showClose;
+            return picker;
+        };
+
+        picker.keepInvalid = function (keepInvalid) {
+            if (arguments.length === 0) {
+                return options.keepInvalid;
+            }
+
+            if (typeof keepInvalid !== 'boolean') {
+                throw new TypeError('keepInvalid() expects a boolean parameter');
+            }
+            options.keepInvalid = keepInvalid;
+            return picker;
+        };
+
+        picker.datepickerInput = function (datepickerInput) {
+            if (arguments.length === 0) {
+                return options.datepickerInput;
+            }
+
+            if (typeof datepickerInput !== 'string') {
+                throw new TypeError('datepickerInput() expects a string parameter');
+            }
+
+            options.datepickerInput = datepickerInput;
+            return picker;
+        };
+
+        picker.parseInputDate = function (parseInputDate) {
+            if (arguments.length === 0) {
+                return options.parseInputDate;
+            }
+
+            if (typeof parseInputDate !== 'function') {
+                throw new TypeError('parseInputDate() sholud be as function');
+            }
+
+            options.parseInputDate = parseInputDate;
+
+            return picker;
+        };
+
+        picker.disabledTimeIntervals = function (disabledTimeIntervals) {
+            ///<signature helpKeyword="$.fn.datetimepicker.disabledTimeIntervals">
+            ///<summary>Returns an array with the currently set disabled dates on the component.</summary>
+            ///<returns type="array">options.disabledTimeIntervals</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of
+            ///options.enabledDates if such exist.</summary>
+            ///<param name="dates" locid="$.fn.datetimepicker.disabledTimeIntervals_p:dates">Takes an [ string or Date or moment ] of values and allows the user to select only from those days.</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                return (options.disabledTimeIntervals ? $.extend({}, options.disabledTimeIntervals) : options.disabledTimeIntervals);
+            }
+
+            if (!disabledTimeIntervals) {
+                options.disabledTimeIntervals = false;
+                update();
+                return picker;
+            }
+            if (!(disabledTimeIntervals instanceof Array)) {
+                throw new TypeError('disabledTimeIntervals() expects an array parameter');
+            }
+            options.disabledTimeIntervals = disabledTimeIntervals;
+            update();
+            return picker;
+        };
+
+        picker.disabledHours = function (hours) {
+            ///<signature helpKeyword="$.fn.datetimepicker.disabledHours">
+            ///<summary>Returns an array with the currently set disabled hours on the component.</summary>
+            ///<returns type="array">options.disabledHours</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of
+            ///options.enabledHours if such exist.</summary>
+            ///<param name="hours" locid="$.fn.datetimepicker.disabledHours_p:hours">Takes an [ int ] of values and disallows the user to select only from those hours.</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                return (options.disabledHours ? $.extend({}, options.disabledHours) : options.disabledHours);
+            }
+
+            if (!hours) {
+                options.disabledHours = false;
+                update();
+                return picker;
+            }
+            if (!(hours instanceof Array)) {
+                throw new TypeError('disabledHours() expects an array parameter');
+            }
+            options.disabledHours = indexGivenHours(hours);
+            options.enabledHours = false;
+            if (options.useCurrent && !options.keepInvalid) {
+                var tries = 0;
+                while (!isValid(date, 'h')) {
+                    date.add(1, 'h');
+                    if (tries === 24) {
+                        throw 'Tried 24 times to find a valid date';
+                    }
+                    tries++;
+                }
+                setValue(date);
+            }
+            update();
+            return picker;
+        };
+
+        picker.enabledHours = function (hours) {
+            ///<signature helpKeyword="$.fn.datetimepicker.enabledHours">
+            ///<summary>Returns an array with the currently set enabled hours on the component.</summary>
+            ///<returns type="array">options.enabledHours</returns>
+            ///</signature>
+            ///<signature>
+            ///<summary>Setting this takes precedence over options.minDate, options.maxDate configuration. Also calling this function removes the configuration of options.disabledHours if such exist.</summary>
+            ///<param name="hours" locid="$.fn.datetimepicker.enabledHours_p:hours">Takes an [ int ] of values and allows the user to select only from those hours.</param>
+            ///</signature>
+            if (arguments.length === 0) {
+                return (options.enabledHours ? $.extend({}, options.enabledHours) : options.enabledHours);
+            }
+
+            if (!hours) {
+                options.enabledHours = false;
+                update();
+                return picker;
+            }
+            if (!(hours instanceof Array)) {
+                throw new TypeError('enabledHours() expects an array parameter');
+            }
+            options.enabledHours = indexGivenHours(hours);
+            options.disabledHours = false;
+            if (options.useCurrent && !options.keepInvalid) {
+                var tries = 0;
+                while (!isValid(date, 'h')) {
+                    date.add(1, 'h');
+                    if (tries === 24) {
+                        throw 'Tried 24 times to find a valid date';
+                    }
+                    tries++;
+                }
+                setValue(date);
+            }
+            update();
+            return picker;
+        };
+        /**
+         * Returns the component's model current viewDate, a moment object or null if not set. Passing a null value unsets the components model current moment. Parsing of the newDate parameter is made using moment library with the options.format and options.useStrict components configuration.
+         * @param {Takes string, viewDate, moment, null parameter.} newDate
+         * @returns {viewDate.clone()}
+         */
+        picker.viewDate = function (newDate) {
+            if (arguments.length === 0) {
+                return viewDate.clone();
+            }
+
+            if (!newDate) {
+                viewDate = date.clone();
+                return picker;
+            }
+
+            if (typeof newDate !== 'string' && !moment.isMoment(newDate) && !(newDate instanceof Date)) {
+                throw new TypeError('viewDate() parameter must be one of [string, moment or Date]');
+            }
+
+            viewDate = parseInputDate(newDate);
+            viewUpdate();
+            return picker;
+        };
+
+        // initializing element and component attributes
+        if (element.is('input')) {
+            input = element;
+        } else {
+            input = element.find(options.datepickerInput);
+            if (input.length === 0) {
+                input = element.find('input');
+            } else if (!input.is('input')) {
+                throw new Error('CSS class "' + options.datepickerInput + '" cannot be applied to non input element');
+            }
+        }
+
+        if (element.hasClass('input-group')) {
+            // in case there is more then one 'input-group-addon' Issue #48
+            if (element.find('.datepickerbutton').length === 0) {
+                component = element.find('.input-group-addon');
+            } else {
+                component = element.find('.datepickerbutton');
+            }
+        }
+
+        if (!options.inline && !input.is('input')) {
+            throw new Error('Could not initialize DateTimePicker without an input element');
+        }
+
+        // Set defaults for date here now instead of in var declaration
+        date = getMoment();
+        viewDate = date.clone();
+
+        $.extend(true, options, dataToOptions());
+
+        picker.options(options);
+
+        initFormatting();
+
+        attachDatePickerElementEvents();
+
+        if (input.prop('disabled')) {
+            picker.disable();
+        }
+        if (input.is('input') && input.val().trim().length !== 0) {
+            setValue(parseInputDate(input.val().trim()));
+        }
+        else if (options.defaultDate && input.attr('placeholder') === undefined) {
+            setValue(options.defaultDate);
+        }
+        if (options.inline) {
+            show();
+        }
+        return picker;
+    };
+
+    /********************************************************************************
+     *
+     * jQuery plugin constructor and defaults object
+     *
+     ********************************************************************************/
+
+    /**
+    * See (http://jquery.com/).
+    * @name jQuery
+    * @class
+    * See the jQuery Library  (http://jquery.com/) for full details.  This just
+    * documents the function and classes that are added to jQuery by this plug-in.
+    */
+    /**
+     * See (http://jquery.com/)
+     * @name fn
+     * @class
+     * See the jQuery Library  (http://jquery.com/) for full details.  This just
+     * documents the function and classes that are added to jQuery by this plug-in.
+     * @memberOf jQuery
+     */
+    /**
+     * Show comments
+     * @class datetimepicker
+     * @memberOf jQuery.fn
+     */
+    $.fn.datetimepicker = function (options) {
+        options = options || {};
+
+        var args = Array.prototype.slice.call(arguments, 1),
+            isInstance = true,
+            thisMethods = ['destroy', 'hide', 'show', 'toggle'],
+            returnValue;
+
+        if (typeof options === 'object') {
+            return this.each(function () {
+                var $this = $(this),
+                    _options;
+                if (!$this.data('DateTimePicker')) {
+                    // create a private copy of the defaults object
+                    _options = $.extend(true, {}, $.fn.datetimepicker.defaults, options);
+                    $this.data('DateTimePicker', dateTimePicker($this, _options));
+                }
+            });
+        } else if (typeof options === 'string') {
+            this.each(function () {
+                var $this = $(this),
+                    instance = $this.data('DateTimePicker');
+                if (!instance) {
+                    throw new Error('bootstrap-datetimepicker("' + options + '") method was called on an element that is not using DateTimePicker');
+                }
+
+                returnValue = instance[options].apply(instance, args);
+                isInstance = returnValue === instance;
+            });
+
+            if (isInstance || $.inArray(options, thisMethods) > -1) {
+                return this;
+            }
+
+            return returnValue;
+        }
+
+        throw new TypeError('Invalid arguments for DateTimePicker: ' + options);
+    };
+
+    $.fn.datetimepicker.defaults = {
+        timeZone: '',
+        format: false,
+        dayViewHeaderFormat: 'MMMM YYYY',
+        extraFormats: false,
+        stepping: 1,
+        minDate: false,
+        maxDate: false,
+        useCurrent: true,
+        collapse: true,
+        locale: moment.locale(),
+        defaultDate: false,
+        disabledDates: false,
+        enabledDates: false,
+        icons: {
+            time: 'glyphicon glyphicon-time',
+            date: 'glyphicon glyphicon-calendar',
+            up: 'glyphicon glyphicon-chevron-up',
+            down: 'glyphicon glyphicon-chevron-down',
+            previous: 'glyphicon glyphicon-chevron-left',
+            next: 'glyphicon glyphicon-chevron-right',
+            today: 'glyphicon glyphicon-screenshot',
+            clear: 'glyphicon glyphicon-trash',
+            close: 'glyphicon glyphicon-remove'
+        },
+        tooltips: {
+            today: 'Go to today',
+            clear: 'Clear selection',
+            close: 'Close the picker',
+            selectMonth: 'Select Month',
+            prevMonth: 'Previous Month',
+            nextMonth: 'Next Month',
+            selectYear: 'Select Year',
+            prevYear: 'Previous Year',
+            nextYear: 'Next Year',
+            selectDecade: 'Select Decade',
+            prevDecade: 'Previous Decade',
+            nextDecade: 'Next Decade',
+            prevCentury: 'Previous Century',
+            nextCentury: 'Next Century',
+            pickHour: 'Pick Hour',
+            incrementHour: 'Increment Hour',
+            decrementHour: 'Decrement Hour',
+            pickMinute: 'Pick Minute',
+            incrementMinute: 'Increment Minute',
+            decrementMinute: 'Decrement Minute',
+            pickSecond: 'Pick Second',
+            incrementSecond: 'Increment Second',
+            decrementSecond: 'Decrement Second',
+            togglePeriod: 'Toggle Period',
+            selectTime: 'Select Time'
+        },
+        useStrict: false,
+        sideBySide: false,
+        daysOfWeekDisabled: false,
+        calendarWeeks: false,
+        viewMode: 'days',
+        toolbarPlacement: 'default',
+        showTodayButton: false,
+        showClear: false,
+        showClose: false,
+        widgetPositioning: {
+            horizontal: 'auto',
+            vertical: 'auto'
+        },
+        widgetParent: null,
+        ignoreReadonly: false,
+        keepOpen: false,
+        focusOnShow: true,
+        inline: false,
+        keepInvalid: false,
+        datepickerInput: '.datepickerinput',
+        keyBinds: {
+            up: function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().subtract(7, 'd'));
+                } else {
+                    this.date(d.clone().add(this.stepping(), 'm'));
+                }
+            },
+            down: function (widget) {
+                if (!widget) {
+                    this.show();
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().add(7, 'd'));
+                } else {
+                    this.date(d.clone().subtract(this.stepping(), 'm'));
+                }
+            },
+            'control up': function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().subtract(1, 'y'));
+                } else {
+                    this.date(d.clone().add(1, 'h'));
+                }
+            },
+            'control down': function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().add(1, 'y'));
+                } else {
+                    this.date(d.clone().subtract(1, 'h'));
+                }
+            },
+            left: function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().subtract(1, 'd'));
+                }
+            },
+            right: function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().add(1, 'd'));
+                }
+            },
+            pageUp: function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().subtract(1, 'M'));
+                }
+            },
+            pageDown: function (widget) {
+                if (!widget) {
+                    return;
+                }
+                var d = this.date() || this.getMoment();
+                if (widget.find('.datepicker').is(':visible')) {
+                    this.date(d.clone().add(1, 'M'));
+                }
+            },
+            enter: function () {
+                this.hide();
+            },
+            escape: function () {
+                this.hide();
+            },
+            //tab: function (widget) { //this break the flow of the form. disabling for now
+            //    var toggle = widget.find('.picker-switch a[data-action="togglePicker"]');
+            //    if(toggle.length > 0) toggle.click();
+            //},
+            'control space': function (widget) {
+                if (!widget) {
+                    return;
+                }
+                if (widget.find('.timepicker').is(':visible')) {
+                    widget.find('.btn[data-action="togglePeriod"]').click();
+                }
+            },
+            t: function () {
+                this.date(this.getMoment());
+            },
+            'delete': function () {
+                this.clear();
+            }
+        },
+        debug: false,
+        allowInputToggle: false,
+        disabledTimeIntervals: false,
+        disabledHours: false,
+        enabledHours: false,
+        viewDate: false
+    };
+
+    return $.fn.datetimepicker;
+}));
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less
new file mode 100644
index 0000000..b315172
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/_bootstrap-datetimepicker.less
@@ -0,0 +1,353 @@
+/*!
+ * Datetimepicker for Bootstrap 3
+ * version : 4.17.47
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ */
+@bs-datetimepicker-timepicker-font-size: 1.2em;
+@bs-datetimepicker-active-bg: @btn-primary-bg;
+@bs-datetimepicker-active-color: @btn-primary-color;
+@bs-datetimepicker-border-radius: @border-radius-base;
+@bs-datetimepicker-btn-hover-bg: @gray-lighter;
+@bs-datetimepicker-disabled-color: @gray-light;
+@bs-datetimepicker-alternate-color: @gray-light;
+@bs-datetimepicker-secondary-border-color: #ccc;
+@bs-datetimepicker-secondary-border-color-rgba: rgba(0, 0, 0, 0.2);
+@bs-datetimepicker-primary-border-color: white;
+@bs-datetimepicker-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
+
+.bootstrap-datetimepicker-widget {
+    list-style: none;
+
+    &.dropdown-menu {
+        display: block;
+        margin: 2px 0;
+        padding: 4px;
+        width: 19em;
+
+        &.timepicker-sbs {
+            @media (min-width: @screen-sm-min) {
+                width: 38em;
+            }
+
+            @media (min-width: @screen-md-min) {
+                width: 38em;
+            }
+
+            @media (min-width: @screen-lg-min) {
+                width: 38em;
+            }
+        }
+
+        &:before, &:after {
+            content: '';
+            display: inline-block;
+            position: absolute;
+        }
+
+        &.bottom {
+            &:before {
+                border-left: 7px solid transparent;
+                border-right: 7px solid transparent;
+                border-bottom: 7px solid @bs-datetimepicker-secondary-border-color;
+                border-bottom-color: @bs-datetimepicker-secondary-border-color-rgba;
+                top: -7px;
+                left: 7px;
+            }
+
+            &:after {
+                border-left: 6px solid transparent;
+                border-right: 6px solid transparent;
+                border-bottom: 6px solid @bs-datetimepicker-primary-border-color;
+                top: -6px;
+                left: 8px;
+            }
+        }
+
+        &.top {
+            &:before {
+                border-left: 7px solid transparent;
+                border-right: 7px solid transparent;
+                border-top: 7px solid @bs-datetimepicker-secondary-border-color;
+                border-top-color: @bs-datetimepicker-secondary-border-color-rgba;
+                bottom: -7px;
+                left: 6px;
+            }
+
+            &:after {
+                border-left: 6px solid transparent;
+                border-right: 6px solid transparent;
+                border-top: 6px solid @bs-datetimepicker-primary-border-color;
+                bottom: -6px;
+                left: 7px;
+            }
+        }
+
+        &.pull-right {
+            &:before {
+                left: auto;
+                right: 6px;
+            }
+
+            &:after {
+                left: auto;
+                right: 7px;
+            }
+        }
+    }
+
+    .list-unstyled {
+        margin: 0;
+    }
+
+    a[data-action] {
+        padding: 6px 0;
+    }
+
+    a[data-action]:active {
+        box-shadow: none;
+    }
+
+    .timepicker-hour, .timepicker-minute, .timepicker-second {
+        width: 54px;
+        font-weight: bold;
+        font-size: @bs-datetimepicker-timepicker-font-size;
+        margin: 0;
+    }
+
+    button[data-action] {
+        padding: 6px;
+    }
+
+    .btn[data-action="incrementHours"]::after {
+        .sr-only();
+        content: "Increment Hours";
+    }
+
+    .btn[data-action="incrementMinutes"]::after {
+        .sr-only();
+        content: "Increment Minutes";
+    }
+
+    .btn[data-action="decrementHours"]::after {
+        .sr-only();
+        content: "Decrement Hours";
+    }
+
+    .btn[data-action="decrementMinutes"]::after {
+        .sr-only();
+        content: "Decrement Minutes";
+    }
+
+    .btn[data-action="showHours"]::after {
+        .sr-only();
+        content: "Show Hours";
+    }
+
+    .btn[data-action="showMinutes"]::after {
+        .sr-only();
+        content: "Show Minutes";
+    }
+
+    .btn[data-action="togglePeriod"]::after {
+        .sr-only();
+        content: "Toggle AM/PM";
+    }
+
+    .btn[data-action="clear"]::after {
+        .sr-only();
+        content: "Clear the picker";
+    }
+
+    .btn[data-action="today"]::after {
+        .sr-only();
+        content: "Set the date to today";
+    }
+
+    .picker-switch {
+        text-align: center;
+
+        &::after {
+            .sr-only();
+            content: "Toggle Date and Time Screens";
+        }
+
+        td {
+            padding: 0;
+            margin: 0;
+            height: auto;
+            width: auto;
+            line-height: inherit;
+
+            span {
+                line-height: 2.5;
+                height: 2.5em;
+                width: 100%;
+            }
+        }
+    }
+
+    table {
+        width: 100%;
+        margin: 0;
+
+
+        & td,
+        & th {
+            text-align: center;
+            border-radius: @bs-datetimepicker-border-radius;
+        }
+
+        & th {
+            height: 20px;
+            line-height: 20px;
+            width: 20px;
+
+            &.picker-switch {
+                width: 145px;
+            }
+
+            &.disabled,
+            &.disabled:hover {
+                background: none;
+                color: @bs-datetimepicker-disabled-color;
+                cursor: not-allowed;
+            }
+
+            &.prev::after {
+                .sr-only();
+                content: "Previous Month";
+            }
+
+            &.next::after {
+                .sr-only();
+                content: "Next Month";
+            }
+        }
+
+        & thead tr:first-child th {
+            cursor: pointer;
+
+            &:hover {
+                background: @bs-datetimepicker-btn-hover-bg;
+            }
+        }
+
+        & td {
+            height: 54px;
+            line-height: 54px;
+            width: 54px;
+
+            &.cw {
+                font-size: .8em;
+                height: 20px;
+                line-height: 20px;
+                color: @bs-datetimepicker-alternate-color;
+            }
+
+            &.day {
+                height: 20px;
+                line-height: 20px;
+                width: 20px;
+            }
+
+            &.day:hover,
+            &.hour:hover,
+            &.minute:hover,
+            &.second:hover {
+                background: @bs-datetimepicker-btn-hover-bg;
+                cursor: pointer;
+            }
+
+            &.old,
+            &.new {
+                color: @bs-datetimepicker-alternate-color;
+            }
+
+            &.today {
+                position: relative;
+
+                &:before {
+                    content: '';
+                    display: inline-block;
+                    border: solid transparent;
+                    border-width: 0 0 7px 7px;
+                    border-bottom-color: @bs-datetimepicker-active-bg;
+                    border-top-color: @bs-datetimepicker-secondary-border-color-rgba;
+                    position: absolute;
+                    bottom: 4px;
+                    right: 4px;
+                }
+            }
+
+            &.active,
+            &.active:hover {
+                background-color: @bs-datetimepicker-active-bg;
+                color: @bs-datetimepicker-active-color;
+                text-shadow: @bs-datetimepicker-text-shadow;
+            }
+
+            &.active.today:before {
+                border-bottom-color: #fff;
+            }
+
+            &.disabled,
+            &.disabled:hover {
+                background: none;
+                color: @bs-datetimepicker-disabled-color;
+                cursor: not-allowed;
+            }
+
+            span {
+                display: inline-block;
+                width: 54px;
+                height: 54px;
+                line-height: 54px;
+                margin: 2px 1.5px;
+                cursor: pointer;
+                border-radius: @bs-datetimepicker-border-radius;
+
+                &:hover {
+                    background: @bs-datetimepicker-btn-hover-bg;
+                }
+
+                &.active {
+                    background-color: @bs-datetimepicker-active-bg;
+                    color: @bs-datetimepicker-active-color;
+                    text-shadow: @bs-datetimepicker-text-shadow;
+                }
+
+                &.old {
+                    color: @bs-datetimepicker-alternate-color;
+                }
+
+                &.disabled,
+                &.disabled:hover {
+                    background: none;
+                    color: @bs-datetimepicker-disabled-color;
+                    cursor: not-allowed;
+                }
+            }
+        }
+    }
+
+    &.usetwentyfour {
+        td.hour {
+            height: 27px;
+            line-height: 27px;
+        }
+    }
+	
+	&.wider {
+		width: 21em;
+	}
+
+	& .datepicker-decades .decade {
+        line-height: 1.8em !important;
+    }
+}
+
+.input-group.date {
+    & .input-group-addon {
+        cursor: pointer;
+    }
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less
new file mode 100644
index 0000000..3f0b188
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/less/bootstrap-datetimepicker-build.less
@@ -0,0 +1,17 @@
+// Import bootstrap variables including default color palette and fonts
+@import "bootstrap/less/variables.less";
+
+// Import datepicker component
+@import "_bootstrap-datetimepicker.less";
+
+//this is here so the compiler doesn't complain about a missing bootstrap mixin
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0,0,0,0);
+  border: 0;
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec
new file mode 100644
index 0000000..da03408
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.CSS.nuspec
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+    <metadata>
+        <id>Bootstrap.v3.Datetimepicker.CSS</id>
+        <version>4.0.0</version>
+        <title>Bootstrap 3 Datetimepicker CSS</title>
+        <authors>Eonasdan</authors>
+        <owners>Eonasdan</owners>
+        <projectUrl>https://github.com/Eonasdan/bootstrap-datetimepicker</projectUrl>
+        <requireLicenseAcceptance>false</requireLicenseAcceptance>
+        <description>A date/time picker component designed to work with Bootstrap 3 and Momentjs.
+
+For usage, installation and demos see Project Site on GitHub
+
+For LESS version install Bootstrap.v3.Datetimepicker</description>
+        <releaseNotes>
+          Check the change log on Github at https://github.com/Eonasdan/bootstrap-datetimepicker/wiki/Change-Log
+
+          IMPORANT! The Nuget packages will be depreciated in an upcoming release. Moving forward, Asp.Net/Nuget will NOT be delivering content packages like this one and you will need to use bower. See https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1128 for more
+        </releaseNotes>
+        <tags>bootstrap date time picker datetimepicker datepicker jquery</tags>
+        <dependencies>
+            <dependency id="bootstrap" version="3.3.0" />
+            <dependency id="Moment.js" version="2.9.0" />
+        </dependencies>
+    </metadata>
+	<files>
+        <file src="..\..\src\js\bootstrap-datetimepicker.js" target="content\Scripts" />
+        <file src="..\..\build\js\bootstrap-datetimepicker.min.js" target="content\Scripts" />
+        <file src="..\..\build\css\bootstrap-datetimepicker.css" target="content\Content" />
+        <file src="..\..\build\css\bootstrap-datetimepicker.min.css" target="content\Content" />		
+        <file src="install.ps1" target="tools\" />
+    </files>
+</package>
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec
new file mode 100644
index 0000000..8678e0a
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/Bootstrap.v3.Datetimepicker.nuspec
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+    <metadata>
+        <id>Bootstrap.v3.Datetimepicker</id>
+        <version>4.0.0</version>
+        <title>Bootstrap 3 Datetimepicker</title>
+        <authors>Eonasdan</authors>
+        <owners>Eonasdan</owners>
+        <projectUrl>https://github.com/Eonasdan/bootstrap-datetimepicker</projectUrl>
+        <requireLicenseAcceptance>false</requireLicenseAcceptance>
+        <description>A date/time picker component designed to work with Bootstrap 3 and Momentjs.
+
+For usage, installation and demos see Project Site on GitHub
+
+For CSS version install Bootstrap.v3.Datetimepicker.CSS</description>
+        <releaseNotes>
+          Check the change log on Github at https://github.com/Eonasdan/bootstrap-datetimepicker/wiki/Change-Log
+
+          IMPORANT! The Nuget packages will be depreciated in an upcoming release. Moving forward, Asp.Net/Nuget will NOT be delivering content packages like this one and you will need to use bower. See https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1128 for more
+        </releaseNotes>
+        <tags>bootstrap date time picker datetimepicker datepicker jquery</tags>
+        <dependencies>
+            <dependency id="bootstrap.Less" version="3.3.0" />
+            <dependency id="Moment.js" version="2.9.0" />
+        </dependencies>
+    </metadata>
+	<files>
+        <file src="..\..\src\js\bootstrap-datetimepicker.js" target="content\Scripts" />
+        <file src="..\..\build\js\bootstrap-datetimepicker.min.js" target="content\Scripts" />
+        <file src="..\..\src\less\_bootstrap-datetimepicker.less" target="content\Content\" />
+        <file src="..\..\src\less\bootstrap-datetimepicker-build.less" target="content\Content\" />		
+        <file src="install.ps1" target="tools\" />
+    </files>
+</package>
\ No newline at end of file
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/NuGet.exe
new file mode 100644
index 0000000000000000000000000000000000000000..c41a0d0debd870f8df2754f07a9f29c2d89a3d27
GIT binary patch
literal 1662976
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%0Ac
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%0DrL)V%eZ8Le!)%3tCGfmdsQCB3>>Xm
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
EFFYo8OaK4?

literal 0
HcmV?d00001

diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1 b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1
new file mode 100644
index 0000000..3b0e753
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/nuget/install.ps1
@@ -0,0 +1,2 @@
+# install.ps1
+$DTE.ItemOperations.Navigate("https://github.com/Eonasdan/bootstrap-datetimepicker/issues/1128", $DTE.vsNavigateOptions.vsNavigateOptionsNewWindow)
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss
new file mode 100644
index 0000000..0b722ba
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/_bootstrap-datetimepicker.scss
@@ -0,0 +1,344 @@
+/*!
+ * Datetimepicker for Bootstrap 3
+ * ! version : 4.7.14
+ * https://github.com/Eonasdan/bootstrap-datetimepicker/
+ */
+$bs-datetimepicker-timepicker-font-size: 1.2em !default;
+$bs-datetimepicker-active-bg: $btn-primary-bg !default;
+$bs-datetimepicker-active-color: $btn-primary-color !default;
+$bs-datetimepicker-border-radius: $border-radius-base !default;
+$bs-datetimepicker-btn-hover-bg: $gray-lighter !default;
+$bs-datetimepicker-disabled-color: $gray-light !default;
+$bs-datetimepicker-alternate-color: $gray-light !default;
+$bs-datetimepicker-secondary-border-color: #ccc !default;
+$bs-datetimepicker-secondary-border-color-rgba: rgba(0, 0, 0, 0.2) !default;
+$bs-datetimepicker-primary-border-color: white !default;
+$bs-datetimepicker-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25) !default;
+
+.bootstrap-datetimepicker-widget {
+    list-style: none;
+
+    &.dropdown-menu {
+        margin: 2px 0;
+        padding: 4px;
+        width: 19em;
+
+        &.timepicker-sbs {
+            @media (min-width: $screen-sm-min) {
+                width: 38em;
+            }
+
+            @media (min-width: $screen-md-min) {
+                width: 38em;
+            }
+
+            @media (min-width: $screen-lg-min) {
+                width: 38em;
+            }
+        }
+
+        &:before, &:after {
+            content: '';
+            display: inline-block;
+            position: absolute;
+        }
+
+        &.bottom {
+            &:before {
+                border-left: 7px solid transparent;
+                border-right: 7px solid transparent;
+                border-bottom: 7px solid $bs-datetimepicker-secondary-border-color;
+                border-bottom-color: $bs-datetimepicker-secondary-border-color-rgba;
+                top: -7px;
+                left: 7px;
+            }
+
+            &:after {
+                border-left: 6px solid transparent;
+                border-right: 6px solid transparent;
+                border-bottom: 6px solid $bs-datetimepicker-primary-border-color;
+                top: -6px;
+                left: 8px;
+            }
+        }
+
+        &.top {
+            &:before {
+                border-left: 7px solid transparent;
+                border-right: 7px solid transparent;
+                border-top: 7px solid $bs-datetimepicker-secondary-border-color;
+                border-top-color: $bs-datetimepicker-secondary-border-color-rgba;
+                bottom: -7px;
+                left: 6px;
+            }
+
+            &:after {
+                border-left: 6px solid transparent;
+                border-right: 6px solid transparent;
+                border-top: 6px solid $bs-datetimepicker-primary-border-color;
+                bottom: -6px;
+                left: 7px;
+            }
+        }
+
+        &.pull-right {
+            &:before {
+                left: auto;
+                right: 6px;
+            }
+
+            &:after {
+                left: auto;
+                right: 7px;
+            }
+        }
+    }
+
+    .list-unstyled {
+        margin: 0;
+    }
+
+    a[data-action] {
+        padding: 6px 0;
+    }
+
+    a[data-action]:active {
+        box-shadow: none;
+    }
+
+    .timepicker-hour, .timepicker-minute, .timepicker-second {
+        width: 54px;
+        font-weight: bold;
+        font-size: $bs-datetimepicker-timepicker-font-size;
+        margin: 0;
+    }
+
+    button[data-action] {
+        padding: 6px;
+    }
+
+    .btn[data-action="incrementHours"]::after {
+        @extend .sr-only;
+        content: "Increment Hours";
+    }
+
+    .btn[data-action="incrementMinutes"]::after {
+        @extend .sr-only;
+        content: "Increment Minutes";
+    }
+
+    .btn[data-action="decrementHours"]::after {
+        @extend .sr-only;
+        content: "Decrement Hours";
+    }
+
+    .btn[data-action="decrementMinutes"]::after {
+        @extend .sr-only;
+        content: "Decrement Minutes";
+    }
+
+    .btn[data-action="showHours"]::after {
+        @extend .sr-only;
+        content: "Show Hours";
+    }
+
+    .btn[data-action="showMinutes"]::after {
+        @extend .sr-only;
+        content: "Show Minutes";
+    }
+
+    .btn[data-action="togglePeriod"]::after {
+        @extend .sr-only;
+        content: "Toggle AM/PM";
+    }
+
+    .btn[data-action="clear"]::after {
+        @extend .sr-only;
+        content: "Clear the picker";
+    }
+
+    .btn[data-action="today"]::after {
+        @extend .sr-only;
+        content: "Set the date to today";
+    }
+
+    .picker-switch {
+        text-align: center;
+
+        &::after {
+            @extend .sr-only;
+            content: "Toggle Date and Time Screens";
+        }
+
+        td {
+            padding: 0;
+            margin: 0;
+            height: auto;
+            width: auto;
+            line-height: inherit;
+
+            span {
+                line-height: 2.5;
+                height: 2.5em;
+                width: 100%;
+            }
+        }
+    }
+
+    table {
+        width: 100%;
+        margin: 0;
+
+
+        & td,
+        & th {
+            text-align: center;
+            border-radius: $bs-datetimepicker-border-radius;
+        }
+
+        & th {
+            height: 20px;
+            line-height: 20px;
+            width: 20px;
+
+            &.picker-switch {
+                width: 145px;
+            }
+
+            &.disabled,
+            &.disabled:hover {
+                background: none;
+                color: $bs-datetimepicker-disabled-color;
+                cursor: not-allowed;
+            }
+
+            &.prev::after {
+                @extend .sr-only;
+                content: "Previous Month";
+            }
+
+            &.next::after {
+                @extend .sr-only;
+                content: "Next Month";
+            }
+        }
+
+        & thead tr:first-child th {
+            cursor: pointer;
+
+            &:hover {
+                background: $bs-datetimepicker-btn-hover-bg;
+            }
+        }
+
+        & td {
+            height: 54px;
+            line-height: 54px;
+            width: 54px;
+
+            &.cw {
+                font-size: .8em;
+                height: 20px;
+                line-height: 20px;
+                color: $bs-datetimepicker-alternate-color;
+            }
+
+            &.day {
+                height: 20px;
+                line-height: 20px;
+                width: 20px;
+            }
+
+            &.day:hover,
+            &.hour:hover,
+            &.minute:hover,
+            &.second:hover {
+                background: $bs-datetimepicker-btn-hover-bg;
+                cursor: pointer;
+            }
+
+            &.old,
+            &.new {
+                color: $bs-datetimepicker-alternate-color;
+            }
+
+            &.today {
+                position: relative;
+
+                &:before {
+                    content: '';
+                    display: inline-block;
+                    border: solid transparent;
+                    border-width: 0 0 7px 7px;
+                    border-bottom-color: $bs-datetimepicker-active-bg;
+                    border-top-color: $bs-datetimepicker-secondary-border-color-rgba;
+                    position: absolute;
+                    bottom: 4px;
+                    right: 4px;
+                }
+            }
+
+            &.active,
+            &.active:hover {
+                background-color: $bs-datetimepicker-active-bg;
+                color: $bs-datetimepicker-active-color;
+                text-shadow: $bs-datetimepicker-text-shadow;
+            }
+
+            &.active.today:before {
+                border-bottom-color: #fff;
+            }
+
+            &.disabled,
+            &.disabled:hover {
+                background: none;
+                color: $bs-datetimepicker-disabled-color;
+                cursor: not-allowed;
+            }
+
+            span {
+                display: inline-block;
+                width: 54px;
+                height: 54px;
+                line-height: 54px;
+                margin: 2px 1.5px;
+                cursor: pointer;
+                border-radius: $bs-datetimepicker-border-radius;
+
+                &:hover {
+                    background: $bs-datetimepicker-btn-hover-bg;
+                }
+
+                &.active {
+                    background-color: $bs-datetimepicker-active-bg;
+                    color: $bs-datetimepicker-active-color;
+                    text-shadow: $bs-datetimepicker-text-shadow;
+                }
+
+                &.old {
+                    color: $bs-datetimepicker-alternate-color;
+                }
+
+                &.disabled,
+                &.disabled:hover {
+                    background: none;
+                    color: $bs-datetimepicker-disabled-color;
+                    cursor: not-allowed;
+                }
+            }
+        }
+    }
+
+    &.usetwentyfour {
+        td.hour {
+            height: 27px;
+            line-height: 27px;
+        }
+    }
+}
+
+.input-group.date {
+    & .input-group-addon {
+        cursor: pointer;
+    }
+}
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss
new file mode 100644
index 0000000..d578615
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/src/sass/bootstrap-datetimepicker-build.scss
@@ -0,0 +1,16 @@
+// Import bootstrap variables including default color palette and fonts
+//@import "../../node_modules/bootstrap/less/variables.less";
+
+.sr-only {
+  position: absolute;
+  width: 1px;
+  height: 1px;
+  margin: -1px;
+  padding: 0;
+  overflow: hidden;
+  clip: rect(0,0,0,0);
+  border: 0;
+}
+
+// Import datepicker component
+@import "_bootstrap-datetimepicker";
diff --git a/public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js b/public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js
new file mode 100644
index 0000000..76552ca
--- /dev/null
+++ b/public/bower_components/eonasdan-bootstrap-datetimepicker/tasks/bump_version.js
@@ -0,0 +1,88 @@
+module.exports = function (grunt) {
+    grunt.registerTask('bump_version', function (version) {
+        if (!version || version.split('.').length !== 3) {
+            grunt.fail.fatal('malformed version. Use\n\n    grunt bump_version:1.2.3');
+        }
+
+        grunt.config('string-replace.bootstrap-datetimepicker-js', {
+            files: {'src/js/bootstrap-datetimepicker.js': 'src/js/bootstrap-datetimepicker.js'},
+            options: {
+                replacements: [
+                    {
+                        pattern: /\/*! version : .*/,
+                        replacement: '! version : ' + version
+                    }
+                ]
+            }
+        });
+
+        grunt.config('string-replace.bootstrap-datetimepicker-css', {
+            files: { 'src/less/_bootstrap-datetimepicker.less': 'src/less/_bootstrap-datetimepicker.less' },
+            options: {
+                replacements: [
+                    {
+                        pattern:     / * version : .*/,
+                        replacement: ' version : ' + version
+                    }
+                ]
+            }
+        });
+
+        grunt.config('string-replace.package-json', {
+            files: {'package.json': 'package.json'},
+            options: {
+                replacements: [
+                    {
+                        pattern:     /"version": .*/,
+                        replacement: '"version": "' + version + '"'
+                    }
+                ]
+            }
+        });
+
+        grunt.config('string-replace.bower-json', {
+            files: {'bower.json': 'bower.json'},
+            options: {
+                replacements: [
+                    {
+                        pattern:     /"version": .*/,
+                        replacement: '"version": "' + version + '",'
+                    }
+                ]
+            }
+        });
+
+        grunt.config('string-replace.component-json', {
+            files: {'component.json': 'component.json'},
+            options: {
+                replacements: [
+                    {
+                        pattern:     /"version": .*/,
+                        replacement: '"version": "' + version + '",'
+                    }
+                ]
+            }
+        });
+
+        grunt.config('string-replace.composer-json', {
+            files: {'composer.json': 'composer.json'},
+            options: {
+                replacements: [
+                    {
+                        pattern:     /"version": .*/,
+                        replacement: '"version": "' + version + '",'
+                    }
+                ]
+            }
+        });
+
+        grunt.task.run([
+            'string-replace:bootstrap-datetimepicker-js',
+            'string-replace:bootstrap-datetimepicker-css',
+            'string-replace:package-json',
+            'string-replace:bower-json',
+            'string-replace:component-json',
+            'string-replace:composer-json'
+        ]);
+    });
+};
diff --git a/public/bower_components/jquery/.bower.json b/public/bower_components/jquery/.bower.json
new file mode 100644
index 0000000..3e75c5c
--- /dev/null
+++ b/public/bower_components/jquery/.bower.json
@@ -0,0 +1,25 @@
+{
+  "name": "jquery",
+  "main": "dist/jquery.js",
+  "license": "MIT",
+  "ignore": [
+    "package.json"
+  ],
+  "keywords": [
+    "jquery",
+    "javascript",
+    "browser",
+    "library"
+  ],
+  "homepage": "https://github.com/jquery/jquery-dist",
+  "version": "3.3.1",
+  "_release": "3.3.1",
+  "_resolution": {
+    "type": "version",
+    "tag": "3.3.1",
+    "commit": "9e8ec3d10fad04748176144f108d7355662ae75e"
+  },
+  "_source": "https://github.com/jquery/jquery-dist.git",
+  "_target": ">=1.8.3",
+  "_originalSource": "jquery"
+}
\ No newline at end of file
diff --git a/public/bower_components/jquery/AUTHORS.txt b/public/bower_components/jquery/AUTHORS.txt
new file mode 100644
index 0000000..4bb5da1
--- /dev/null
+++ b/public/bower_components/jquery/AUTHORS.txt
@@ -0,0 +1,313 @@
+Authors ordered by first contribution.
+
+John Resig <jeresig@gmail.com>
+Gilles van den Hoven <gilles0181@gmail.com>
+Michael Geary <mike@geary.com>
+Stefan Petre <stefan.petre@gmail.com>
+Yehuda Katz <wycats@gmail.com>
+Corey Jewett <cj@syntheticplayground.com>
+Klaus Hartl <klaus.hartl@gmail.com>
+Franck Marcia <franck.marcia@gmail.com>
+Jörn Zaefferer <joern.zaefferer@gmail.com>
+Paul Bakaus <paul.bakaus@gmail.com>
+Brandon Aaron <brandon.aaron@gmail.com>
+Mike Alsup <malsup@gmail.com>
+Dave Methvin <dave.methvin@gmail.com>
+Ed Engelhardt <edengelhardt@gmail.com>
+Sean Catchpole <littlecooldude@gmail.com>
+Paul Mclanahan <pmclanahan@gmail.com>
+David Serduke <davidserduke@gmail.com>
+Richard D. Worth <rdworth@gmail.com>
+Scott González <scott.gonzalez@gmail.com>
+Ariel Flesler <aflesler@gmail.com>
+Jon Evans <jon@springyweb.com>
+TJ Holowaychuk <tj@vision-media.ca>
+Michael Bensoussan <mickey@seesmic.com>
+Robert Katić <robert.katic@gmail.com>
+Louis-Rémi Babé <lrbabe@gmail.com>
+Earle Castledine <mrspeaker@gmail.com>
+Damian Janowski <damian.janowski@gmail.com>
+Rich Dougherty <rich@rd.gen.nz>
+Kim Dalsgaard <kim@kimdalsgaard.com>
+Andrea Giammarchi <andrea.giammarchi@gmail.com>
+Mark Gibson <jollytoad@gmail.com>
+Karl Swedberg <kswedberg@gmail.com>
+Justin Meyer <justinbmeyer@gmail.com>
+Ben Alman <cowboy@rj3.net>
+James Padolsey <cla@padolsey.net>
+David Petersen <public@petersendidit.com>
+Batiste Bieler <batiste.bieler@gmail.com>
+Alexander Farkas <info@corrupt-system.de>
+Rick Waldron <waldron.rick@gmail.com>
+Filipe Fortes <filipe@fortes.com>
+Neeraj Singh <neerajdotname@gmail.com>
+Paul Irish <paul.irish@gmail.com>
+Iraê Carvalho <irae@irae.pro.br>
+Matt Curry <matt@pseudocoder.com>
+Michael Monteleone <michael@michaelmonteleone.net>
+Noah Sloan <noah.sloan@gmail.com>
+Tom Viner <github@viner.tv>
+Douglas Neiner <doug@dougneiner.com>
+Adam J. Sontag <ajpiano@ajpiano.com>
+Dave Reed <dareed@microsoft.com>
+Ralph Whitbeck <ralph.whitbeck@gmail.com>
+Carl Fürstenberg <azatoth@gmail.com>
+Jacob Wright <jacwright@gmail.com>
+J. Ryan Stinnett <jryans@gmail.com>
+unknown <Igen005@.upcorp.ad.uprr.com>
+temp01 <temp01irc@gmail.com>
+Heungsub Lee <h@subl.ee>
+Colin Snover <github.com@zetafleet.com>
+Ryan W Tenney <ryan@10e.us>
+Pinhook <contact@pinhooklabs.com>
+Ron Otten <r.j.g.otten@gmail.com>
+Jephte Clain <Jephte.Clain@univ-reunion.fr>
+Anton Matzneller <obhvsbypqghgc@gmail.com>
+Alex Sexton <AlexSexton@gmail.com>
+Dan Heberden <danheberden@gmail.com>
+Henri Wiechers <hwiechers@gmail.com>
+Russell Holbrook <russell.holbrook@patch.com>
+Julian Aubourg <aubourg.julian@gmail.com>
+Gianni Alessandro Chiappetta <gianni@runlevel6.org>
+Scott Jehl <scottjehl@gmail.com>
+James Burke <jrburke@gmail.com>
+Jonas Pfenniger <jonas@pfenniger.name>
+Xavi Ramirez <xavi.rmz@gmail.com>
+Jared Grippe <jared@deadlyicon.com>
+Sylvester Keil <sylvester@keil.or.at>
+Brandon Sterne <bsterne@mozilla.com>
+Mathias Bynens <mathias@qiwi.be>
+Timmy Willison <4timmywil@gmail.com>
+Corey Frang <gnarf37@gmail.com>
+Digitalxero <digitalxero>
+Anton Kovalyov <anton@kovalyov.net>
+David Murdoch <david@davidmurdoch.com>
+Josh Varner <josh.varner@gmail.com>
+Charles McNulty <cmcnulty@kznf.com>
+Jordan Boesch <jboesch26@gmail.com>
+Jess Thrysoee <jess@thrysoee.dk>
+Michael Murray <m@murz.net>
+Lee Carpenter <elcarpie@gmail.com>
+Alexis Abril <me@alexisabril.com>
+Rob Morgan <robbym@gmail.com>
+John Firebaugh <john_firebaugh@bigfix.com>
+Sam Bisbee <sam@sbisbee.com>
+Gilmore Davidson <gilmoreorless@gmail.com>
+Brian Brennan <me@brianlovesthings.com>
+Xavier Montillet <xavierm02.net@gmail.com>
+Daniel Pihlstrom <sciolist.se@gmail.com>
+Sahab Yazdani <sahab.yazdani+github@gmail.com>
+avaly <github-com@agachi.name>
+Scott Hughes <hi@scott-hughes.me>
+Mike Sherov <mike.sherov@gmail.com>
+Greg Hazel <ghazel@gmail.com>
+Schalk Neethling <schalk@ossreleasefeed.com>
+Denis Knauf <Denis.Knauf@gmail.com>
+Timo Tijhof <krinklemail@gmail.com>
+Steen Nielsen <swinedk@gmail.com>
+Anton Ryzhov <anton@ryzhov.me>
+Shi Chuan <shichuanr@gmail.com>
+Berker Peksag <berker.peksag@gmail.com>
+Toby Brain <tobyb@freshview.com>
+Matt Mueller <mattmuelle@gmail.com>
+Justin <drakefjustin@gmail.com>
+Daniel Herman <daniel.c.herman@gmail.com>
+Oleg Gaidarenko <markelog@gmail.com>
+Richard Gibson <richard.gibson@gmail.com>
+Rafaël Blais Masson <rafbmasson@gmail.com>
+cmc3cn <59194618@qq.com>
+Joe Presbrey <presbrey@gmail.com>
+Sindre Sorhus <sindresorhus@gmail.com>
+Arne de Bree <arne@bukkie.nl>
+Vladislav Zarakovsky <vlad.zar@gmail.com>
+Andrew E Monat <amonat@gmail.com>
+Oskari <admin@o-programs.com>
+Joao Henrique de Andrade Bruni <joaohbruni@yahoo.com.br>
+tsinha <tsinha@Anthonys-MacBook-Pro.local>
+Matt Farmer <matt@frmr.me>
+Trey Hunner <treyhunner@gmail.com>
+Jason Moon <jmoon@socialcast.com>
+Jeffery To <jeffery.to@gmail.com>
+Kris Borchers <kris.borchers@gmail.com>
+Vladimir Zhuravlev <private.face@gmail.com>
+Jacob Thornton <jacobthornton@gmail.com>
+Chad Killingsworth <chadkillingsworth@missouristate.edu>
+Nowres Rafid <nowres.rafed@gmail.com>
+David Benjamin <davidben@mit.edu>
+Uri Gilad <antishok@gmail.com>
+Chris Faulkner <thefaulkner@gmail.com>
+Elijah Manor <elijah.manor@gmail.com>
+Daniel Chatfield <chatfielddaniel@gmail.com>
+Nikita Govorov <nikita.govorov@gmail.com>
+Wesley Walser <waw325@gmail.com>
+Mike Pennisi <mike@mikepennisi.com>
+Markus Staab <markus.staab@redaxo.de>
+Dave Riddle <david@joyvuu.com>
+Callum Macrae <callum@lynxphp.com>
+Benjamin Truyman <bentruyman@gmail.com>
+James Huston <james@jameshuston.net>
+Erick Ruiz de Chávez <erickrdch@gmail.com>
+David Bonner <dbonner@cogolabs.com>
+Akintayo Akinwunmi <aakinwunmi@judge.com>
+MORGAN <morgan@morgangraphics.com>
+Ismail Khair <ismail.khair@gmail.com>
+Carl Danley <carldanley@gmail.com>
+Mike Petrovich <michael.c.petrovich@gmail.com>
+Greg Lavallee <greglavallee@wapolabs.com>
+Daniel Gálvez <dgalvez@editablething.com>
+Sai Lung Wong <sai.wong@huffingtonpost.com>
+Tom H Fuertes <TomFuertes@gmail.com>
+Roland Eckl <eckl.roland@googlemail.com>
+Jay Merrifield <fracmak@gmail.com>
+Allen J Schmidt Jr <cobrasoft@gmail.com>
+Jonathan Sampson <jjdsampson@gmail.com>
+Marcel Greter <marcel.greter@ocbnet.ch>
+Matthias Jäggli <matthias.jaeggli@gmail.com>
+David Fox <dfoxinator@gmail.com>
+Yiming He <yiminghe@gmail.com>
+Devin Cooper <cooper.semantics@gmail.com>
+Paul Ramos <paul.b.ramos@gmail.com>
+Rod Vagg <rod@vagg.org>
+Bennett Sorbo <bsorbo@gmail.com>
+Sebastian Burkhard <sebi.burkhard@gmail.com>
+Zachary Adam Kaplan <razic@viralkitty.com>
+nanto_vi <nanto@moon.email.ne.jp>
+nanto <nanto@moon.email.ne.jp>
+Danil Somsikov <danilasomsikov@gmail.com>
+Ryunosuke SATO <tricknotes.rs@gmail.com>
+Jean Boussier <jean.boussier@gmail.com>
+Adam Coulombe <me@adam.co>
+Andrew Plummer <plummer.andrew@gmail.com>
+Mark Raddatz <mraddatz@gmail.com>
+Isaac Z. Schlueter <i@izs.me>
+Karl Sieburg <ksieburg@yahoo.com>
+Pascal Borreli <pascal@borreli.com>
+Nguyen Phuc Lam <ruado1987@gmail.com>
+Dmitry Gusev <dmitry.gusev@gmail.com>
+Michał Gołębiowski-Owczarek <m.goleb@gmail.com>
+Li Xudong <istonelee@gmail.com>
+Steven Benner <admin@stevenbenner.com>
+Tom H Fuertes <tomfuertes@gmail.com>
+Renato Oliveira dos Santos <ros3@cin.ufpe.br>
+ros3cin <ros3@cin.ufpe.br>
+Jason Bedard <jason+jquery@jbedard.ca>
+Kyle Robinson Young <kyle@dontkry.com>
+Chris Talkington <chris@talkingtontech.com>
+Eddie Monge <eddie@eddiemonge.com>
+Terry Jones <terry@jon.es>
+Jason Merino <jasonmerino@gmail.com>
+Jeremy Dunck <jdunck@gmail.com>
+Chris Price <price.c@gmail.com>
+Guy Bedford <guybedford@gmail.com>
+Amey Sakhadeo <me@ameyms.com>
+Mike Sidorov <mikes.ekb@gmail.com>
+Anthony Ryan <anthonyryan1@gmail.com>
+Dominik D. Geyer <dominik.geyer@gmail.com>
+George Kats <katsgeorgeek@gmail.com>
+Lihan Li <frankieteardrop@gmail.com>
+Ronny Springer <springer.ronny@gmail.com>
+Chris Antaki <ChrisAntaki@gmail.com>
+Marian Sollmann <marian.sollmann@cargomedia.ch>
+njhamann <njhamann@gmail.com>
+Ilya Kantor <iliakan@gmail.com>
+David Hong <d.hong@me.com>
+John Paul <john@johnkpaul.com>
+Jakob Stoeck <jakob@pokermania.de>
+Christopher Jones <chris@cjqed.com>
+Forbes Lindesay <forbes@lindesay.co.uk>
+S. Andrew Sheppard <andrew@wq.io>
+Leonardo Balter <leonardo.balter@gmail.com>
+Roman Reiß <me@silverwind.io>
+Benjy Cui <benjytrys@gmail.com>
+Rodrigo Rosenfeld Rosas <rr.rosas@gmail.com>
+John Hoven <hovenj@gmail.com>
+Philip Jägenstedt <philip@foolip.org>
+Christian Kosmowski <ksmwsk@gmail.com>
+Liang Peng <poppinlp@gmail.com>
+TJ VanToll <tj.vantoll@gmail.com>
+Senya Pugach <upisfree@outlook.com>
+Aurelio De Rosa <aurelioderosa@gmail.com>
+Nazar Mokrynskyi <nazar@mokrynskyi.com>
+Amit Merchant <bullredeyes@gmail.com>
+Jason Bedard <jason+github@jbedard.ca>
+Arthur Verschaeve <contact@arthurverschaeve.be>
+Dan Hart <danhart@notonthehighstreet.com>
+Bin Xin <rhyzix@gmail.com>
+David Corbacho <davidcorbacho@gmail.com>
+Veaceslav Grimalschi <grimalschi@yandex.ru>
+Daniel Husar <dano.husar@gmail.com>
+Frederic Hemberger <mail@frederic-hemberger.de>
+Ben Toews <mastahyeti@gmail.com>
+Aditya Raghavan <araghavan3@gmail.com>
+Victor Homyakov <vkhomyackov@gmail.com>
+Shivaji Varma <contact@shivajivarma.com>
+Nicolas HENRY <icewil@gmail.com>
+Anne-Gaelle Colom <coloma@westminster.ac.uk>
+George Mauer <gmauer@gmail.com>
+Leonardo Braga <leonardo.braga@gmail.com>
+Stephen Edgar <stephen@netweb.com.au>
+Thomas Tortorini <thomastortorini@gmail.com>
+Winston Howes <winstonhowes@gmail.com>
+Jon Hester <jon.d.hester@gmail.com>
+Alexander O'Mara <me@alexomara.com>
+Bastian Buchholz <buchholz.bastian@googlemail.com>
+Arthur Stolyar <nekr.fabula@gmail.com>
+Calvin Metcalf <calvin.metcalf@gmail.com>
+Mu Haibao <mhbseal@163.com>
+Richard McDaniel <rm0026@uah.edu>
+Chris Rebert <github@rebertia.com>
+Gabriel Schulhof <gabriel.schulhof@intel.com>
+Gilad Peleg <giladp007@gmail.com>
+Martin Naumann <martin@geekonaut.de>
+Marek Lewandowski <m.lewandowski@cksource.com>
+Bruno Pérel <brunoperel@gmail.com>
+Reed Loden <reed@reedloden.com>
+Daniel Nill <daniellnill@gmail.com>
+Yongwoo Jeon <yongwoo.jeon@navercorp.com>
+Sean Henderson <seanh.za@gmail.com>
+Richard Kraaijenhagen <stdin+git@riichard.com>
+Connor Atherton <c.liam.atherton@gmail.com>
+Gary Ye <garysye@gmail.com>
+Christian Grete <webmaster@christiangrete.com>
+Liza Ramo <liza.h.ramo@gmail.com>
+Julian Alexander Murillo <julian.alexander.murillo@gmail.com>
+Joelle Fleurantin <joasqueeniebee@gmail.com>
+Jae Sung Park <alberto.park@gmail.com>
+Jun Sun <klsforever@gmail.com>
+Josh Soref <apache@soref.com>
+Henry Wong <henryw4k@gmail.com>
+Jon Dufresne <jon.dufresne@gmail.com>
+Martijn W. van der Lee <martijn@vanderlee.com>
+Devin Wilson <dwilson6.github@gmail.com>
+Steve Mao <maochenyan@gmail.com>
+Zack Hall <zackhall@outlook.com>
+Bernhard M. Wiedemann <jquerybmw@lsmod.de>
+Todor Prikumov <tono_pr@abv.bg>
+Jha Naman <createnaman@gmail.com>
+William Robinet <william.robinet@conostix.com>
+Alexander Lisianoi <all3fox@gmail.com>
+Vitaliy Terziev <vitaliyterziev@gmail.com>
+Joe Trumbull <trumbull.j@gmail.com>
+Alexander K <xpyro@ya.ru>
+Damian Senn <jquery@topaxi.codes>
+Ralin Chimev <ralin.chimev@gmail.com>
+Felipe Sateler <fsateler@gmail.com>
+Christophe Tafani-Dereeper <christophetd@hotmail.fr>
+Manoj Kumar <nithmanoj@gmail.com>
+David Broder-Rodgers <broder93@gmail.com>
+Alex Louden <alex@louden.com>
+Alex Padilla <alexonezero@outlook.com>
+南漂一卒 <shiy007@qq.com>
+karan-96 <karanbatra96@gmail.com>
+Boom Lee <teabyii@gmail.com>
+Andreas Solleder <asol@num42.de>
+CDAGaming <cstack2011@yahoo.com>
+Pierre Spring <pierre@nelm.io>
+Shashanka Nataraj <shashankan.10@gmail.com>
+Erik Lax <erik@datahack.se>
+Matan Kotler-Berkowitz <205matan@gmail.com>
+Jordan Beland <jordan.beland@gmail.com>
+Henry Zhu <hi@henryzoo.com>
+Saptak Sengupta <saptak013@gmail.com>
+Nilton Cesar <niltoncms@gmail.com>
+basil.belokon <basil.belokon@gmail.com>
diff --git a/public/bower_components/jquery/LICENSE.txt b/public/bower_components/jquery/LICENSE.txt
new file mode 100644
index 0000000..e4e5e00
--- /dev/null
+++ b/public/bower_components/jquery/LICENSE.txt
@@ -0,0 +1,36 @@
+Copyright JS Foundation and other contributors, https://js.foundation/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/jquery
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
diff --git a/public/bower_components/jquery/README.md b/public/bower_components/jquery/README.md
new file mode 100644
index 0000000..83e7b93
--- /dev/null
+++ b/public/bower_components/jquery/README.md
@@ -0,0 +1,67 @@
+# jQuery
+
+> jQuery is a fast, small, and feature-rich JavaScript library.
+
+For information on how to get started and how to use jQuery, please see [jQuery's documentation](http://api.jquery.com/).
+For source files and issues, please visit the [jQuery repo](https://github.com/jquery/jquery).
+
+If upgrading, please see the [blog post for 3.3.1](https://blog.jquery.com/2017/03/20/jquery-3.3.1-now-available/). This includes notable differences from the previous version and a more readable changelog.
+
+## Including jQuery
+
+Below are some of the most common ways to include jQuery.
+
+### Browser
+
+#### Script tag
+
+```html
+<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
+```
+
+#### Babel
+
+[Babel](http://babeljs.io/) is a next generation JavaScript compiler. One of the features is the ability to use ES6/ES2015 modules now, even though browsers do not yet support this feature natively.
+
+```js
+import $ from "jquery";
+```
+
+#### Browserify/Webpack
+
+There are several ways to use [Browserify](http://browserify.org/) and [Webpack](https://webpack.github.io/). For more information on using these tools, please refer to the corresponding project's documention. In the script, including jQuery will usually look like this...
+
+```js
+var $ = require("jquery");
+```
+
+#### AMD (Asynchronous Module Definition)
+
+AMD is a module format built for the browser. For more information, we recommend [require.js' documentation](http://requirejs.org/docs/whyamd.html).
+
+```js
+define(["jquery"], function($) {
+
+});
+```
+
+### Node
+
+To include jQuery in [Node](nodejs.org), first install with npm.
+
+```sh
+npm install jquery
+```
+
+For jQuery to work in Node, a window with a document is required. Since no such window exists natively in Node, one can be mocked by tools such as [jsdom](https://github.com/tmpvar/jsdom). This can be useful for testing purposes.
+
+```js
+require("jsdom").env("", function(err, window) {
+	if (err) {
+		console.error(err);
+		return;
+	}
+
+	var $ = require("jquery")(window);
+});
+```
diff --git a/public/bower_components/jquery/bower.json b/public/bower_components/jquery/bower.json
new file mode 100644
index 0000000..95798d5
--- /dev/null
+++ b/public/bower_components/jquery/bower.json
@@ -0,0 +1,14 @@
+{
+  "name": "jquery",
+  "main": "dist/jquery.js",
+  "license": "MIT",
+  "ignore": [
+    "package.json"
+  ],
+  "keywords": [
+    "jquery",
+    "javascript",
+    "browser",
+    "library"
+  ]
+}
\ No newline at end of file
diff --git a/public/bower_components/jquery/dist/core.js b/public/bower_components/jquery/dist/core.js
new file mode 100644
index 0000000..3a1c0cc
--- /dev/null
+++ b/public/bower_components/jquery/dist/core.js
@@ -0,0 +1,399 @@
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+define( [
+	"./var/arr",
+	"./var/document",
+	"./var/getProto",
+	"./var/slice",
+	"./var/concat",
+	"./var/push",
+	"./var/indexOf",
+	"./var/class2type",
+	"./var/toString",
+	"./var/hasOwn",
+	"./var/fnToString",
+	"./var/ObjectFunctionString",
+	"./var/support",
+	"./var/isFunction",
+	"./var/isWindow",
+	"./core/DOMEval",
+	"./core/toType"
+], function( arr, document, getProto, slice, concat, push, indexOf,
+	class2type, toString, hasOwn, fnToString, ObjectFunctionString,
+	support, isFunction, isWindow, DOMEval, toType ) {
+
+"use strict";
+
+var
+	version = "3.3.1",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	each: function( callback ) {
+		return jQuery.each( this, callback );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		} ) );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ) );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	eq: function( i ) {
+		var len = this.length,
+			j = +i + ( i < 0 ? len : 0 );
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: arr.sort,
+	splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[ 0 ] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = toType( obj );
+
+	if ( isFunction( obj ) || isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/dist/jquery.js b/public/bower_components/jquery/dist/jquery.js
new file mode 100644
index 0000000..9b5206b
--- /dev/null
+++ b/public/bower_components/jquery/dist/jquery.js
@@ -0,0 +1,10364 @@
+/*!
+ * jQuery JavaScript Library v3.3.1
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2018-01-20T17:24Z
+ */
+( function( global, factory ) {
+
+	"use strict";
+
+	if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+		// For CommonJS and CommonJS-like environments where a proper `window`
+		// is present, execute the factory and get jQuery.
+		// For environments that do not have a `window` with a `document`
+		// (such as Node.js), expose a factory as module.exports.
+		// This accentuates the need for the creation of a real `window`.
+		// e.g. var jQuery = require("jquery")(window);
+		// See ticket #14549 for more info.
+		module.exports = global.document ?
+			factory( global, true ) :
+			function( w ) {
+				if ( !w.document ) {
+					throw new Error( "jQuery requires a window with a document" );
+				}
+				return factory( w );
+			};
+	} else {
+		factory( global );
+	}
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+      // Support: Chrome <=57, Firefox <=52
+      // In some browsers, typeof returns "function" for HTML <object> elements
+      // (i.e., `typeof document.createElement( "object" ) === "function"`).
+      // We don't want to classify *any* DOM node as a function.
+      return typeof obj === "function" && typeof obj.nodeType !== "number";
+  };
+
+
+var isWindow = function isWindow( obj ) {
+		return obj != null && obj === obj.window;
+	};
+
+
+
+
+	var preservedScriptAttributes = {
+		type: true,
+		src: true,
+		noModule: true
+	};
+
+	function DOMEval( code, doc, node ) {
+		doc = doc || document;
+
+		var i,
+			script = doc.createElement( "script" );
+
+		script.text = code;
+		if ( node ) {
+			for ( i in preservedScriptAttributes ) {
+				if ( node[ i ] ) {
+					script[ i ] = node[ i ];
+				}
+			}
+		}
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+
+
+function toType( obj ) {
+	if ( obj == null ) {
+		return obj + "";
+	}
+
+	// Support: Android <=2.3 only (functionish RegExp)
+	return typeof obj === "object" || typeof obj === "function" ?
+		class2type[ toString.call( obj ) ] || "object" :
+		typeof obj;
+}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+	version = "3.3.1",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	each: function( callback ) {
+		return jQuery.each( this, callback );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		} ) );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ) );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	eq: function( i ) {
+		var len = this.length,
+			j = +i + ( i < 0 ? len : 0 );
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: arr.sort,
+	splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[ 0 ] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = toType( obj );
+
+	if ( isFunction( obj ) || isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+(function( window ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; i < len; i++ ) {
+			if ( list[i] === elem ) {
+				return i;
+			}
+		}
+		return -1;
+	},
+
+	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	rwhitespace = new RegExp( whitespace + "+", "g" ),
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+	rpseudo = new RegExp( pseudos ),
+	ridentifier = new RegExp( "^" + identifier + "$" ),
+
+	matchExpr = {
+		"ID": new RegExp( "^#(" + identifier + ")" ),
+		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
+		"ATTR": new RegExp( "^" + attributes ),
+		"PSEUDO": new RegExp( "^" + pseudos ),
+		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+	},
+
+	rinputs = /^(?:input|select|textarea|button)$/i,
+	rheader = /^h\d$/i,
+
+	rnative = /^[^{]+\{\s*\[native \w/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true && ("form" in elem || "label" in elem);
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Only certain elements can match :enabled or :disabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+		if ( "form" in elem ) {
+
+			// Check for inherited disabledness on relevant non-disabled elements:
+			// * listed form-associated elements in a disabled fieldset
+			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+			// * option elements in a disabled optgroup
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+			// All such elements have a "form" property.
+			if ( elem.parentNode && elem.disabled === false ) {
+
+				// Option elements defer to a parent optgroup if present
+				if ( "label" in elem ) {
+					if ( "label" in elem.parentNode ) {
+						return elem.parentNode.disabled === disabled;
+					} else {
+						return elem.disabled === disabled;
+					}
+				}
+
+				// Support: IE 6 - 11
+				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
+				return elem.isDisabled === disabled ||
+
+					// Where there is no isDisabled, check manually
+					/* jshint -W018 */
+					elem.isDisabled !== !disabled &&
+						disabledAncestor( elem ) === disabled;
+			}
+
+			return elem.disabled === disabled;
+
+		// Try to winnow out elements that can't be disabled before trusting the disabled property.
+		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+		// even exist on them, let alone have a boolean value.
+		} else if ( "label" in elem ) {
+			return elem.disabled === disabled;
+		}
+
+		// Remaining elements are neither :enabled nor :disabled
+		return false;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID filter and find
+	if ( support.getById ) {
+		Expr.filter["ID"] = function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				return elem.getAttribute("id") === attrId;
+			};
+		};
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var elem = context.getElementById( id );
+				return elem ? [ elem ] : [];
+			}
+		};
+	} else {
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+
+		// Support: IE 6 - 7 only
+		// getElementById is not reliable as a find shortcut
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var node, i, elems,
+					elem = context.getElementById( id );
+
+				if ( elem ) {
+
+					// Verify the id attribute
+					node = elem.getAttributeNode("id");
+					if ( node && node.value === id ) {
+						return [ elem ];
+					}
+
+					// Fall back on getElementsByName
+					elems = context.getElementsByName( id );
+					i = 0;
+					while ( (elem = elems[i++]) ) {
+						node = elem.getAttributeNode("id");
+						if ( node && node.value === id ) {
+							return [ elem ];
+						}
+					}
+				}
+
+				return [];
+			}
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		val :
+		support.attributes || !documentIsHTML ?
+			elem.getAttribute( name ) :
+			(val = elem.getAttributeNode(name)) && val.specified ?
+				val.value :
+				null;
+};
+
+Sizzle.escape = function( sel ) {
+	return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				function( elem ) {
+					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+				};
+		},
+
+		"CLASS": function( className ) {
+			var pattern = classCache[ className + " " ];
+
+			return pattern ||
+				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+				classCache( className, function( elem ) {
+					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					operator === "*=" ? check && result.indexOf( check ) > -1 :
+					operator === "$=" ? check && result.slice( -check.length ) === check :
+					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				function( elem ) {
+					return !!elem.parentNode;
+				} :
+
+				function( elem, context, xml ) {
+					var cache, uniqueCache, outerCache, node, nodeIndex, start,
+						dir = simple !== forward ? "nextSibling" : "previousSibling",
+						parent = elem.parentNode,
+						name = ofType && elem.nodeName.toLowerCase(),
+						useCache = !xml && !ofType,
+						diff = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							uniqueCache = outerCache[ node.uniqueID ] ||
+								(outerCache[ node.uniqueID ] = {});
+
+							cache = uniqueCache[ type ] || [];
+							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+							diff = nodeIndex && cache[ 2 ];
+							node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"target": function( elem ) {
+			var hash = window.location && window.location.hash;
+			return hash && hash.slice( 1 ) === elem.id;
+		},
+
+		"root": function( elem ) {
+			return elem === docElem;
+		},
+
+		"focus": function( elem ) {
+			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"header": function( elem ) {
+			return rheader.test( elem.nodeName );
+		},
+
+		"input": function( elem ) {
+			return rinputs.test( elem.nodeName );
+		},
+
+		"button": function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"first": createPositionalPseudo(function() {
+			return [ 0 ];
+		}),
+
+		"last": createPositionalPseudo(function( matchIndexes, length ) {
+			return [ length - 1 ];
+		}),
+
+		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ argument < 0 ? argument + length : argument ];
+		}),
+
+		"even": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+	var matched, match, tokens, type,
+		soFar, groups, preFilters,
+		cached = tokenCache[ selector + " " ];
+
+	if ( cached ) {
+		return parseOnly ? 0 : cached.slice( 0 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+				(match = preFilters[ type ]( match ))) ) {
+				matched = match.shift();
+				tokens.push({
+					value: matched,
+					type: type,
+					matches: match
+				});
+				soFar = soFar.slice( matched.length );
+			}
+		}
+
+		if ( !matched ) {
+			break;
+		}
+	}
+
+	// Return the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; i < len; i++ ) {
+		selector += tokens[i].value;
+	}
+	return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+	var dir = combinator.dir,
+		skip = combinator.next,
+		key = skip || dir,
+		checkNonElements = base && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+			return false;
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+			return false;
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+					).replace( rtrim, "$1" ),
+					matcher,
+					i < j && matcherFromTokens( tokens.slice( i, j ) ),
+					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && toSelector( tokens )
+				);
+			}
+			matchers.push( matcher );
+		}
+	}
+
+	return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+	var bySet = setMatchers.length > 0,
+		byElement = elementMatchers.length > 0,
+		superMatcher = function( seed, context, xml, results, outermost ) {
+			var elem, j, matcher,
+				matchedCount = 0,
+				i = "0",
+				unmatched = seed && [],
+				setMatched = [],
+				contextBackup = outermostContext,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+
+var siblings = function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+	}
+
+	// Single element
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+	}
+
+	// Arraylike of elements (jQuery, arguments, Array)
+	if ( typeof qualifier !== "string" ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+		} );
+	}
+
+	// Filtered directly for both simple and complex selectors
+	return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	if ( elems.length === 1 && elem.nodeType === 1 ) {
+		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+	}
+
+	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+		return elem.nodeType === 1;
+	} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( i = 0; i < len; i++ ) {
+			jQuery.find( selector, self[ i ], ret );
+		}
+
+		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+	},
+	filter: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend( {
+	has: function( target ) {
+		var targets = jQuery( target, this ),
+			l = targets.length;
+
+		return this.filter( function() {
+			var i = 0;
+			for ( ; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[ i ] ) ) {
+					return true;
+				}
+			}
+		} );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			matched = [],
+			targets = typeof selectors !== "string" && jQuery( selectors );
+
+		// Positional selectors never match, since there's no _selection_ context
+		if ( !rneedsContext.test( selectors ) ) {
+			for ( ; i < l; i++ ) {
+				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+					// Always skip document fragments
+					if ( cur.nodeType < 11 && ( targets ?
+						targets.index( cur ) > -1 :
+
+						// Don't pass non-elements to Sizzle
+						cur.nodeType === 1 &&
+							jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+						matched.push( cur );
+						break;
+					}
+				}
+			}
+		}
+
+		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+	},
+
+	// Determine the position of an element within the set
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+		}
+
+		// Index in selector
+		if ( typeof elem === "string" ) {
+			return indexOf.call( jQuery( elem ), this[ 0 ] );
+		}
+
+		// Locate the position of the desired element
+		return indexOf.call( this,
+
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[ 0 ] : elem
+		);
+	},
+
+	add: function( selector, context ) {
+		return this.pushStack(
+			jQuery.uniqueSort(
+				jQuery.merge( this.get(), jQuery( selector, context ) )
+			)
+		);
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter( selector )
+		);
+	}
+} );
+
+function sibling( cur, dir ) {
+	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+	return cur;
+}
+
+jQuery.each( {
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? parent : null;
+	},
+	parents: function( elem ) {
+		return dir( elem, "parentNode" );
+	},
+	parentsUntil: function( elem, i, until ) {
+		return dir( elem, "parentNode", until );
+	},
+	next: function( elem ) {
+		return sibling( elem, "nextSibling" );
+	},
+	prev: function( elem ) {
+		return sibling( elem, "previousSibling" );
+	},
+	nextAll: function( elem ) {
+		return dir( elem, "nextSibling" );
+	},
+	prevAll: function( elem ) {
+		return dir( elem, "previousSibling" );
+	},
+	nextUntil: function( elem, i, until ) {
+		return dir( elem, "nextSibling", until );
+	},
+	prevUntil: function( elem, i, until ) {
+		return dir( elem, "previousSibling", until );
+	},
+	siblings: function( elem ) {
+		return siblings( ( elem.parentNode || {} ).firstChild, elem );
+	},
+	children: function( elem ) {
+		return siblings( elem.firstChild );
+	},
+	contents: function( elem ) {
+        if ( nodeName( elem, "iframe" ) ) {
+            return elem.contentDocument;
+        }
+
+        // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+        // Treat the template element as a regular one in browsers that
+        // don't support it.
+        if ( nodeName( elem, "template" ) ) {
+            elem = elem.content || elem;
+        }
+
+        return jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var matched = jQuery.map( this, fn, until );
+
+		if ( name.slice( -5 ) !== "Until" ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			matched = jQuery.filter( selector, matched );
+		}
+
+		if ( this.length > 1 ) {
+
+			// Remove duplicates
+			if ( !guaranteedUnique[ name ] ) {
+				jQuery.uniqueSort( matched );
+			}
+
+			// Reverse order for parents* and prev-derivatives
+			if ( rparentsprev.test( name ) ) {
+				matched.reverse();
+			}
+		}
+
+		return this.pushStack( matched );
+	};
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+	var object = {};
+	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+		object[ flag ] = true;
+	} );
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		createOptions( options ) :
+		jQuery.extend( {}, options );
+
+	var // Flag to know if list is currently firing
+		firing,
+
+		// Last fire value for non-forgettable lists
+		memory,
+
+		// Flag to know if list was already fired
+		fired,
+
+		// Flag to prevent firing
+		locked,
+
+		// Actual callback list
+		list = [],
+
+		// Queue of execution data for repeatable lists
+		queue = [],
+
+		// Index of currently firing callback (modified by add/remove as needed)
+		firingIndex = -1,
+
+		// Fire callbacks
+		fire = function() {
+
+			// Enforce single-firing
+			locked = locked || options.once;
+
+			// Execute callbacks for all pending executions,
+			// respecting firingIndex overrides and runtime changes
+			fired = firing = true;
+			for ( ; queue.length; firingIndex = -1 ) {
+				memory = queue.shift();
+				while ( ++firingIndex < list.length ) {
+
+					// Run callback and check for early termination
+					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+						options.stopOnFalse ) {
+
+						// Jump to end and forget the data so .add doesn't re-fire
+						firingIndex = list.length;
+						memory = false;
+					}
+				}
+			}
+
+			// Forget the data if we're done with it
+			if ( !options.memory ) {
+				memory = false;
+			}
+
+			firing = false;
+
+			// Clean up if we're done firing for good
+			if ( locked ) {
+
+				// Keep an empty list if we have data for future add calls
+				if ( memory ) {
+					list = [];
+
+				// Otherwise, this object is spent
+				} else {
+					list = "";
+				}
+			}
+		},
+
+		// Actual Callbacks object
+		self = {
+
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+
+					// If we have memory from a past run, we should fire after adding
+					if ( memory && !firing ) {
+						firingIndex = list.length - 1;
+						queue.push( memory );
+					}
+
+					( function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							if ( isFunction( arg ) ) {
+								if ( !options.unique || !self.has( arg ) ) {
+									list.push( arg );
+								}
+							} else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+								// Inspect recursively
+								add( arg );
+							}
+						} );
+					} )( arguments );
+
+					if ( memory && !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Remove a callback from the list
+			remove: function() {
+				jQuery.each( arguments, function( _, arg ) {
+					var index;
+					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+						list.splice( index, 1 );
+
+						// Handle firing indexes
+						if ( index <= firingIndex ) {
+							firingIndex--;
+						}
+					}
+				} );
+				return this;
+			},
+
+			// Check if a given callback is in the list.
+			// If no argument is given, return whether or not list has callbacks attached.
+			has: function( fn ) {
+				return fn ?
+					jQuery.inArray( fn, list ) > -1 :
+					list.length > 0;
+			},
+
+			// Remove all callbacks from the list
+			empty: function() {
+				if ( list ) {
+					list = [];
+				}
+				return this;
+			},
+
+			// Disable .fire and .add
+			// Abort any current/pending executions
+			// Clear all callbacks and values
+			disable: function() {
+				locked = queue = [];
+				list = memory = "";
+				return this;
+			},
+			disabled: function() {
+				return !list;
+			},
+
+			// Disable .fire
+			// Also disable .add unless we have memory (since it would have no effect)
+			// Abort any pending executions
+			lock: function() {
+				locked = queue = [];
+				if ( !memory && !firing ) {
+					list = memory = "";
+				}
+				return this;
+			},
+			locked: function() {
+				return !!locked;
+			},
+
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( !locked ) {
+					args = args || [];
+					args = [ context, args.slice ? args.slice() : args ];
+					queue.push( args );
+					if ( !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+
+
+function Identity( v ) {
+	return v;
+}
+function Thrower( ex ) {
+	throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+	var method;
+
+	try {
+
+		// Check for promise aspect first to privilege synchronous behavior
+		if ( value && isFunction( ( method = value.promise ) ) ) {
+			method.call( value ).done( resolve ).fail( reject );
+
+		// Other thenables
+		} else if ( value && isFunction( ( method = value.then ) ) ) {
+			method.call( value, resolve, reject );
+
+		// Other non-thenables
+		} else {
+
+			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+			// * false: [ value ].slice( 0 ) => resolve( value )
+			// * true: [ value ].slice( 1 ) => resolve()
+			resolve.apply( undefined, [ value ].slice( noValue ) );
+		}
+
+	// For Promises/A+, convert exceptions into rejections
+	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+	// Deferred#then to conditionally suppress rejection.
+	} catch ( value ) {
+
+		// Support: Android 4.0 only
+		// Strict mode functions invoked without .call/.apply get global-object context
+		reject.apply( undefined, [ value ] );
+	}
+}
+
+jQuery.extend( {
+
+	Deferred: function( func ) {
+		var tuples = [
+
+				// action, add listener, callbacks,
+				// ... .then handlers, argument index, [final state]
+				[ "notify", "progress", jQuery.Callbacks( "memory" ),
+					jQuery.Callbacks( "memory" ), 2 ],
+				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+			],
+			state = "pending",
+			promise = {
+				state: function() {
+					return state;
+				},
+				always: function() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				"catch": function( fn ) {
+					return promise.then( null, fn );
+				},
+
+				// Keep pipe for back-compat
+				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+
+					return jQuery.Deferred( function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+
+							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
+							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+							// deferred.progress(function() { bind to newDefer or newDefer.notify })
+							// deferred.done(function() { bind to newDefer or newDefer.resolve })
+							// deferred.fail(function() { bind to newDefer or newDefer.reject })
+							deferred[ tuple[ 1 ] ]( function() {
+								var returned = fn && fn.apply( this, arguments );
+								if ( returned && isFunction( returned.promise ) ) {
+									returned.promise()
+										.progress( newDefer.notify )
+										.done( newDefer.resolve )
+										.fail( newDefer.reject );
+								} else {
+									newDefer[ tuple[ 0 ] + "With" ](
+										this,
+										fn ? [ returned ] : arguments
+									);
+								}
+							} );
+						} );
+						fns = null;
+					} ).promise();
+				},
+				then: function( onFulfilled, onRejected, onProgress ) {
+					var maxDepth = 0;
+					function resolve( depth, deferred, handler, special ) {
+						return function() {
+							var that = this,
+								args = arguments,
+								mightThrow = function() {
+									var returned, then;
+
+									// Support: Promises/A+ section 2.3.3.3.3
+									// https://promisesaplus.com/#point-59
+									// Ignore double-resolution attempts
+									if ( depth < maxDepth ) {
+										return;
+									}
+
+									returned = handler.apply( that, args );
+
+									// Support: Promises/A+ section 2.3.1
+									// https://promisesaplus.com/#point-48
+									if ( returned === deferred.promise() ) {
+										throw new TypeError( "Thenable self-resolution" );
+									}
+
+									// Support: Promises/A+ sections 2.3.3.1, 3.5
+									// https://promisesaplus.com/#point-54
+									// https://promisesaplus.com/#point-75
+									// Retrieve `then` only once
+									then = returned &&
+
+										// Support: Promises/A+ section 2.3.4
+										// https://promisesaplus.com/#point-64
+										// Only check objects and functions for thenability
+										( typeof returned === "object" ||
+											typeof returned === "function" ) &&
+										returned.then;
+
+									// Handle a returned thenable
+									if ( isFunction( then ) ) {
+
+										// Special processors (notify) just wait for resolution
+										if ( special ) {
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special )
+											);
+
+										// Normal processors (resolve) also hook into progress
+										} else {
+
+											// ...and disregard older resolution values
+											maxDepth++;
+
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special ),
+												resolve( maxDepth, deferred, Identity,
+													deferred.notifyWith )
+											);
+										}
+
+									// Handle all other returned values
+									} else {
+
+										// Only substitute handlers pass on context
+										// and multiple values (non-spec behavior)
+										if ( handler !== Identity ) {
+											that = undefined;
+											args = [ returned ];
+										}
+
+										// Process the value(s)
+										// Default process is resolve
+										( special || deferred.resolveWith )( that, args );
+									}
+								},
+
+								// Only normal processors (resolve) catch and reject exceptions
+								process = special ?
+									mightThrow :
+									function() {
+										try {
+											mightThrow();
+										} catch ( e ) {
+
+											if ( jQuery.Deferred.exceptionHook ) {
+												jQuery.Deferred.exceptionHook( e,
+													process.stackTrace );
+											}
+
+											// Support: Promises/A+ section 2.3.3.3.4.1
+											// https://promisesaplus.com/#point-61
+											// Ignore post-resolution exceptions
+											if ( depth + 1 >= maxDepth ) {
+
+												// Only substitute handlers pass on context
+												// and multiple values (non-spec behavior)
+												if ( handler !== Thrower ) {
+													that = undefined;
+													args = [ e ];
+												}
+
+												deferred.rejectWith( that, args );
+											}
+										}
+									};
+
+							// Support: Promises/A+ section 2.3.3.3.1
+							// https://promisesaplus.com/#point-57
+							// Re-resolve promises immediately to dodge false rejection from
+							// subsequent errors
+							if ( depth ) {
+								process();
+							} else {
+
+								// Call an optional hook to record the stack, in case of exception
+								// since it's otherwise lost when execution goes async
+								if ( jQuery.Deferred.getStackHook ) {
+									process.stackTrace = jQuery.Deferred.getStackHook();
+								}
+								window.setTimeout( process );
+							}
+						};
+					}
+
+					return jQuery.Deferred( function( newDefer ) {
+
+						// progress_handlers.add( ... )
+						tuples[ 0 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onProgress ) ?
+									onProgress :
+									Identity,
+								newDefer.notifyWith
+							)
+						);
+
+						// fulfilled_handlers.add( ... )
+						tuples[ 1 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onFulfilled ) ?
+									onFulfilled :
+									Identity
+							)
+						);
+
+						// rejected_handlers.add( ... )
+						tuples[ 2 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onRejected ) ?
+									onRejected :
+									Thrower
+							)
+						);
+					} ).promise();
+				},
+
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 5 ];
+
+			// promise.progress = list.add
+			// promise.done = list.add
+			// promise.fail = list.add
+			promise[ tuple[ 1 ] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(
+					function() {
+
+						// state = "resolved" (i.e., fulfilled)
+						// state = "rejected"
+						state = stateString;
+					},
+
+					// rejected_callbacks.disable
+					// fulfilled_callbacks.disable
+					tuples[ 3 - i ][ 2 ].disable,
+
+					// rejected_handlers.disable
+					// fulfilled_handlers.disable
+					tuples[ 3 - i ][ 3 ].disable,
+
+					// progress_callbacks.lock
+					tuples[ 0 ][ 2 ].lock,
+
+					// progress_handlers.lock
+					tuples[ 0 ][ 3 ].lock
+				);
+			}
+
+			// progress_handlers.fire
+			// fulfilled_handlers.fire
+			// rejected_handlers.fire
+			list.add( tuple[ 3 ].fire );
+
+			// deferred.notify = function() { deferred.notifyWith(...) }
+			// deferred.resolve = function() { deferred.resolveWith(...) }
+			// deferred.reject = function() { deferred.rejectWith(...) }
+			deferred[ tuple[ 0 ] ] = function() {
+				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+				return this;
+			};
+
+			// deferred.notifyWith = list.fireWith
+			// deferred.resolveWith = list.fireWith
+			// deferred.rejectWith = list.fireWith
+			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+		} );
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( singleValue ) {
+		var
+
+			// count of uncompleted subordinates
+			remaining = arguments.length,
+
+			// count of unprocessed arguments
+			i = remaining,
+
+			// subordinate fulfillment data
+			resolveContexts = Array( i ),
+			resolveValues = slice.call( arguments ),
+
+			// the master Deferred
+			master = jQuery.Deferred(),
+
+			// subordinate callback factory
+			updateFunc = function( i ) {
+				return function( value ) {
+					resolveContexts[ i ] = this;
+					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+					if ( !( --remaining ) ) {
+						master.resolveWith( resolveContexts, resolveValues );
+					}
+				};
+			};
+
+		// Single- and empty arguments are adopted like Promise.resolve
+		if ( remaining <= 1 ) {
+			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+				!remaining );
+
+			// Use .then() to unwrap secondary thenables (cf. gh-3000)
+			if ( master.state() === "pending" ||
+				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+				return master.then();
+			}
+		}
+
+		// Multiple arguments are aggregated like Promise.all array elements
+		while ( i-- ) {
+			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+		}
+
+		return master.promise();
+	}
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+	// Support: IE 8 - 9 only
+	// Console exists when dev tools are open, which can happen at any time
+	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+		window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+	}
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+	window.setTimeout( function() {
+		throw error;
+	} );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+	readyList
+		.then( fn )
+
+		// Wrap jQuery.readyException in a function so that the lookup
+		// happens at the time of error handling instead of callback
+		// registration.
+		.catch( function( error ) {
+			jQuery.readyException( error );
+		} );
+
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+	}
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+	var i = 0,
+		len = elems.length,
+		bulk = key == null;
+
+	// Sets many values
+	if ( toType( key ) === "object" ) {
+		chainable = true;
+		for ( i in key ) {
+			access( elems, fn, i, key[ i ], true, emptyGet, raw );
+		}
+
+	// Sets one value
+	} else if ( value !== undefined ) {
+		chainable = true;
+
+		if ( !isFunction( value ) ) {
+			raw = true;
+		}
+
+		if ( bulk ) {
+
+			// Bulk operations run against the entire set
+			if ( raw ) {
+				fn.call( elems, value );
+				fn = null;
+
+			// ...except when executing function values
+			} else {
+				bulk = fn;
+				fn = function( elem, key, value ) {
+					return bulk.call( jQuery( elem ), value );
+				};
+			}
+		}
+
+		if ( fn ) {
+			for ( ; i < len; i++ ) {
+				fn(
+					elems[ i ], key, raw ?
+					value :
+					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+				);
+			}
+		}
+	}
+
+	if ( chainable ) {
+		return elems;
+	}
+
+	// Gets
+	if ( bulk ) {
+		return fn.call( elems );
+	}
+
+	return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( all, letter ) {
+	return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+var acceptData = function( owner ) {
+
+	// Accepts only:
+	//  - Node
+	//    - Node.ELEMENT_NODE
+	//    - Node.DOCUMENT_NODE
+	//  - Object
+	//    - Any
+	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+	this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+	cache: function( owner ) {
+
+		// Check if the owner object already has a cache
+		var value = owner[ this.expando ];
+
+		// If not, create one
+		if ( !value ) {
+			value = {};
+
+			// We can accept data for non-element nodes in modern browsers,
+			// but we should not, see #8335.
+			// Always return an empty object.
+			if ( acceptData( owner ) ) {
+
+				// If it is a node unlikely to be stringify-ed or looped over
+				// use plain assignment
+				if ( owner.nodeType ) {
+					owner[ this.expando ] = value;
+
+				// Otherwise secure it in a non-enumerable property
+				// configurable must be true to allow the property to be
+				// deleted when data is removed
+				} else {
+					Object.defineProperty( owner, this.expando, {
+						value: value,
+						configurable: true
+					} );
+				}
+			}
+		}
+
+		return value;
+	},
+	set: function( owner, data, value ) {
+		var prop,
+			cache = this.cache( owner );
+
+		// Handle: [ owner, key, value ] args
+		// Always use camelCase key (gh-2257)
+		if ( typeof data === "string" ) {
+			cache[ camelCase( data ) ] = value;
+
+		// Handle: [ owner, { properties } ] args
+		} else {
+
+			// Copy the properties one-by-one to the cache object
+			for ( prop in data ) {
+				cache[ camelCase( prop ) ] = data[ prop ];
+			}
+		}
+		return cache;
+	},
+	get: function( owner, key ) {
+		return key === undefined ?
+			this.cache( owner ) :
+
+			// Always use camelCase key (gh-2257)
+			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+	},
+	access: function( owner, key, value ) {
+
+		// In cases where either:
+		//
+		//   1. No key was specified
+		//   2. A string key was specified, but no value provided
+		//
+		// Take the "read" path and allow the get method to determine
+		// which value to return, respectively either:
+		//
+		//   1. The entire cache object
+		//   2. The data stored at the key
+		//
+		if ( key === undefined ||
+				( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+			return this.get( owner, key );
+		}
+
+		// When the key is not a string, or both a key and value
+		// are specified, set or extend (existing objects) with either:
+		//
+		//   1. An object of properties
+		//   2. A key and value
+		//
+		this.set( owner, key, value );
+
+		// Since the "set" path can have two possible entry points
+		// return the expected data based on which path was taken[*]
+		return value !== undefined ? value : key;
+	},
+	remove: function( owner, key ) {
+		var i,
+			cache = owner[ this.expando ];
+
+		if ( cache === undefined ) {
+			return;
+		}
+
+		if ( key !== undefined ) {
+
+			// Support array or space separated string of keys
+			if ( Array.isArray( key ) ) {
+
+				// If key is an array of keys...
+				// We always set camelCase keys, so remove that.
+				key = key.map( camelCase );
+			} else {
+				key = camelCase( key );
+
+				// If a key with the spaces exists, use it.
+				// Otherwise, create an array by matching non-whitespace
+				key = key in cache ?
+					[ key ] :
+					( key.match( rnothtmlwhite ) || [] );
+			}
+
+			i = key.length;
+
+			while ( i-- ) {
+				delete cache[ key[ i ] ];
+			}
+		}
+
+		// Remove the expando if there's no more data
+		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+			// Support: Chrome <=35 - 45
+			// Webkit & Blink performance suffers when deleting properties
+			// from DOM nodes, so set to undefined instead
+			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+			if ( owner.nodeType ) {
+				owner[ this.expando ] = undefined;
+			} else {
+				delete owner[ this.expando ];
+			}
+		}
+	},
+	hasData: function( owner ) {
+		var cache = owner[ this.expando ];
+		return cache !== undefined && !jQuery.isEmptyObject( cache );
+	}
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+//	Implementation Summary
+//
+//	1. Enforce API surface and semantic compatibility with 1.9.x branch
+//	2. Improve the module's maintainability by reducing the storage
+//		paths to a single mechanism.
+//	3. Use the same single mechanism to support "private" and "user" data.
+//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+//	5. Avoid exposing implementation details on user objects (eg. expando properties)
+//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+	rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+	if ( data === "true" ) {
+		return true;
+	}
+
+	if ( data === "false" ) {
+		return false;
+	}
+
+	if ( data === "null" ) {
+		return null;
+	}
+
+	// Only convert to a number if it doesn't change the string
+	if ( data === +data + "" ) {
+		return +data;
+	}
+
+	if ( rbrace.test( data ) ) {
+		return JSON.parse( data );
+	}
+
+	return data;
+}
+
+function dataAttr( elem, key, data ) {
+	var name;
+
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = getData( data );
+			} catch ( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			dataUser.set( elem, key, data );
+		} else {
+			data = undefined;
+		}
+	}
+	return data;
+}
+
+jQuery.extend( {
+	hasData: function( elem ) {
+		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+	},
+
+	data: function( elem, name, data ) {
+		return dataUser.access( elem, name, data );
+	},
+
+	removeData: function( elem, name ) {
+		dataUser.remove( elem, name );
+	},
+
+	// TODO: Now that all calls to _data and _removeData have been replaced
+	// with direct calls to dataPriv methods, these can be deprecated.
+	_data: function( elem, name, data ) {
+		return dataPriv.access( elem, name, data );
+	},
+
+	_removeData: function( elem, name ) {
+		dataPriv.remove( elem, name );
+	}
+} );
+
+jQuery.fn.extend( {
+	data: function( key, value ) {
+		var i, name, data,
+			elem = this[ 0 ],
+			attrs = elem && elem.attributes;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = dataUser.get( elem );
+
+				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+					i = attrs.length;
+					while ( i-- ) {
+
+						// Support: IE 11 only
+						// The attrs elements can be null (#14894)
+						if ( attrs[ i ] ) {
+							name = attrs[ i ].name;
+							if ( name.indexOf( "data-" ) === 0 ) {
+								name = camelCase( name.slice( 5 ) );
+								dataAttr( elem, name, data[ name ] );
+							}
+						}
+					}
+					dataPriv.set( elem, "hasDataAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each( function() {
+				dataUser.set( this, key );
+			} );
+		}
+
+		return access( this, function( value ) {
+			var data;
+
+			// The calling jQuery object (element matches) is not empty
+			// (and therefore has an element appears at this[ 0 ]) and the
+			// `value` parameter was not undefined. An empty jQuery object
+			// will result in `undefined` for elem = this[ 0 ] which will
+			// throw an exception if an attempt to read a data cache is made.
+			if ( elem && value === undefined ) {
+
+				// Attempt to get data from the cache
+				// The key will always be camelCased in Data
+				data = dataUser.get( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// Attempt to "discover" the data in
+				// HTML5 custom data-* attrs
+				data = dataAttr( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// We tried really hard, but the data doesn't exist.
+				return;
+			}
+
+			// Set the data...
+			this.each( function() {
+
+				// We always store the camelCased key
+				dataUser.set( this, key, value );
+			} );
+		}, null, value, arguments.length > 1, null, true );
+	},
+
+	removeData: function( key ) {
+		return this.each( function() {
+			dataUser.remove( this, key );
+		} );
+	}
+} );
+
+
+jQuery.extend( {
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = dataPriv.get( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || Array.isArray( data ) ) {
+					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return queue || [];
+		}
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			startLength = queue.length,
+			fn = queue.shift(),
+			hooks = jQuery._queueHooks( elem, type ),
+			next = function() {
+				jQuery.dequeue( elem, type );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// Clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// Not public - generate a queueHooks object, or return the current one
+	_queueHooks: function( elem, type ) {
+		var key = type + "queueHooks";
+		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+			empty: jQuery.Callbacks( "once memory" ).add( function() {
+				dataPriv.remove( elem, [ type + "queue", key ] );
+			} )
+		} );
+	}
+} );
+
+jQuery.fn.extend( {
+	queue: function( type, data ) {
+		var setter = 2;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[ 0 ], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each( function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// Ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			} );
+	},
+	dequeue: function( type ) {
+		return this.each( function() {
+			jQuery.dequeue( this, type );
+		} );
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while ( i-- ) {
+			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+		// isHiddenWithinTree might be called from jQuery#filter function;
+		// in that case, element will be second argument
+		elem = el || elem;
+
+		// Inline style trumps all
+		return elem.style.display === "none" ||
+			elem.style.display === "" &&
+
+			// Otherwise, check computed style
+			// Support: Firefox <=43 - 45
+			// Disconnected elements can have computed display: none, so first confirm that elem is
+			// in the document.
+			jQuery.contains( elem.ownerDocument, elem ) &&
+
+			jQuery.css( elem, "display" ) === "none";
+	};
+
+var swap = function( elem, options, callback, args ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.apply( elem, args || [] );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+	var adjusted, scale,
+		maxIterations = 20,
+		currentValue = tween ?
+			function() {
+				return tween.cur();
+			} :
+			function() {
+				return jQuery.css( elem, prop, "" );
+			},
+		initial = currentValue(),
+		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+		// Starting value computation is required for potential unit mismatches
+		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+			rcssNum.exec( jQuery.css( elem, prop ) );
+
+	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+		// Support: Firefox <=54
+		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+		initial = initial / 2;
+
+		// Trust units reported by jQuery.css
+		unit = unit || initialInUnit[ 3 ];
+
+		// Iteratively approximate from a nonzero starting point
+		initialInUnit = +initial || 1;
+
+		while ( maxIterations-- ) {
+
+			// Evaluate and update our best guess (doubling guesses that zero out).
+			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+			jQuery.style( elem, prop, initialInUnit + unit );
+			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+				maxIterations = 0;
+			}
+			initialInUnit = initialInUnit / scale;
+
+		}
+
+		initialInUnit = initialInUnit * 2;
+		jQuery.style( elem, prop, initialInUnit + unit );
+
+		// Make sure we update the tween properties later on
+		valueParts = valueParts || [];
+	}
+
+	if ( valueParts ) {
+		initialInUnit = +initialInUnit || +initial || 0;
+
+		// Apply relative offset (+=/-=) if specified
+		adjusted = valueParts[ 1 ] ?
+			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+			+valueParts[ 2 ];
+		if ( tween ) {
+			tween.unit = unit;
+			tween.start = initialInUnit;
+			tween.end = adjusted;
+		}
+	}
+	return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+	var temp,
+		doc = elem.ownerDocument,
+		nodeName = elem.nodeName,
+		display = defaultDisplayMap[ nodeName ];
+
+	if ( display ) {
+		return display;
+	}
+
+	temp = doc.body.appendChild( doc.createElement( nodeName ) );
+	display = jQuery.css( temp, "display" );
+
+	temp.parentNode.removeChild( temp );
+
+	if ( display === "none" ) {
+		display = "block";
+	}
+	defaultDisplayMap[ nodeName ] = display;
+
+	return display;
+}
+
+function showHide( elements, show ) {
+	var display, elem,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	// Determine new display value for elements that need to change
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+
+		display = elem.style.display;
+		if ( show ) {
+
+			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+			// check is required in this first loop unless we have a nonempty display value (either
+			// inline or about-to-be-restored)
+			if ( display === "none" ) {
+				values[ index ] = dataPriv.get( elem, "display" ) || null;
+				if ( !values[ index ] ) {
+					elem.style.display = "";
+				}
+			}
+			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+				values[ index ] = getDefaultDisplay( elem );
+			}
+		} else {
+			if ( display !== "none" ) {
+				values[ index ] = "none";
+
+				// Remember what we're overwriting
+				dataPriv.set( elem, "display", display );
+			}
+		}
+	}
+
+	// Set the display of the elements in a second loop to avoid constant reflow
+	for ( index = 0; index < length; index++ ) {
+		if ( values[ index ] != null ) {
+			elements[ index ].style.display = values[ index ];
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend( {
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state ) {
+		if ( typeof state === "boolean" ) {
+			return state ? this.show() : this.hide();
+		}
+
+		return this.each( function() {
+			if ( isHiddenWithinTree( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		} );
+	}
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+	// Support: IE <=9 only
+	option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+	// XHTML parsers do not magically insert elements in the
+	// same way that tag soup parsers do. So we cannot shorten
+	// this by omitting <tbody> or other required elements.
+	thead: [ 1, "<table>", "</table>" ],
+	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+	_default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+	// Support: IE <=9 - 11 only
+	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	var ret;
+
+	if ( typeof context.getElementsByTagName !== "undefined" ) {
+		ret = context.getElementsByTagName( tag || "*" );
+
+	} else if ( typeof context.querySelectorAll !== "undefined" ) {
+		ret = context.querySelectorAll( tag || "*" );
+
+	} else {
+		ret = [];
+	}
+
+	if ( tag === undefined || tag && nodeName( context, tag ) ) {
+		return jQuery.merge( [ context ], ret );
+	}
+
+	return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+	var i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		dataPriv.set(
+			elems[ i ],
+			"globalEval",
+			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
+		);
+	}
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+	var elem, tmp, tag, wrap, contains, j,
+		fragment = context.createDocumentFragment(),
+		nodes = [],
+		i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		elem = elems[ i ];
+
+		if ( elem || elem === 0 ) {
+
+			// Add nodes directly
+			if ( toType( elem ) === "object" ) {
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+			// Convert non-html into a text node
+			} else if ( !rhtml.test( elem ) ) {
+				nodes.push( context.createTextNode( elem ) );
+
+			// Convert html into DOM nodes
+			} else {
+				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+				// Deserialize a standard representation
+				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+				wrap = wrapMap[ tag ] || wrapMap._default;
+				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+				// Descend through wrappers to the right content
+				j = wrap[ 0 ];
+				while ( j-- ) {
+					tmp = tmp.lastChild;
+				}
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, tmp.childNodes );
+
+				// Remember the top-level container
+				tmp = fragment.firstChild;
+
+				// Ensure the created nodes are orphaned (#12392)
+				tmp.textContent = "";
+			}
+		}
+	}
+
+	// Remove wrapper from fragment
+	fragment.textContent = "";
+
+	i = 0;
+	while ( ( elem = nodes[ i++ ] ) ) {
+
+		// Skip elements already in the context collection (trac-4087)
+		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+			if ( ignored ) {
+				ignored.push( elem );
+			}
+			continue;
+		}
+
+		contains = jQuery.contains( elem.ownerDocument, elem );
+
+		// Append to fragment
+		tmp = getAll( fragment.appendChild( elem ), "script" );
+
+		// Preserve script evaluation history
+		if ( contains ) {
+			setGlobalEval( tmp );
+		}
+
+		// Capture executables
+		if ( scripts ) {
+			j = 0;
+			while ( ( elem = tmp[ j++ ] ) ) {
+				if ( rscriptType.test( elem.type || "" ) ) {
+					scripts.push( elem );
+				}
+			}
+		}
+	}
+
+	return fragment;
+}
+
+
+( function() {
+	var fragment = document.createDocumentFragment(),
+		div = fragment.appendChild( document.createElement( "div" ) ),
+		input = document.createElement( "input" );
+
+	// Support: Android 4.0 - 4.3 only
+	// Check state lost if the name is set (#11217)
+	// Support: Windows Web Apps (WWA)
+	// `name` and `type` must use .setAttribute for WWA (#14901)
+	input.setAttribute( "type", "radio" );
+	input.setAttribute( "checked", "checked" );
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+
+	// Support: Android <=4.1 only
+	// Older WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Support: IE <=11 only
+	// Make sure textarea (and checkbox) defaultValue is properly cloned
+	div.innerHTML = "<textarea>x</textarea>";
+	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+	return true;
+}
+
+function returnFalse() {
+	return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+	try {
+		return document.activeElement;
+	} catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+	var origFn, type;
+
+	// Types can be a map of types/handlers
+	if ( typeof types === "object" ) {
+
+		// ( types-Object, selector, data )
+		if ( typeof selector !== "string" ) {
+
+			// ( types-Object, data )
+			data = data || selector;
+			selector = undefined;
+		}
+		for ( type in types ) {
+			on( elem, type, selector, data, types[ type ], one );
+		}
+		return elem;
+	}
+
+	if ( data == null && fn == null ) {
+
+		// ( types, fn )
+		fn = selector;
+		data = selector = undefined;
+	} else if ( fn == null ) {
+		if ( typeof selector === "string" ) {
+
+			// ( types, selector, fn )
+			fn = data;
+			data = undefined;
+		} else {
+
+			// ( types, data, fn )
+			fn = data;
+			data = selector;
+			selector = undefined;
+		}
+	}
+	if ( fn === false ) {
+		fn = returnFalse;
+	} else if ( !fn ) {
+		return elem;
+	}
+
+	if ( one === 1 ) {
+		origFn = fn;
+		fn = function( event ) {
+
+			// Can use an empty set, since event contains the info
+			jQuery().off( event );
+			return origFn.apply( this, arguments );
+		};
+
+		// Use same guid so caller can remove using origFn
+		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+	}
+	return elem.each( function() {
+		jQuery.event.add( this, types, fn, data, selector );
+	} );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+	global: {},
+
+	add: function( elem, types, handler, data, selector ) {
+
+		var handleObjIn, eventHandle, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.get( elem );
+
+		// Don't attach events to noData or text/comment nodes (but allow plain objects)
+		if ( !elemData ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Ensure that invalid selectors throw exceptions at attach time
+		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
+		if ( selector ) {
+			jQuery.find.matchesSelector( documentElement, selector );
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		if ( !( events = elemData.events ) ) {
+			events = elemData.events = {};
+		}
+		if ( !( eventHandle = elemData.handle ) ) {
+			eventHandle = elemData.handle = function( e ) {
+
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+			};
+		}
+
+		// Handle multiple events separated by a space
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// There *must* be a type, no attaching namespace-only handlers
+			if ( !type ) {
+				continue;
+			}
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			handleObj = jQuery.extend( {
+				type: type,
+				origType: origType,
+				data: data,
+				handler: handler,
+				guid: handler.guid,
+				selector: selector,
+				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+				namespace: namespaces.join( "." )
+			}, handleObjIn );
+
+			// Init the event handler queue if we're the first
+			if ( !( handlers = events[ type ] ) ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener if the special events handler returns false
+				if ( !special.setup ||
+					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+	},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, selector, mappedTypes ) {
+
+		var j, origCount, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+		if ( !elemData || !( events = elemData.events ) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+			handlers = events[ type ] || [];
+			tmp = tmp[ 2 ] &&
+				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+			// Remove matching events
+			origCount = j = handlers.length;
+			while ( j-- ) {
+				handleObj = handlers[ j ];
+
+				if ( ( mappedTypes || origType === handleObj.origType ) &&
+					( !handler || handler.guid === handleObj.guid ) &&
+					( !tmp || tmp.test( handleObj.namespace ) ) &&
+					( !selector || selector === handleObj.selector ||
+						selector === "**" && handleObj.selector ) ) {
+					handlers.splice( j, 1 );
+
+					if ( handleObj.selector ) {
+						handlers.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( origCount && !handlers.length ) {
+				if ( !special.teardown ||
+					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove data and the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			dataPriv.remove( elem, "handle events" );
+		}
+	},
+
+	dispatch: function( nativeEvent ) {
+
+		// Make a writable jQuery.Event from the native event object
+		var event = jQuery.event.fix( nativeEvent );
+
+		var i, j, ret, matched, handleObj, handlerQueue,
+			args = new Array( arguments.length ),
+			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+			special = jQuery.event.special[ event.type ] || {};
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[ 0 ] = event;
+
+		for ( i = 1; i < arguments.length; i++ ) {
+			args[ i ] = arguments[ i ];
+		}
+
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers
+		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+		// Run delegates first; they may want to stop propagation beneath us
+		i = 0;
+		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+			event.currentTarget = matched.elem;
+
+			j = 0;
+			while ( ( handleObj = matched.handlers[ j++ ] ) &&
+				!event.isImmediatePropagationStopped() ) {
+
+				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
+				// a subset or equal to those in the bound event (both can have no namespace).
+				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+					event.handleObj = handleObj;
+					event.data = handleObj.data;
+
+					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+						handleObj.handler ).apply( matched.elem, args );
+
+					if ( ret !== undefined ) {
+						if ( ( event.result = ret ) === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	handlers: function( event, handlers ) {
+		var i, handleObj, sel, matchedHandlers, matchedSelectors,
+			handlerQueue = [],
+			delegateCount = handlers.delegateCount,
+			cur = event.target;
+
+		// Find delegate handlers
+		if ( delegateCount &&
+
+			// Support: IE <=9
+			// Black-hole SVG <use> instance trees (trac-13180)
+			cur.nodeType &&
+
+			// Support: Firefox <=42
+			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+			// Support: IE 11 only
+			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+			!( event.type === "click" && event.button >= 1 ) ) {
+
+			for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+				// Don't check non-elements (#13208)
+				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+					matchedHandlers = [];
+					matchedSelectors = {};
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+
+						// Don't conflict with Object.prototype properties (#13203)
+						sel = handleObj.selector + " ";
+
+						if ( matchedSelectors[ sel ] === undefined ) {
+							matchedSelectors[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) > -1 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( matchedSelectors[ sel ] ) {
+							matchedHandlers.push( handleObj );
+						}
+					}
+					if ( matchedHandlers.length ) {
+						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		cur = this;
+		if ( delegateCount < handlers.length ) {
+			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+		}
+
+		return handlerQueue;
+	},
+
+	addProp: function( name, hook ) {
+		Object.defineProperty( jQuery.Event.prototype, name, {
+			enumerable: true,
+			configurable: true,
+
+			get: isFunction( hook ) ?
+				function() {
+					if ( this.originalEvent ) {
+							return hook( this.originalEvent );
+					}
+				} :
+				function() {
+					if ( this.originalEvent ) {
+							return this.originalEvent[ name ];
+					}
+				},
+
+			set: function( value ) {
+				Object.defineProperty( this, name, {
+					enumerable: true,
+					configurable: true,
+					writable: true,
+					value: value
+				} );
+			}
+		} );
+	},
+
+	fix: function( originalEvent ) {
+		return originalEvent[ jQuery.expando ] ?
+			originalEvent :
+			new jQuery.Event( originalEvent );
+	},
+
+	special: {
+		load: {
+
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+		focus: {
+
+			// Fire native event if possible so blur/focus sequence is correct
+			trigger: function() {
+				if ( this !== safeActiveElement() && this.focus ) {
+					this.focus();
+					return false;
+				}
+			},
+			delegateType: "focusin"
+		},
+		blur: {
+			trigger: function() {
+				if ( this === safeActiveElement() && this.blur ) {
+					this.blur();
+					return false;
+				}
+			},
+			delegateType: "focusout"
+		},
+		click: {
+
+			// For checkbox, fire native event so checked state will be right
+			trigger: function() {
+				if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+					this.click();
+					return false;
+				}
+			},
+
+			// For cross-browser consistency, don't fire native .click() on links
+			_default: function( event ) {
+				return nodeName( event.target, "a" );
+			}
+		},
+
+		beforeunload: {
+			postDispatch: function( event ) {
+
+				// Support: Firefox 20+
+				// Firefox doesn't alert if the returnValue field is not set.
+				if ( event.result !== undefined && event.originalEvent ) {
+					event.originalEvent.returnValue = event.result;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+	// This "if" is needed for plain objects
+	if ( elem.removeEventListener ) {
+		elem.removeEventListener( type, handle );
+	}
+};
+
+jQuery.Event = function( src, props ) {
+
+	// Allow instantiation without the 'new' keyword
+	if ( !( this instanceof jQuery.Event ) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = src.defaultPrevented ||
+				src.defaultPrevented === undefined &&
+
+				// Support: Android <=2.3 only
+				src.returnValue === false ?
+			returnTrue :
+			returnFalse;
+
+		// Create target properties
+		// Support: Safari <=6 - 7 only
+		// Target should not be a text node (#504, #13143)
+		this.target = ( src.target && src.target.nodeType === 3 ) ?
+			src.target.parentNode :
+			src.target;
+
+		this.currentTarget = src.currentTarget;
+		this.relatedTarget = src.relatedTarget;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || Date.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	constructor: jQuery.Event,
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse,
+	isSimulated: false,
+
+	preventDefault: function() {
+		var e = this.originalEvent;
+
+		this.isDefaultPrevented = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.preventDefault();
+		}
+	},
+	stopPropagation: function() {
+		var e = this.originalEvent;
+
+		this.isPropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopPropagation();
+		}
+	},
+	stopImmediatePropagation: function() {
+		var e = this.originalEvent;
+
+		this.isImmediatePropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopImmediatePropagation();
+		}
+
+		this.stopPropagation();
+	}
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+	altKey: true,
+	bubbles: true,
+	cancelable: true,
+	changedTouches: true,
+	ctrlKey: true,
+	detail: true,
+	eventPhase: true,
+	metaKey: true,
+	pageX: true,
+	pageY: true,
+	shiftKey: true,
+	view: true,
+	"char": true,
+	charCode: true,
+	key: true,
+	keyCode: true,
+	button: true,
+	buttons: true,
+	clientX: true,
+	clientY: true,
+	offsetX: true,
+	offsetY: true,
+	pointerId: true,
+	pointerType: true,
+	screenX: true,
+	screenY: true,
+	targetTouches: true,
+	toElement: true,
+	touches: true,
+
+	which: function( event ) {
+		var button = event.button;
+
+		// Add which for key events
+		if ( event.which == null && rkeyEvent.test( event.type ) ) {
+			return event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+			if ( button & 1 ) {
+				return 1;
+			}
+
+			if ( button & 2 ) {
+				return 3;
+			}
+
+			if ( button & 4 ) {
+				return 2;
+			}
+
+			return 0;
+		}
+
+		return event.which;
+	}
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+	mouseenter: "mouseover",
+	mouseleave: "mouseout",
+	pointerenter: "pointerover",
+	pointerleave: "pointerout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		delegateType: fix,
+		bindType: fix,
+
+		handle: function( event ) {
+			var ret,
+				target = this,
+				related = event.relatedTarget,
+				handleObj = event.handleObj;
+
+			// For mouseenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return ret;
+		}
+	};
+} );
+
+jQuery.fn.extend( {
+
+	on: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn );
+	},
+	one: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn, 1 );
+	},
+	off: function( types, selector, fn ) {
+		var handleObj, type;
+		if ( types && types.preventDefault && types.handleObj ) {
+
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ?
+					handleObj.origType + "." + handleObj.namespace :
+					handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each( function() {
+			jQuery.event.remove( this, types, fn, selector );
+		} );
+	}
+} );
+
+
+var
+
+	/* eslint-disable max-len */
+
+	// See https://github.com/eslint/eslint/issues/3229
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+	/* eslint-enable */
+
+	// Support: IE <=10 - 11, Edge 12 - 13 only
+	// In IE/Edge using regex groups here causes severe slowdowns.
+	// See https://connect.microsoft.com/IE/feedback/details/1736512/
+	rnoInnerhtml = /<script|<style|<link/i,
+
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+	if ( nodeName( elem, "table" ) &&
+		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
+	}
+
+	return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+	return elem;
+}
+function restoreScript( elem ) {
+	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
+		elem.type = elem.type.slice( 5 );
+	} else {
+		elem.removeAttribute( "type" );
+	}
+
+	return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// 1. Copy private data: events, handlers, etc.
+	if ( dataPriv.hasData( src ) ) {
+		pdataOld = dataPriv.access( src );
+		pdataCur = dataPriv.set( dest, pdataOld );
+		events = pdataOld.events;
+
+		if ( events ) {
+			delete pdataCur.handle;
+			pdataCur.events = {};
+
+			for ( type in events ) {
+				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+					jQuery.event.add( dest, type, events[ type ][ i ] );
+				}
+			}
+		}
+	}
+
+	// 2. Copy user data
+	if ( dataUser.hasData( src ) ) {
+		udataOld = dataUser.access( src );
+		udataCur = jQuery.extend( {}, udataOld );
+
+		dataUser.set( dest, udataCur );
+	}
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+	var nodeName = dest.nodeName.toLowerCase();
+
+	// Fails to persist the checked state of a cloned checkbox or radio button.
+	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		dest.checked = src.checked;
+
+	// Fails to return the selected option to the default selected state when cloning options
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+	// Flatten any nested arrays
+	args = concat.apply( [], args );
+
+	var fragment, first, scripts, hasScripts, node, doc,
+		i = 0,
+		l = collection.length,
+		iNoClone = l - 1,
+		value = args[ 0 ],
+		valueIsFunction = isFunction( value );
+
+	// We can't cloneNode fragments that contain checked, in WebKit
+	if ( valueIsFunction ||
+			( l > 1 && typeof value === "string" &&
+				!support.checkClone && rchecked.test( value ) ) ) {
+		return collection.each( function( index ) {
+			var self = collection.eq( index );
+			if ( valueIsFunction ) {
+				args[ 0 ] = value.call( this, index, self.html() );
+			}
+			domManip( self, args, callback, ignored );
+		} );
+	}
+
+	if ( l ) {
+		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+		first = fragment.firstChild;
+
+		if ( fragment.childNodes.length === 1 ) {
+			fragment = first;
+		}
+
+		// Require either new content or an interest in ignored elements to invoke the callback
+		if ( first || ignored ) {
+			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+			hasScripts = scripts.length;
+
+			// Use the original fragment for the last item
+			// instead of the first because it can end up
+			// being emptied incorrectly in certain situations (#8070).
+			for ( ; i < l; i++ ) {
+				node = fragment;
+
+				if ( i !== iNoClone ) {
+					node = jQuery.clone( node, true, true );
+
+					// Keep references to cloned scripts for later restoration
+					if ( hasScripts ) {
+
+						// Support: Android <=4.0 only, PhantomJS 1 only
+						// push.apply(_, arraylike) throws on ancient WebKit
+						jQuery.merge( scripts, getAll( node, "script" ) );
+					}
+				}
+
+				callback.call( collection[ i ], node, i );
+			}
+
+			if ( hasScripts ) {
+				doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+				// Reenable scripts
+				jQuery.map( scripts, restoreScript );
+
+				// Evaluate executable scripts on first document insertion
+				for ( i = 0; i < hasScripts; i++ ) {
+					node = scripts[ i ];
+					if ( rscriptType.test( node.type || "" ) &&
+						!dataPriv.access( node, "globalEval" ) &&
+						jQuery.contains( doc, node ) ) {
+
+						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
+
+							// Optional AJAX dependency, but won't run scripts if not present
+							if ( jQuery._evalUrl ) {
+								jQuery._evalUrl( node.src );
+							}
+						} else {
+							DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return collection;
+}
+
+function remove( elem, selector, keepData ) {
+	var node,
+		nodes = selector ? jQuery.filter( selector, elem ) : elem,
+		i = 0;
+
+	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+		if ( !keepData && node.nodeType === 1 ) {
+			jQuery.cleanData( getAll( node ) );
+		}
+
+		if ( node.parentNode ) {
+			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+				setGlobalEval( getAll( node, "script" ) );
+			}
+			node.parentNode.removeChild( node );
+		}
+	}
+
+	return elem;
+}
+
+jQuery.extend( {
+	htmlPrefilter: function( html ) {
+		return html.replace( rxhtmlTag, "<$1></$2>" );
+	},
+
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var i, l, srcElements, destElements,
+			clone = elem.cloneNode( true ),
+			inPage = jQuery.contains( elem.ownerDocument, elem );
+
+		// Fix IE cloning issues
+		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+				!jQuery.isXMLDoc( elem ) ) {
+
+			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+			destElements = getAll( clone );
+			srcElements = getAll( elem );
+
+			for ( i = 0, l = srcElements.length; i < l; i++ ) {
+				fixInput( srcElements[ i ], destElements[ i ] );
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			if ( deepDataAndEvents ) {
+				srcElements = srcElements || getAll( elem );
+				destElements = destElements || getAll( clone );
+
+				for ( i = 0, l = srcElements.length; i < l; i++ ) {
+					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+				}
+			} else {
+				cloneCopyEvent( elem, clone );
+			}
+		}
+
+		// Preserve script evaluation history
+		destElements = getAll( clone, "script" );
+		if ( destElements.length > 0 ) {
+			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+		}
+
+		// Return the cloned set
+		return clone;
+	},
+
+	cleanData: function( elems ) {
+		var data, elem, type,
+			special = jQuery.event.special,
+			i = 0;
+
+		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+			if ( acceptData( elem ) ) {
+				if ( ( data = elem[ dataPriv.expando ] ) ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataPriv.expando ] = undefined;
+				}
+				if ( elem[ dataUser.expando ] ) {
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataUser.expando ] = undefined;
+				}
+			}
+		}
+	}
+} );
+
+jQuery.fn.extend( {
+	detach: function( selector ) {
+		return remove( this, selector, true );
+	},
+
+	remove: function( selector ) {
+		return remove( this, selector );
+	},
+
+	text: function( value ) {
+		return access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().each( function() {
+					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+						this.textContent = value;
+					}
+				} );
+		}, null, value, arguments.length );
+	},
+
+	append: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.appendChild( elem );
+			}
+		} );
+	},
+
+	prepend: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.insertBefore( elem, target.firstChild );
+			}
+		} );
+	},
+
+	before: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this );
+			}
+		} );
+	},
+
+	after: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			}
+		} );
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; ( elem = this[ i ] ) != null; i++ ) {
+			if ( elem.nodeType === 1 ) {
+
+				// Prevent memory leaks
+				jQuery.cleanData( getAll( elem, false ) );
+
+				// Remove any remaining nodes
+				elem.textContent = "";
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return this.map( function() {
+			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+		} );
+	},
+
+	html: function( value ) {
+		return access( this, function( value ) {
+			var elem = this[ 0 ] || {},
+				i = 0,
+				l = this.length;
+
+			if ( value === undefined && elem.nodeType === 1 ) {
+				return elem.innerHTML;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+				value = jQuery.htmlPrefilter( value );
+
+				try {
+					for ( ; i < l; i++ ) {
+						elem = this[ i ] || {};
+
+						// Remove element nodes and prevent memory leaks
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( getAll( elem, false ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch ( e ) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function() {
+		var ignored = [];
+
+		// Make the changes, replacing each non-ignored context element with the new content
+		return domManip( this, arguments, function( elem ) {
+			var parent = this.parentNode;
+
+			if ( jQuery.inArray( this, ignored ) < 0 ) {
+				jQuery.cleanData( getAll( this ) );
+				if ( parent ) {
+					parent.replaceChild( elem, this );
+				}
+			}
+
+		// Force callback invocation
+		}, ignored );
+	}
+} );
+
+jQuery.each( {
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			ret = [],
+			insert = jQuery( selector ),
+			last = insert.length - 1,
+			i = 0;
+
+		for ( ; i <= last; i++ ) {
+			elems = i === last ? this : this.clone( true );
+			jQuery( insert[ i ] )[ original ]( elems );
+
+			// Support: Android <=4.0 only, PhantomJS 1 only
+			// .get() because push.apply(_, arraylike) throws on ancient WebKit
+			push.apply( ret, elems.get() );
+		}
+
+		return this.pushStack( ret );
+	};
+} );
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// IE throws on elements created in popups
+		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+		var view = elem.ownerDocument.defaultView;
+
+		if ( !view || !view.opener ) {
+			view = window;
+		}
+
+		return view.getComputedStyle( elem );
+	};
+
+var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
+
+
+
+( function() {
+
+	// Executing both pixelPosition & boxSizingReliable tests require only one layout
+	// so they're executed at the same time to save the second computation.
+	function computeStyleTests() {
+
+		// This is a singleton, we need to execute it only once
+		if ( !div ) {
+			return;
+		}
+
+		container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
+			"margin-top:1px;padding:0;border:0";
+		div.style.cssText =
+			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
+			"margin:auto;border:1px;padding:1px;" +
+			"width:60%;top:1%";
+		documentElement.appendChild( container ).appendChild( div );
+
+		var divStyle = window.getComputedStyle( div );
+		pixelPositionVal = divStyle.top !== "1%";
+
+		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
+
+		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
+		// Some styles come back with percentage values, even though they shouldn't
+		div.style.right = "60%";
+		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
+
+		// Support: IE 9 - 11 only
+		// Detect misreporting of content dimensions for box-sizing:border-box elements
+		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
+
+		// Support: IE 9 only
+		// Detect overflow:scroll screwiness (gh-3699)
+		div.style.position = "absolute";
+		scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
+
+		documentElement.removeChild( container );
+
+		// Nullify the div so it wouldn't be stored in the memory and
+		// it will also be a sign that checks already performed
+		div = null;
+	}
+
+	function roundPixelMeasures( measure ) {
+		return Math.round( parseFloat( measure ) );
+	}
+
+	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
+		reliableMarginLeftVal,
+		container = document.createElement( "div" ),
+		div = document.createElement( "div" );
+
+	// Finish early in limited (non-browser) environments
+	if ( !div.style ) {
+		return;
+	}
+
+	// Support: IE <=9 - 11 only
+	// Style of cloned element affects source element cloned (#8908)
+	div.style.backgroundClip = "content-box";
+	div.cloneNode( true ).style.backgroundClip = "";
+	support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+	jQuery.extend( support, {
+		boxSizingReliable: function() {
+			computeStyleTests();
+			return boxSizingReliableVal;
+		},
+		pixelBoxStyles: function() {
+			computeStyleTests();
+			return pixelBoxStylesVal;
+		},
+		pixelPosition: function() {
+			computeStyleTests();
+			return pixelPositionVal;
+		},
+		reliableMarginLeft: function() {
+			computeStyleTests();
+			return reliableMarginLeftVal;
+		},
+		scrollboxSize: function() {
+			computeStyleTests();
+			return scrollboxSizeVal;
+		}
+	} );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+	var width, minWidth, maxWidth, ret,
+
+		// Support: Firefox 51+
+		// Retrieving style before computed somehow
+		// fixes an issue with getting wrong values
+		// on detached elements
+		style = elem.style;
+
+	computed = computed || getStyles( elem );
+
+	// getPropertyValue is needed for:
+	//   .css('filter') (IE 9 only, #12537)
+	//   .css('--customProperty) (#3144)
+	if ( computed ) {
+		ret = computed.getPropertyValue( name ) || computed[ name ];
+
+		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+			ret = jQuery.style( elem, name );
+		}
+
+		// A tribute to the "awesome hack by Dean Edwards"
+		// Android Browser returns percentage for some values,
+		// but width seems to be reliably pixels.
+		// This is against the CSSOM draft spec:
+		// https://drafts.csswg.org/cssom/#resolved-values
+		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
+
+			// Remember the original values
+			width = style.width;
+			minWidth = style.minWidth;
+			maxWidth = style.maxWidth;
+
+			// Put in the new values to get a computed value out
+			style.minWidth = style.maxWidth = style.width = ret;
+			ret = computed.width;
+
+			// Revert the changed values
+			style.width = width;
+			style.minWidth = minWidth;
+			style.maxWidth = maxWidth;
+		}
+	}
+
+	return ret !== undefined ?
+
+		// Support: IE <=9 - 11 only
+		// IE returns zIndex value as an integer.
+		ret + "" :
+		ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+	// Define the hook, we'll check on the first run if it's really needed.
+	return {
+		get: function() {
+			if ( conditionFn() ) {
+
+				// Hook not needed (or it's not possible to use it due
+				// to missing dependency), remove it.
+				delete this.get;
+				return;
+			}
+
+			// Hook needed; redefine it so that the support test is not executed again.
+			return ( this.get = hookFn ).apply( this, arguments );
+		}
+	};
+}
+
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	rcustomProp = /^--/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	},
+
+	cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+	// Shortcut for names that are not vendor prefixed
+	if ( name in emptyStyle ) {
+		return name;
+	}
+
+	// Check for vendor prefixed names
+	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in emptyStyle ) {
+			return name;
+		}
+	}
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+	var ret = jQuery.cssProps[ name ];
+	if ( !ret ) {
+		ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+	}
+	return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+	// Any relative (+/-) values have already been
+	// normalized at this point
+	var matches = rcssNum.exec( value );
+	return matches ?
+
+		// Guard against undefined "subtract", e.g., when used as in cssHooks
+		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+		value;
+}
+
+function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
+	var i = dimension === "width" ? 1 : 0,
+		extra = 0,
+		delta = 0;
+
+	// Adjustment may not be necessary
+	if ( box === ( isBorderBox ? "border" : "content" ) ) {
+		return 0;
+	}
+
+	for ( ; i < 4; i += 2 ) {
+
+		// Both box models exclude margin
+		if ( box === "margin" ) {
+			delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+		}
+
+		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
+		if ( !isBorderBox ) {
+
+			// Add padding
+			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+			// For "border" or "margin", add border
+			if ( box !== "padding" ) {
+				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+
+			// But still keep track of it otherwise
+			} else {
+				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+
+		// If we get here with a border-box (content + padding + border), we're seeking "content" or
+		// "padding" or "margin"
+		} else {
+
+			// For "content", subtract padding
+			if ( box === "content" ) {
+				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+			}
+
+			// For "content" or "padding", subtract border
+			if ( box !== "margin" ) {
+				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		}
+	}
+
+	// Account for positive content-box scroll gutter when requested by providing computedVal
+	if ( !isBorderBox && computedVal >= 0 ) {
+
+		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
+		// Assuming integer scroll gutter, subtract the rest and round down
+		delta += Math.max( 0, Math.ceil(
+			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+			computedVal -
+			delta -
+			extra -
+			0.5
+		) );
+	}
+
+	return delta;
+}
+
+function getWidthOrHeight( elem, dimension, extra ) {
+
+	// Start with computed style
+	var styles = getStyles( elem ),
+		val = curCSS( elem, dimension, styles ),
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+		valueIsBorderBox = isBorderBox;
+
+	// Support: Firefox <=54
+	// Return a confounding non-pixel value or feign ignorance, as appropriate.
+	if ( rnumnonpx.test( val ) ) {
+		if ( !extra ) {
+			return val;
+		}
+		val = "auto";
+	}
+
+	// Check for style in case a browser which returns unreliable values
+	// for getComputedStyle silently falls back to the reliable elem.style
+	valueIsBorderBox = valueIsBorderBox &&
+		( support.boxSizingReliable() || val === elem.style[ dimension ] );
+
+	// Fall back to offsetWidth/offsetHeight when value is "auto"
+	// This happens for inline elements with no explicit setting (gh-3571)
+	// Support: Android <=4.1 - 4.3 only
+	// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+	if ( val === "auto" ||
+		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
+
+		val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
+
+		// offsetWidth/offsetHeight provide border-box values
+		valueIsBorderBox = true;
+	}
+
+	// Normalize "" and auto
+	val = parseFloat( val ) || 0;
+
+	// Adjust for the element's box model
+	return ( val +
+		boxModelAdjustment(
+			elem,
+			dimension,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox,
+			styles,
+
+			// Provide the current computed size to request scroll gutter calculation (gh-3589)
+			val
+		)
+	) + "px";
+}
+
+jQuery.extend( {
+
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+				}
+			}
+		}
+	},
+
+	// Don't automatically add "px" to these possibly-unitless properties
+	cssNumber: {
+		"animationIterationCount": true,
+		"columnCount": true,
+		"fillOpacity": true,
+		"flexGrow": true,
+		"flexShrink": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"order": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = camelCase( name ),
+			isCustomProp = rcustomProp.test( name ),
+			style = elem.style;
+
+		// Make sure that we're working with the right name. We don't
+		// want to query the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Gets hook for the prefixed version, then unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// Convert "+=" or "-=" to relative numbers (#7345)
+			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+				value = adjustCSS( elem, name, ret );
+
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that null and NaN values aren't set (#7116)
+			if ( value == null || value !== value ) {
+				return;
+			}
+
+			// If a number was passed in, add the unit (except for certain CSS properties)
+			if ( type === "number" ) {
+				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+			}
+
+			// background-* props affect original clone's values
+			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+				style[ name ] = "inherit";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !( "set" in hooks ) ||
+				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+				if ( isCustomProp ) {
+					style.setProperty( name, value );
+				} else {
+					style[ name ] = value;
+				}
+			}
+
+		} else {
+
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks &&
+				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, extra, styles ) {
+		var val, num, hooks,
+			origName = camelCase( name ),
+			isCustomProp = rcustomProp.test( name );
+
+		// Make sure that we're working with the right name. We don't
+		// want to modify the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Try prefixed name followed by the unprefixed name
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks ) {
+			val = hooks.get( elem, true, extra );
+		}
+
+		// Otherwise, if a way to get the computed value exists, use that
+		if ( val === undefined ) {
+			val = curCSS( elem, name, styles );
+		}
+
+		// Convert "normal" to computed value
+		if ( val === "normal" && name in cssNormalTransform ) {
+			val = cssNormalTransform[ name ];
+		}
+
+		// Make numeric if forced or a qualifier was provided and val looks numeric
+		if ( extra === "" || extra ) {
+			num = parseFloat( val );
+			return extra === true || isFinite( num ) ? num || 0 : val;
+		}
+
+		return val;
+	}
+} );
+
+jQuery.each( [ "height", "width" ], function( i, dimension ) {
+	jQuery.cssHooks[ dimension ] = {
+		get: function( elem, computed, extra ) {
+			if ( computed ) {
+
+				// Certain elements can have dimension info if we invisibly show them
+				// but it must have a current display style that would benefit
+				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+					// Support: Safari 8+
+					// Table columns in Safari have non-zero offsetWidth & zero
+					// getBoundingClientRect().width unless display is changed.
+					// Support: IE <=11 only
+					// Running getBoundingClientRect on a disconnected node
+					// in IE throws an error.
+					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+						swap( elem, cssShow, function() {
+							return getWidthOrHeight( elem, dimension, extra );
+						} ) :
+						getWidthOrHeight( elem, dimension, extra );
+			}
+		},
+
+		set: function( elem, value, extra ) {
+			var matches,
+				styles = getStyles( elem ),
+				isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+				subtract = extra && boxModelAdjustment(
+					elem,
+					dimension,
+					extra,
+					isBorderBox,
+					styles
+				);
+
+			// Account for unreliable border-box dimensions by comparing offset* to computed and
+			// faking a content-box to get border and padding (gh-3699)
+			if ( isBorderBox && support.scrollboxSize() === styles.position ) {
+				subtract -= Math.ceil(
+					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+					parseFloat( styles[ dimension ] ) -
+					boxModelAdjustment( elem, dimension, "border", false, styles ) -
+					0.5
+				);
+			}
+
+			// Convert to pixels if value adjustment is needed
+			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+				( matches[ 3 ] || "px" ) !== "px" ) {
+
+				elem.style[ dimension ] = value;
+				value = jQuery.css( elem, dimension );
+			}
+
+			return setPositiveNumber( elem, value, subtract );
+		}
+	};
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+	function( elem, computed ) {
+		if ( computed ) {
+			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+				elem.getBoundingClientRect().left -
+					swap( elem, { marginLeft: 0 }, function() {
+						return elem.getBoundingClientRect().left;
+					} )
+				) + "px";
+		}
+	}
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+	margin: "",
+	padding: "",
+	border: "Width"
+}, function( prefix, suffix ) {
+	jQuery.cssHooks[ prefix + suffix ] = {
+		expand: function( value ) {
+			var i = 0,
+				expanded = {},
+
+				// Assumes a single number if not a string
+				parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+			for ( ; i < 4; i++ ) {
+				expanded[ prefix + cssExpand[ i ] + suffix ] =
+					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+			}
+
+			return expanded;
+		}
+	};
+
+	if ( prefix !== "margin" ) {
+		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+	}
+} );
+
+jQuery.fn.extend( {
+	css: function( name, value ) {
+		return access( this, function( elem, name, value ) {
+			var styles, len,
+				map = {},
+				i = 0;
+
+			if ( Array.isArray( name ) ) {
+				styles = getStyles( elem );
+				len = name.length;
+
+				for ( ; i < len; i++ ) {
+					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+				}
+
+				return map;
+			}
+
+			return value !== undefined ?
+				jQuery.style( elem, name, value ) :
+				jQuery.css( elem, name );
+		}, name, value, arguments.length > 1 );
+	}
+} );
+
+
+function Tween( elem, options, prop, end, easing ) {
+	return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+	constructor: Tween,
+	init: function( elem, options, prop, end, easing, unit ) {
+		this.elem = elem;
+		this.prop = prop;
+		this.easing = easing || jQuery.easing._default;
+		this.options = options;
+		this.start = this.now = this.cur();
+		this.end = end;
+		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+	},
+	cur: function() {
+		var hooks = Tween.propHooks[ this.prop ];
+
+		return hooks && hooks.get ?
+			hooks.get( this ) :
+			Tween.propHooks._default.get( this );
+	},
+	run: function( percent ) {
+		var eased,
+			hooks = Tween.propHooks[ this.prop ];
+
+		if ( this.options.duration ) {
+			this.pos = eased = jQuery.easing[ this.easing ](
+				percent, this.options.duration * percent, 0, 1, this.options.duration
+			);
+		} else {
+			this.pos = eased = percent;
+		}
+		this.now = ( this.end - this.start ) * eased + this.start;
+
+		if ( this.options.step ) {
+			this.options.step.call( this.elem, this.now, this );
+		}
+
+		if ( hooks && hooks.set ) {
+			hooks.set( this );
+		} else {
+			Tween.propHooks._default.set( this );
+		}
+		return this;
+	}
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+	_default: {
+		get: function( tween ) {
+			var result;
+
+			// Use a property on the element directly when it is not a DOM element,
+			// or when there is no matching style property that exists.
+			if ( tween.elem.nodeType !== 1 ||
+				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+				return tween.elem[ tween.prop ];
+			}
+
+			// Passing an empty string as a 3rd parameter to .css will automatically
+			// attempt a parseFloat and fallback to a string if the parse fails.
+			// Simple values such as "10px" are parsed to Float;
+			// complex values such as "rotate(1rad)" are returned as-is.
+			result = jQuery.css( tween.elem, tween.prop, "" );
+
+			// Empty strings, null, undefined and "auto" are converted to 0.
+			return !result || result === "auto" ? 0 : result;
+		},
+		set: function( tween ) {
+
+			// Use step hook for back compat.
+			// Use cssHook if its there.
+			// Use .style if available and use plain properties where available.
+			if ( jQuery.fx.step[ tween.prop ] ) {
+				jQuery.fx.step[ tween.prop ]( tween );
+			} else if ( tween.elem.nodeType === 1 &&
+				( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
+					jQuery.cssHooks[ tween.prop ] ) ) {
+				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+			} else {
+				tween.elem[ tween.prop ] = tween.now;
+			}
+		}
+	}
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+	set: function( tween ) {
+		if ( tween.elem.nodeType && tween.elem.parentNode ) {
+			tween.elem[ tween.prop ] = tween.now;
+		}
+	}
+};
+
+jQuery.easing = {
+	linear: function( p ) {
+		return p;
+	},
+	swing: function( p ) {
+		return 0.5 - Math.cos( p * Math.PI ) / 2;
+	},
+	_default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+
+
+
+var
+	fxNow, inProgress,
+	rfxtypes = /^(?:toggle|show|hide)$/,
+	rrun = /queueHooks$/;
+
+function schedule() {
+	if ( inProgress ) {
+		if ( document.hidden === false && window.requestAnimationFrame ) {
+			window.requestAnimationFrame( schedule );
+		} else {
+			window.setTimeout( schedule, jQuery.fx.interval );
+		}
+
+		jQuery.fx.tick();
+	}
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+	window.setTimeout( function() {
+		fxNow = undefined;
+	} );
+	return ( fxNow = Date.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+	var which,
+		i = 0,
+		attrs = { height: type };
+
+	// If we include width, step value is 1 to do all cssExpand values,
+	// otherwise step value is 2 to skip over Left and Right
+	includeWidth = includeWidth ? 1 : 0;
+	for ( ; i < 4; i += 2 - includeWidth ) {
+		which = cssExpand[ i ];
+		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+	}
+
+	if ( includeWidth ) {
+		attrs.opacity = attrs.width = type;
+	}
+
+	return attrs;
+}
+
+function createTween( value, prop, animation ) {
+	var tween,
+		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+		index = 0,
+		length = collection.length;
+	for ( ; index < length; index++ ) {
+		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+			// We're done with this property
+			return tween;
+		}
+	}
+}
+
+function defaultPrefilter( elem, props, opts ) {
+	var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
+		isBox = "width" in props || "height" in props,
+		anim = this,
+		orig = {},
+		style = elem.style,
+		hidden = elem.nodeType && isHiddenWithinTree( elem ),
+		dataShow = dataPriv.get( elem, "fxshow" );
+
+	// Queue-skipping animations hijack the fx hooks
+	if ( !opts.queue ) {
+		hooks = jQuery._queueHooks( elem, "fx" );
+		if ( hooks.unqueued == null ) {
+			hooks.unqueued = 0;
+			oldfire = hooks.empty.fire;
+			hooks.empty.fire = function() {
+				if ( !hooks.unqueued ) {
+					oldfire();
+				}
+			};
+		}
+		hooks.unqueued++;
+
+		anim.always( function() {
+
+			// Ensure the complete handler is called before this completes
+			anim.always( function() {
+				hooks.unqueued--;
+				if ( !jQuery.queue( elem, "fx" ).length ) {
+					hooks.empty.fire();
+				}
+			} );
+		} );
+	}
+
+	// Detect show/hide animations
+	for ( prop in props ) {
+		value = props[ prop ];
+		if ( rfxtypes.test( value ) ) {
+			delete props[ prop ];
+			toggle = toggle || value === "toggle";
+			if ( value === ( hidden ? "hide" : "show" ) ) {
+
+				// Pretend to be hidden if this is a "show" and
+				// there is still data from a stopped show/hide
+				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+					hidden = true;
+
+				// Ignore all other no-op show/hide data
+				} else {
+					continue;
+				}
+			}
+			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+		}
+	}
+
+	// Bail out if this is a no-op like .hide().hide()
+	propTween = !jQuery.isEmptyObject( props );
+	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+		return;
+	}
+
+	// Restrict "overflow" and "display" styles during box animations
+	if ( isBox && elem.nodeType === 1 ) {
+
+		// Support: IE <=9 - 11, Edge 12 - 15
+		// Record all 3 overflow attributes because IE does not infer the shorthand
+		// from identically-valued overflowX and overflowY and Edge just mirrors
+		// the overflowX value there.
+		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+		// Identify a display type, preferring old show/hide data over the CSS cascade
+		restoreDisplay = dataShow && dataShow.display;
+		if ( restoreDisplay == null ) {
+			restoreDisplay = dataPriv.get( elem, "display" );
+		}
+		display = jQuery.css( elem, "display" );
+		if ( display === "none" ) {
+			if ( restoreDisplay ) {
+				display = restoreDisplay;
+			} else {
+
+				// Get nonempty value(s) by temporarily forcing visibility
+				showHide( [ elem ], true );
+				restoreDisplay = elem.style.display || restoreDisplay;
+				display = jQuery.css( elem, "display" );
+				showHide( [ elem ] );
+			}
+		}
+
+		// Animate inline elements as inline-block
+		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+			if ( jQuery.css( elem, "float" ) === "none" ) {
+
+				// Restore the original display value at the end of pure show/hide animations
+				if ( !propTween ) {
+					anim.done( function() {
+						style.display = restoreDisplay;
+					} );
+					if ( restoreDisplay == null ) {
+						display = style.display;
+						restoreDisplay = display === "none" ? "" : display;
+					}
+				}
+				style.display = "inline-block";
+			}
+		}
+	}
+
+	if ( opts.overflow ) {
+		style.overflow = "hidden";
+		anim.always( function() {
+			style.overflow = opts.overflow[ 0 ];
+			style.overflowX = opts.overflow[ 1 ];
+			style.overflowY = opts.overflow[ 2 ];
+		} );
+	}
+
+	// Implement show/hide animations
+	propTween = false;
+	for ( prop in orig ) {
+
+		// General show/hide setup for this element animation
+		if ( !propTween ) {
+			if ( dataShow ) {
+				if ( "hidden" in dataShow ) {
+					hidden = dataShow.hidden;
+				}
+			} else {
+				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+			}
+
+			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+			if ( toggle ) {
+				dataShow.hidden = !hidden;
+			}
+
+			// Show elements before animating them
+			if ( hidden ) {
+				showHide( [ elem ], true );
+			}
+
+			/* eslint-disable no-loop-func */
+
+			anim.done( function() {
+
+			/* eslint-enable no-loop-func */
+
+				// The final step of a "hide" animation is actually hiding the element
+				if ( !hidden ) {
+					showHide( [ elem ] );
+				}
+				dataPriv.remove( elem, "fxshow" );
+				for ( prop in orig ) {
+					jQuery.style( elem, prop, orig[ prop ] );
+				}
+			} );
+		}
+
+		// Per-property setup
+		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+		if ( !( prop in dataShow ) ) {
+			dataShow[ prop ] = propTween.start;
+			if ( hidden ) {
+				propTween.end = propTween.start;
+				propTween.start = 0;
+			}
+		}
+	}
+}
+
+function propFilter( props, specialEasing ) {
+	var index, name, easing, value, hooks;
+
+	// camelCase, specialEasing and expand cssHook pass
+	for ( index in props ) {
+		name = camelCase( index );
+		easing = specialEasing[ name ];
+		value = props[ index ];
+		if ( Array.isArray( value ) ) {
+			easing = value[ 1 ];
+			value = props[ index ] = value[ 0 ];
+		}
+
+		if ( index !== name ) {
+			props[ name ] = value;
+			delete props[ index ];
+		}
+
+		hooks = jQuery.cssHooks[ name ];
+		if ( hooks && "expand" in hooks ) {
+			value = hooks.expand( value );
+			delete props[ name ];
+
+			// Not quite $.extend, this won't overwrite existing keys.
+			// Reusing 'index' because we have the correct "name"
+			for ( index in value ) {
+				if ( !( index in props ) ) {
+					props[ index ] = value[ index ];
+					specialEasing[ index ] = easing;
+				}
+			}
+		} else {
+			specialEasing[ name ] = easing;
+		}
+	}
+}
+
+function Animation( elem, properties, options ) {
+	var result,
+		stopped,
+		index = 0,
+		length = Animation.prefilters.length,
+		deferred = jQuery.Deferred().always( function() {
+
+			// Don't match elem in the :animated selector
+			delete tick.elem;
+		} ),
+		tick = function() {
+			if ( stopped ) {
+				return false;
+			}
+			var currentTime = fxNow || createFxNow(),
+				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+				// Support: Android 2.3 only
+				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+				temp = remaining / animation.duration || 0,
+				percent = 1 - temp,
+				index = 0,
+				length = animation.tweens.length;
+
+			for ( ; index < length; index++ ) {
+				animation.tweens[ index ].run( percent );
+			}
+
+			deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+			// If there's more to do, yield
+			if ( percent < 1 && length ) {
+				return remaining;
+			}
+
+			// If this was an empty animation, synthesize a final progress notification
+			if ( !length ) {
+				deferred.notifyWith( elem, [ animation, 1, 0 ] );
+			}
+
+			// Resolve the animation and report its conclusion
+			deferred.resolveWith( elem, [ animation ] );
+			return false;
+		},
+		animation = deferred.promise( {
+			elem: elem,
+			props: jQuery.extend( {}, properties ),
+			opts: jQuery.extend( true, {
+				specialEasing: {},
+				easing: jQuery.easing._default
+			}, options ),
+			originalProperties: properties,
+			originalOptions: options,
+			startTime: fxNow || createFxNow(),
+			duration: options.duration,
+			tweens: [],
+			createTween: function( prop, end ) {
+				var tween = jQuery.Tween( elem, animation.opts, prop, end,
+						animation.opts.specialEasing[ prop ] || animation.opts.easing );
+				animation.tweens.push( tween );
+				return tween;
+			},
+			stop: function( gotoEnd ) {
+				var index = 0,
+
+					// If we are going to the end, we want to run all the tweens
+					// otherwise we skip this part
+					length = gotoEnd ? animation.tweens.length : 0;
+				if ( stopped ) {
+					return this;
+				}
+				stopped = true;
+				for ( ; index < length; index++ ) {
+					animation.tweens[ index ].run( 1 );
+				}
+
+				// Resolve when we played the last frame; otherwise, reject
+				if ( gotoEnd ) {
+					deferred.notifyWith( elem, [ animation, 1, 0 ] );
+					deferred.resolveWith( elem, [ animation, gotoEnd ] );
+				} else {
+					deferred.rejectWith( elem, [ animation, gotoEnd ] );
+				}
+				return this;
+			}
+		} ),
+		props = animation.props;
+
+	propFilter( props, animation.opts.specialEasing );
+
+	for ( ; index < length; index++ ) {
+		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+		if ( result ) {
+			if ( isFunction( result.stop ) ) {
+				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+					result.stop.bind( result );
+			}
+			return result;
+		}
+	}
+
+	jQuery.map( props, createTween, animation );
+
+	if ( isFunction( animation.opts.start ) ) {
+		animation.opts.start.call( elem, animation );
+	}
+
+	// Attach callbacks from options
+	animation
+		.progress( animation.opts.progress )
+		.done( animation.opts.done, animation.opts.complete )
+		.fail( animation.opts.fail )
+		.always( animation.opts.always );
+
+	jQuery.fx.timer(
+		jQuery.extend( tick, {
+			elem: elem,
+			anim: animation,
+			queue: animation.opts.queue
+		} )
+	);
+
+	return animation;
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+	tweeners: {
+		"*": [ function( prop, value ) {
+			var tween = this.createTween( prop, value );
+			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+			return tween;
+		} ]
+	},
+
+	tweener: function( props, callback ) {
+		if ( isFunction( props ) ) {
+			callback = props;
+			props = [ "*" ];
+		} else {
+			props = props.match( rnothtmlwhite );
+		}
+
+		var prop,
+			index = 0,
+			length = props.length;
+
+		for ( ; index < length; index++ ) {
+			prop = props[ index ];
+			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+			Animation.tweeners[ prop ].unshift( callback );
+		}
+	},
+
+	prefilters: [ defaultPrefilter ],
+
+	prefilter: function( callback, prepend ) {
+		if ( prepend ) {
+			Animation.prefilters.unshift( callback );
+		} else {
+			Animation.prefilters.push( callback );
+		}
+	}
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+		complete: fn || !fn && easing ||
+			isFunction( speed ) && speed,
+		duration: speed,
+		easing: fn && easing || easing && !isFunction( easing ) && easing
+	};
+
+	// Go to the end state if fx are off
+	if ( jQuery.fx.off ) {
+		opt.duration = 0;
+
+	} else {
+		if ( typeof opt.duration !== "number" ) {
+			if ( opt.duration in jQuery.fx.speeds ) {
+				opt.duration = jQuery.fx.speeds[ opt.duration ];
+
+			} else {
+				opt.duration = jQuery.fx.speeds._default;
+			}
+		}
+	}
+
+	// Normalize opt.queue - true/undefined/null -> "fx"
+	if ( opt.queue == null || opt.queue === true ) {
+		opt.queue = "fx";
+	}
+
+	// Queueing
+	opt.old = opt.complete;
+
+	opt.complete = function() {
+		if ( isFunction( opt.old ) ) {
+			opt.old.call( this );
+		}
+
+		if ( opt.queue ) {
+			jQuery.dequeue( this, opt.queue );
+		}
+	};
+
+	return opt;
+};
+
+jQuery.fn.extend( {
+	fadeTo: function( speed, to, easing, callback ) {
+
+		// Show any hidden elements after setting opacity to 0
+		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+			// Animate to the value specified
+			.end().animate( { opacity: to }, speed, easing, callback );
+	},
+	animate: function( prop, speed, easing, callback ) {
+		var empty = jQuery.isEmptyObject( prop ),
+			optall = jQuery.speed( speed, easing, callback ),
+			doAnimation = function() {
+
+				// Operate on a copy of prop so per-property easing won't be lost
+				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+				// Empty animations, or finishing resolves immediately
+				if ( empty || dataPriv.get( this, "finish" ) ) {
+					anim.stop( true );
+				}
+			};
+			doAnimation.finish = doAnimation;
+
+		return empty || optall.queue === false ?
+			this.each( doAnimation ) :
+			this.queue( optall.queue, doAnimation );
+	},
+	stop: function( type, clearQueue, gotoEnd ) {
+		var stopQueue = function( hooks ) {
+			var stop = hooks.stop;
+			delete hooks.stop;
+			stop( gotoEnd );
+		};
+
+		if ( typeof type !== "string" ) {
+			gotoEnd = clearQueue;
+			clearQueue = type;
+			type = undefined;
+		}
+		if ( clearQueue && type !== false ) {
+			this.queue( type || "fx", [] );
+		}
+
+		return this.each( function() {
+			var dequeue = true,
+				index = type != null && type + "queueHooks",
+				timers = jQuery.timers,
+				data = dataPriv.get( this );
+
+			if ( index ) {
+				if ( data[ index ] && data[ index ].stop ) {
+					stopQueue( data[ index ] );
+				}
+			} else {
+				for ( index in data ) {
+					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+						stopQueue( data[ index ] );
+					}
+				}
+			}
+
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this &&
+					( type == null || timers[ index ].queue === type ) ) {
+
+					timers[ index ].anim.stop( gotoEnd );
+					dequeue = false;
+					timers.splice( index, 1 );
+				}
+			}
+
+			// Start the next in the queue if the last step wasn't forced.
+			// Timers currently will call their complete callbacks, which
+			// will dequeue but only if they were gotoEnd.
+			if ( dequeue || !gotoEnd ) {
+				jQuery.dequeue( this, type );
+			}
+		} );
+	},
+	finish: function( type ) {
+		if ( type !== false ) {
+			type = type || "fx";
+		}
+		return this.each( function() {
+			var index,
+				data = dataPriv.get( this ),
+				queue = data[ type + "queue" ],
+				hooks = data[ type + "queueHooks" ],
+				timers = jQuery.timers,
+				length = queue ? queue.length : 0;
+
+			// Enable finishing flag on private data
+			data.finish = true;
+
+			// Empty the queue first
+			jQuery.queue( this, type, [] );
+
+			if ( hooks && hooks.stop ) {
+				hooks.stop.call( this, true );
+			}
+
+			// Look for any active animations, and finish them
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+					timers[ index ].anim.stop( true );
+					timers.splice( index, 1 );
+				}
+			}
+
+			// Look for any animations in the old queue and finish them
+			for ( index = 0; index < length; index++ ) {
+				if ( queue[ index ] && queue[ index ].finish ) {
+					queue[ index ].finish.call( this );
+				}
+			}
+
+			// Turn off finishing flag
+			delete data.finish;
+		} );
+	}
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+	var cssFn = jQuery.fn[ name ];
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return speed == null || typeof speed === "boolean" ?
+			cssFn.apply( this, arguments ) :
+			this.animate( genFx( name, true ), speed, easing, callback );
+	};
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+	slideDown: genFx( "show" ),
+	slideUp: genFx( "hide" ),
+	slideToggle: genFx( "toggle" ),
+	fadeIn: { opacity: "show" },
+	fadeOut: { opacity: "hide" },
+	fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return this.animate( props, speed, easing, callback );
+	};
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+	var timer,
+		i = 0,
+		timers = jQuery.timers;
+
+	fxNow = Date.now();
+
+	for ( ; i < timers.length; i++ ) {
+		timer = timers[ i ];
+
+		// Run the timer and safely remove it when done (allowing for external removal)
+		if ( !timer() && timers[ i ] === timer ) {
+			timers.splice( i--, 1 );
+		}
+	}
+
+	if ( !timers.length ) {
+		jQuery.fx.stop();
+	}
+	fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+	jQuery.timers.push( timer );
+	jQuery.fx.start();
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+	if ( inProgress ) {
+		return;
+	}
+
+	inProgress = true;
+	schedule();
+};
+
+jQuery.fx.stop = function() {
+	inProgress = null;
+};
+
+jQuery.fx.speeds = {
+	slow: 600,
+	fast: 200,
+
+	// Default speed
+	_default: 400
+};
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+	type = type || "fx";
+
+	return this.queue( type, function( next, hooks ) {
+		var timeout = window.setTimeout( next, time );
+		hooks.stop = function() {
+			window.clearTimeout( timeout );
+		};
+	} );
+};
+
+
+( function() {
+	var input = document.createElement( "input" ),
+		select = document.createElement( "select" ),
+		opt = select.appendChild( document.createElement( "option" ) );
+
+	input.type = "checkbox";
+
+	// Support: Android <=4.3 only
+	// Default value for a checkbox should be "on"
+	support.checkOn = input.value !== "";
+
+	// Support: IE <=11 only
+	// Must access selectedIndex to make default options select
+	support.optSelected = opt.selected;
+
+	// Support: IE <=11 only
+	// An input loses its value after becoming a radio
+	input = document.createElement( "input" );
+	input.value = "t";
+	input.type = "radio";
+	support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+	attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+	attr: function( name, value ) {
+		return access( this, jQuery.attr, name, value, arguments.length > 1 );
+	},
+
+	removeAttr: function( name ) {
+		return this.each( function() {
+			jQuery.removeAttr( this, name );
+		} );
+	}
+} );
+
+jQuery.extend( {
+	attr: function( elem, name, value ) {
+		var ret, hooks,
+			nType = elem.nodeType;
+
+		// Don't get/set attributes on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		// Attribute hooks are determined by the lowercase version
+		// Grab necessary hook if one is defined
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+		}
+
+		if ( value !== undefined ) {
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+			}
+
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			elem.setAttribute( name, value + "" );
+			return value;
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		ret = jQuery.find.attr( elem, name );
+
+		// Non-existent attributes return null, we normalize to undefined
+		return ret == null ? undefined : ret;
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				if ( !support.radioValue && value === "radio" &&
+					nodeName( elem, "input" ) ) {
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var name,
+			i = 0,
+
+			// Attribute names can contain non-HTML whitespace characters
+			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+			attrNames = value && value.match( rnothtmlwhite );
+
+		if ( attrNames && elem.nodeType === 1 ) {
+			while ( ( name = attrNames[ i++ ] ) ) {
+				elem.removeAttribute( name );
+			}
+		}
+	}
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+	set: function( elem, value, name ) {
+		if ( value === false ) {
+
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			elem.setAttribute( name, name );
+		}
+		return name;
+	}
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+	var getter = attrHandle[ name ] || jQuery.find.attr;
+
+	attrHandle[ name ] = function( elem, name, isXML ) {
+		var ret, handle,
+			lowercaseName = name.toLowerCase();
+
+		if ( !isXML ) {
+
+			// Avoid an infinite loop by temporarily removing this function from the getter
+			handle = attrHandle[ lowercaseName ];
+			attrHandle[ lowercaseName ] = ret;
+			ret = getter( elem, name, isXML ) != null ?
+				lowercaseName :
+				null;
+			attrHandle[ lowercaseName ] = handle;
+		}
+		return ret;
+	};
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+	rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+	prop: function( name, value ) {
+		return access( this, jQuery.prop, name, value, arguments.length > 1 );
+	},
+
+	removeProp: function( name ) {
+		return this.each( function() {
+			delete this[ jQuery.propFix[ name ] || name ];
+		} );
+	}
+} );
+
+jQuery.extend( {
+	prop: function( elem, name, value ) {
+		var ret, hooks,
+			nType = elem.nodeType;
+
+		// Don't get/set properties on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			return ( elem[ name ] = value );
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		return elem[ name ];
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+
+				// Support: IE <=9 - 11 only
+				// elem.tabIndex doesn't always return the
+				// correct value when it hasn't been explicitly set
+				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				// Use proper attribute retrieval(#12072)
+				var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+				if ( tabindex ) {
+					return parseInt( tabindex, 10 );
+				}
+
+				if (
+					rfocusable.test( elem.nodeName ) ||
+					rclickable.test( elem.nodeName ) &&
+					elem.href
+				) {
+					return 0;
+				}
+
+				return -1;
+			}
+		}
+	},
+
+	propFix: {
+		"for": "htmlFor",
+		"class": "className"
+	}
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+	jQuery.propHooks.selected = {
+		get: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent && parent.parentNode ) {
+				parent.parentNode.selectedIndex;
+			}
+			return null;
+		},
+		set: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent ) {
+				parent.selectedIndex;
+
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+		}
+	};
+}
+
+jQuery.each( [
+	"tabIndex",
+	"readOnly",
+	"maxLength",
+	"cellSpacing",
+	"cellPadding",
+	"rowSpan",
+	"colSpan",
+	"useMap",
+	"frameBorder",
+	"contentEditable"
+], function() {
+	jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+	// Strip and collapse whitespace according to HTML spec
+	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
+	function stripAndCollapse( value ) {
+		var tokens = value.match( rnothtmlwhite ) || [];
+		return tokens.join( " " );
+	}
+
+
+function getClass( elem ) {
+	return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+function classesToArray( value ) {
+	if ( Array.isArray( value ) ) {
+		return value;
+	}
+	if ( typeof value === "string" ) {
+		return value.match( rnothtmlwhite ) || [];
+	}
+	return [];
+}
+
+jQuery.fn.extend( {
+	addClass: function( value ) {
+		var classes, elem, cur, curValue, clazz, j, finalValue,
+			i = 0;
+
+		if ( isFunction( value ) ) {
+			return this.each( function( j ) {
+				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+			} );
+		}
+
+		classes = classesToArray( value );
+
+		if ( classes.length ) {
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+							cur += clazz + " ";
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	removeClass: function( value ) {
+		var classes, elem, cur, curValue, clazz, j, finalValue,
+			i = 0;
+
+		if ( isFunction( value ) ) {
+			return this.each( function( j ) {
+				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+			} );
+		}
+
+		if ( !arguments.length ) {
+			return this.attr( "class", "" );
+		}
+
+		classes = classesToArray( value );
+
+		if ( classes.length ) {
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+
+				// This expression is here for better compressibility (see addClass)
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+
+						// Remove *all* instances
+						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+							cur = cur.replace( " " + clazz + " ", " " );
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value,
+			isValidValue = type === "string" || Array.isArray( value );
+
+		if ( typeof stateVal === "boolean" && isValidValue ) {
+			return stateVal ? this.addClass( value ) : this.removeClass( value );
+		}
+
+		if ( isFunction( value ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).toggleClass(
+					value.call( this, i, getClass( this ), stateVal ),
+					stateVal
+				);
+			} );
+		}
+
+		return this.each( function() {
+			var className, i, self, classNames;
+
+			if ( isValidValue ) {
+
+				// Toggle individual class names
+				i = 0;
+				self = jQuery( this );
+				classNames = classesToArray( value );
+
+				while ( ( className = classNames[ i++ ] ) ) {
+
+					// Check each className given, space separated list
+					if ( self.hasClass( className ) ) {
+						self.removeClass( className );
+					} else {
+						self.addClass( className );
+					}
+				}
+
+			// Toggle whole class name
+			} else if ( value === undefined || type === "boolean" ) {
+				className = getClass( this );
+				if ( className ) {
+
+					// Store className if set
+					dataPriv.set( this, "__className__", className );
+				}
+
+				// If the element has a class name or if we're passed `false`,
+				// then remove the whole classname (if there was one, the above saved it).
+				// Otherwise bring back whatever was previously saved (if anything),
+				// falling back to the empty string if nothing was stored.
+				if ( this.setAttribute ) {
+					this.setAttribute( "class",
+						className || value === false ?
+						"" :
+						dataPriv.get( this, "__className__" ) || ""
+					);
+				}
+			}
+		} );
+	},
+
+	hasClass: function( selector ) {
+		var className, elem,
+			i = 0;
+
+		className = " " + selector + " ";
+		while ( ( elem = this[ i++ ] ) ) {
+			if ( elem.nodeType === 1 &&
+				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+					return true;
+			}
+		}
+
+		return false;
+	}
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+	val: function( value ) {
+		var hooks, ret, valueIsFunction,
+			elem = this[ 0 ];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.type ] ||
+					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+				if ( hooks &&
+					"get" in hooks &&
+					( ret = hooks.get( elem, "value" ) ) !== undefined
+				) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				// Handle most common string cases
+				if ( typeof ret === "string" ) {
+					return ret.replace( rreturn, "" );
+				}
+
+				// Handle cases where value is null/undef or number
+				return ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		valueIsFunction = isFunction( value );
+
+		return this.each( function( i ) {
+			var val;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( valueIsFunction ) {
+				val = value.call( this, i, jQuery( this ).val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+
+			} else if ( typeof val === "number" ) {
+				val += "";
+
+			} else if ( Array.isArray( val ) ) {
+				val = jQuery.map( val, function( value ) {
+					return value == null ? "" : value + "";
+				} );
+			}
+
+			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		} );
+	}
+} );
+
+jQuery.extend( {
+	valHooks: {
+		option: {
+			get: function( elem ) {
+
+				var val = jQuery.find.attr( elem, "value" );
+				return val != null ?
+					val :
+
+					// Support: IE <=10 - 11 only
+					// option.text throws exceptions (#14686, #14858)
+					// Strip and collapse whitespace
+					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+					stripAndCollapse( jQuery.text( elem ) );
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, option, i,
+					options = elem.options,
+					index = elem.selectedIndex,
+					one = elem.type === "select-one",
+					values = one ? null : [],
+					max = one ? index + 1 : options.length;
+
+				if ( index < 0 ) {
+					i = max;
+
+				} else {
+					i = one ? index : 0;
+				}
+
+				// Loop through all the selected options
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Support: IE <=9 only
+					// IE8-9 doesn't update selected after form reset (#2551)
+					if ( ( option.selected || i === index ) &&
+
+							// Don't return options that are disabled or in a disabled optgroup
+							!option.disabled &&
+							( !option.parentNode.disabled ||
+								!nodeName( option.parentNode, "optgroup" ) ) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var optionSet, option,
+					options = elem.options,
+					values = jQuery.makeArray( value ),
+					i = options.length;
+
+				while ( i-- ) {
+					option = options[ i ];
+
+					/* eslint-disable no-cond-assign */
+
+					if ( option.selected =
+						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+					) {
+						optionSet = true;
+					}
+
+					/* eslint-enable no-cond-assign */
+				}
+
+				// Force browsers to behave consistently when non-matching value is set
+				if ( !optionSet ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	}
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = {
+		set: function( elem, value ) {
+			if ( Array.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+			}
+		}
+	};
+	if ( !support.checkOn ) {
+		jQuery.valHooks[ this ].get = function( elem ) {
+			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+		};
+	}
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+support.focusin = "onfocusin" in window;
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+	stopPropagationCallback = function( e ) {
+		e.stopPropagation();
+	};
+
+jQuery.extend( jQuery.event, {
+
+	trigger: function( event, data, elem, onlyHandlers ) {
+
+		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
+			eventPath = [ elem || document ],
+			type = hasOwn.call( event, "type" ) ? event.type : event,
+			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+		cur = lastElement = tmp = elem = elem || document;
+
+		// Don't do events on text and comment nodes
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "." ) > -1 ) {
+
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split( "." );
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+		ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+		// Caller can pass in a jQuery.Event object, Object, or just an event type string
+		event = event[ jQuery.expando ] ?
+			event :
+			new jQuery.Event( type, typeof event === "object" && event );
+
+		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+		event.isTrigger = onlyHandlers ? 2 : 3;
+		event.namespace = namespaces.join( "." );
+		event.rnamespace = event.namespace ?
+			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+			null;
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data == null ?
+			[ event ] :
+			jQuery.makeArray( data, [ event ] );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			if ( !rfocusMorph.test( bubbleType + type ) ) {
+				cur = cur.parentNode;
+			}
+			for ( ; cur; cur = cur.parentNode ) {
+				eventPath.push( cur );
+				tmp = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( tmp === ( elem.ownerDocument || document ) ) {
+				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+			}
+		}
+
+		// Fire handlers on the event path
+		i = 0;
+		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+			lastElement = cur;
+			event.type = i > 1 ?
+				bubbleType :
+				special.bindType || type;
+
+			// jQuery handler
+			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+				dataPriv.get( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+
+			// Native handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && handle.apply && acceptData( cur ) ) {
+				event.result = handle.apply( cur, data );
+				if ( event.result === false ) {
+					event.preventDefault();
+				}
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( ( !special._default ||
+				special._default.apply( eventPath.pop(), data ) === false ) &&
+				acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name as the event.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					tmp = elem[ ontype ];
+
+					if ( tmp ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+
+					if ( event.isPropagationStopped() ) {
+						lastElement.addEventListener( type, stopPropagationCallback );
+					}
+
+					elem[ type ]();
+
+					if ( event.isPropagationStopped() ) {
+						lastElement.removeEventListener( type, stopPropagationCallback );
+					}
+
+					jQuery.event.triggered = undefined;
+
+					if ( tmp ) {
+						elem[ ontype ] = tmp;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	// Piggyback on a donor event to simulate a different one
+	// Used only for `focus(in | out)` events
+	simulate: function( type, elem, event ) {
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{
+				type: type,
+				isSimulated: true
+			}
+		);
+
+		jQuery.event.trigger( e, null, elem );
+	}
+
+} );
+
+jQuery.fn.extend( {
+
+	trigger: function( type, data ) {
+		return this.each( function() {
+			jQuery.event.trigger( type, data, this );
+		} );
+	},
+	triggerHandler: function( type, data ) {
+		var elem = this[ 0 ];
+		if ( elem ) {
+			return jQuery.event.trigger( type, data, elem, true );
+		}
+	}
+} );
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler on the document while someone wants focusin/focusout
+		var handler = function( event ) {
+			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+		};
+
+		jQuery.event.special[ fix ] = {
+			setup: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix );
+
+				if ( !attaches ) {
+					doc.addEventListener( orig, handler, true );
+				}
+				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+			},
+			teardown: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix ) - 1;
+
+				if ( !attaches ) {
+					doc.removeEventListener( orig, handler, true );
+					dataPriv.remove( doc, fix );
+
+				} else {
+					dataPriv.access( doc, fix, attaches );
+				}
+			}
+		};
+	} );
+}
+var location = window.location;
+
+var nonce = Date.now();
+
+var rquery = ( /\?/ );
+
+
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+	var xml;
+	if ( !data || typeof data !== "string" ) {
+		return null;
+	}
+
+	// Support: IE 9 - 11 only
+	// IE throws on parseFromString with invalid input.
+	try {
+		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+	} catch ( e ) {
+		xml = undefined;
+	}
+
+	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+		jQuery.error( "Invalid XML: " + data );
+	}
+	return xml;
+};
+
+
+var
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+	rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+	var name;
+
+	if ( Array.isArray( obj ) ) {
+
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+
+				// Item is non-scalar (array or object), encode its numeric index.
+				buildParams(
+					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+					v,
+					traditional,
+					add
+				);
+			}
+		} );
+
+	} else if ( !traditional && toType( obj ) === "object" ) {
+
+		// Serialize object item.
+		for ( name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+	var prefix,
+		s = [],
+		add = function( key, valueOrFunction ) {
+
+			// If value is a function, invoke it and use its return value
+			var value = isFunction( valueOrFunction ) ?
+				valueOrFunction() :
+				valueOrFunction;
+
+			s[ s.length ] = encodeURIComponent( key ) + "=" +
+				encodeURIComponent( value == null ? "" : value );
+		};
+
+	// If an array was passed in, assume that it is an array of form elements.
+	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+		// Serialize the form elements
+		jQuery.each( a, function() {
+			add( this.name, this.value );
+		} );
+
+	} else {
+
+		// If traditional, encode the "old" way (the way 1.3.2 or older
+		// did it), otherwise encode params recursively.
+		for ( prefix in a ) {
+			buildParams( prefix, a[ prefix ], traditional, add );
+		}
+	}
+
+	// Return the resulting serialization
+	return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+	serializeArray: function() {
+		return this.map( function() {
+
+			// Can add propHook for "elements" to filter or add form elements
+			var elements = jQuery.prop( this, "elements" );
+			return elements ? jQuery.makeArray( elements ) : this;
+		} )
+		.filter( function() {
+			var type = this.type;
+
+			// Use .is( ":disabled" ) so that fieldset[disabled] works
+			return this.name && !jQuery( this ).is( ":disabled" ) &&
+				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+				( this.checked || !rcheckableType.test( type ) );
+		} )
+		.map( function( i, elem ) {
+			var val = jQuery( this ).val();
+
+			if ( val == null ) {
+				return null;
+			}
+
+			if ( Array.isArray( val ) ) {
+				return jQuery.map( val, function( val ) {
+					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+				} );
+			}
+
+			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		} ).get();
+	}
+} );
+
+
+var
+	r20 = /%20/g,
+	rhash = /#.*$/,
+	rantiCache = /([?&])_=[^&]*/,
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+	// #7653, #8125, #8152: local protocol detection
+	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+	rnoContent = /^(?:GET|HEAD)$/,
+	rprotocol = /^\/\//,
+
+	/* Prefilters
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+	 * 2) These are called:
+	 *    - BEFORE asking for a transport
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
+	 * 3) key is the dataType
+	 * 4) the catchall symbol "*" can be used
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+	 */
+	prefilters = {},
+
+	/* Transports bindings
+	 * 1) key is the dataType
+	 * 2) the catchall symbol "*" can be used
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
+	 */
+	transports = {},
+
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+	allTypes = "*/".concat( "*" ),
+
+	// Anchor tag for parsing the document origin
+	originAnchor = document.createElement( "a" );
+	originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+	// dataTypeExpression is optional and defaults to "*"
+	return function( dataTypeExpression, func ) {
+
+		if ( typeof dataTypeExpression !== "string" ) {
+			func = dataTypeExpression;
+			dataTypeExpression = "*";
+		}
+
+		var dataType,
+			i = 0,
+			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
+
+		if ( isFunction( func ) ) {
+
+			// For each dataType in the dataTypeExpression
+			while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+				// Prepend if requested
+				if ( dataType[ 0 ] === "+" ) {
+					dataType = dataType.slice( 1 ) || "*";
+					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+				// Otherwise append
+				} else {
+					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+				}
+			}
+		}
+	};
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+	var inspected = {},
+		seekingTransport = ( structure === transports );
+
+	function inspect( dataType ) {
+		var selected;
+		inspected[ dataType ] = true;
+		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+			if ( typeof dataTypeOrTransport === "string" &&
+				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+				options.dataTypes.unshift( dataTypeOrTransport );
+				inspect( dataTypeOrTransport );
+				return false;
+			} else if ( seekingTransport ) {
+				return !( selected = dataTypeOrTransport );
+			}
+		} );
+		return selected;
+	}
+
+	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+	var key, deep,
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+	for ( key in src ) {
+		if ( src[ key ] !== undefined ) {
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+		}
+	}
+	if ( deep ) {
+		jQuery.extend( true, target, deep );
+	}
+
+	return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+	var ct, type, finalDataType, firstDataType,
+		contents = s.contents,
+		dataTypes = s.dataTypes;
+
+	// Remove auto dataType and get content-type in the process
+	while ( dataTypes[ 0 ] === "*" ) {
+		dataTypes.shift();
+		if ( ct === undefined ) {
+			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+		}
+	}
+
+	// Check if we're dealing with a known content-type
+	if ( ct ) {
+		for ( type in contents ) {
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
+				dataTypes.unshift( type );
+				break;
+			}
+		}
+	}
+
+	// Check to see if we have a response for the expected dataType
+	if ( dataTypes[ 0 ] in responses ) {
+		finalDataType = dataTypes[ 0 ];
+	} else {
+
+		// Try convertible dataTypes
+		for ( type in responses ) {
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+				finalDataType = type;
+				break;
+			}
+			if ( !firstDataType ) {
+				firstDataType = type;
+			}
+		}
+
+		// Or just use first one
+		finalDataType = finalDataType || firstDataType;
+	}
+
+	// If we found a dataType
+	// We add the dataType to the list if needed
+	// and return the corresponding response
+	if ( finalDataType ) {
+		if ( finalDataType !== dataTypes[ 0 ] ) {
+			dataTypes.unshift( finalDataType );
+		}
+		return responses[ finalDataType ];
+	}
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+	var conv2, current, conv, tmp, prev,
+		converters = {},
+
+		// Work with a copy of dataTypes in case we need to modify it for conversion
+		dataTypes = s.dataTypes.slice();
+
+	// Create converters map with lowercased keys
+	if ( dataTypes[ 1 ] ) {
+		for ( conv in s.converters ) {
+			converters[ conv.toLowerCase() ] = s.converters[ conv ];
+		}
+	}
+
+	current = dataTypes.shift();
+
+	// Convert to each sequential dataType
+	while ( current ) {
+
+		if ( s.responseFields[ current ] ) {
+			jqXHR[ s.responseFields[ current ] ] = response;
+		}
+
+		// Apply the dataFilter if provided
+		if ( !prev && isSuccess && s.dataFilter ) {
+			response = s.dataFilter( response, s.dataType );
+		}
+
+		prev = current;
+		current = dataTypes.shift();
+
+		if ( current ) {
+
+			// There's only work to do if current dataType is non-auto
+			if ( current === "*" ) {
+
+				current = prev;
+
+			// Convert response if prev dataType is non-auto and differs from current
+			} else if ( prev !== "*" && prev !== current ) {
+
+				// Seek a direct converter
+				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+				// If none found, seek a pair
+				if ( !conv ) {
+					for ( conv2 in converters ) {
+
+						// If conv2 outputs current
+						tmp = conv2.split( " " );
+						if ( tmp[ 1 ] === current ) {
+
+							// If prev can be converted to accepted input
+							conv = converters[ prev + " " + tmp[ 0 ] ] ||
+								converters[ "* " + tmp[ 0 ] ];
+							if ( conv ) {
+
+								// Condense equivalence converters
+								if ( conv === true ) {
+									conv = converters[ conv2 ];
+
+								// Otherwise, insert the intermediate dataType
+								} else if ( converters[ conv2 ] !== true ) {
+									current = tmp[ 0 ];
+									dataTypes.unshift( tmp[ 1 ] );
+								}
+								break;
+							}
+						}
+					}
+				}
+
+				// Apply converter (if not an equivalence)
+				if ( conv !== true ) {
+
+					// Unless errors are allowed to bubble, catch and return them
+					if ( conv && s.throws ) {
+						response = conv( response );
+					} else {
+						try {
+							response = conv( response );
+						} catch ( e ) {
+							return {
+								state: "parsererror",
+								error: conv ? e : "No conversion from " + prev + " to " + current
+							};
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+	// Counter for holding the number of active queries
+	active: 0,
+
+	// Last-Modified header cache for next request
+	lastModified: {},
+	etag: {},
+
+	ajaxSettings: {
+		url: location.href,
+		type: "GET",
+		isLocal: rlocalProtocol.test( location.protocol ),
+		global: true,
+		processData: true,
+		async: true,
+		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+		/*
+		timeout: 0,
+		data: null,
+		dataType: null,
+		username: null,
+		password: null,
+		cache: null,
+		throws: false,
+		traditional: false,
+		headers: {},
+		*/
+
+		accepts: {
+			"*": allTypes,
+			text: "text/plain",
+			html: "text/html",
+			xml: "application/xml, text/xml",
+			json: "application/json, text/javascript"
+		},
+
+		contents: {
+			xml: /\bxml\b/,
+			html: /\bhtml/,
+			json: /\bjson\b/
+		},
+
+		responseFields: {
+			xml: "responseXML",
+			text: "responseText",
+			json: "responseJSON"
+		},
+
+		// Data converters
+		// Keys separate source (or catchall "*") and destination types with a single space
+		converters: {
+
+			// Convert anything to text
+			"* text": String,
+
+			// Text to html (true = no transformation)
+			"text html": true,
+
+			// Evaluate text as a json expression
+			"text json": JSON.parse,
+
+			// Parse text as xml
+			"text xml": jQuery.parseXML
+		},
+
+		// For options that shouldn't be deep extended:
+		// you can add your own custom options here if
+		// and when you create one that shouldn't be
+		// deep extended (see ajaxExtend)
+		flatOptions: {
+			url: true,
+			context: true
+		}
+	},
+
+	// Creates a full fledged settings object into target
+	// with both ajaxSettings and settings fields.
+	// If target is omitted, writes into ajaxSettings.
+	ajaxSetup: function( target, settings ) {
+		return settings ?
+
+			// Building a settings object
+			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+			// Extending ajaxSettings
+			ajaxExtend( jQuery.ajaxSettings, target );
+	},
+
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+	// Main method
+	ajax: function( url, options ) {
+
+		// If url is an object, simulate pre-1.5 signature
+		if ( typeof url === "object" ) {
+			options = url;
+			url = undefined;
+		}
+
+		// Force options to be an object
+		options = options || {};
+
+		var transport,
+
+			// URL without anti-cache param
+			cacheURL,
+
+			// Response headers
+			responseHeadersString,
+			responseHeaders,
+
+			// timeout handle
+			timeoutTimer,
+
+			// Url cleanup var
+			urlAnchor,
+
+			// Request state (becomes false upon send and true upon completion)
+			completed,
+
+			// To know if global events are to be dispatched
+			fireGlobals,
+
+			// Loop variable
+			i,
+
+			// uncached part of the url
+			uncached,
+
+			// Create the final options object
+			s = jQuery.ajaxSetup( {}, options ),
+
+			// Callbacks context
+			callbackContext = s.context || s,
+
+			// Context for global events is callbackContext if it is a DOM node or jQuery collection
+			globalEventContext = s.context &&
+				( callbackContext.nodeType || callbackContext.jquery ) ?
+					jQuery( callbackContext ) :
+					jQuery.event,
+
+			// Deferreds
+			deferred = jQuery.Deferred(),
+			completeDeferred = jQuery.Callbacks( "once memory" ),
+
+			// Status-dependent callbacks
+			statusCode = s.statusCode || {},
+
+			// Headers (they are sent all at once)
+			requestHeaders = {},
+			requestHeadersNames = {},
+
+			// Default abort message
+			strAbort = "canceled",
+
+			// Fake xhr
+			jqXHR = {
+				readyState: 0,
+
+				// Builds headers hashtable if needed
+				getResponseHeader: function( key ) {
+					var match;
+					if ( completed ) {
+						if ( !responseHeaders ) {
+							responseHeaders = {};
+							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+							}
+						}
+						match = responseHeaders[ key.toLowerCase() ];
+					}
+					return match == null ? null : match;
+				},
+
+				// Raw string
+				getAllResponseHeaders: function() {
+					return completed ? responseHeadersString : null;
+				},
+
+				// Caches the header
+				setRequestHeader: function( name, value ) {
+					if ( completed == null ) {
+						name = requestHeadersNames[ name.toLowerCase() ] =
+							requestHeadersNames[ name.toLowerCase() ] || name;
+						requestHeaders[ name ] = value;
+					}
+					return this;
+				},
+
+				// Overrides response content-type header
+				overrideMimeType: function( type ) {
+					if ( completed == null ) {
+						s.mimeType = type;
+					}
+					return this;
+				},
+
+				// Status-dependent callbacks
+				statusCode: function( map ) {
+					var code;
+					if ( map ) {
+						if ( completed ) {
+
+							// Execute the appropriate callbacks
+							jqXHR.always( map[ jqXHR.status ] );
+						} else {
+
+							// Lazy-add the new callbacks in a way that preserves old ones
+							for ( code in map ) {
+								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+							}
+						}
+					}
+					return this;
+				},
+
+				// Cancel the request
+				abort: function( statusText ) {
+					var finalText = statusText || strAbort;
+					if ( transport ) {
+						transport.abort( finalText );
+					}
+					done( 0, finalText );
+					return this;
+				}
+			};
+
+		// Attach deferreds
+		deferred.promise( jqXHR );
+
+		// Add protocol if not provided (prefilters might expect it)
+		// Handle falsy url in the settings object (#10093: consistency with old signature)
+		// We also use the url parameter if available
+		s.url = ( ( url || s.url || location.href ) + "" )
+			.replace( rprotocol, location.protocol + "//" );
+
+		// Alias method option to type as per ticket #12004
+		s.type = options.method || options.type || s.method || s.type;
+
+		// Extract dataTypes list
+		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
+
+		// A cross-domain request is in order when the origin doesn't match the current origin.
+		if ( s.crossDomain == null ) {
+			urlAnchor = document.createElement( "a" );
+
+			// Support: IE <=8 - 11, Edge 12 - 15
+			// IE throws exception on accessing the href property if url is malformed,
+			// e.g. http://example.com:80x/
+			try {
+				urlAnchor.href = s.url;
+
+				// Support: IE <=8 - 11 only
+				// Anchor's host property isn't correctly set when s.url is relative
+				urlAnchor.href = urlAnchor.href;
+				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+					urlAnchor.protocol + "//" + urlAnchor.host;
+			} catch ( e ) {
+
+				// If there is an error parsing the URL, assume it is crossDomain,
+				// it can be rejected by the transport if it is invalid
+				s.crossDomain = true;
+			}
+		}
+
+		// Convert data if not already a string
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
+			s.data = jQuery.param( s.data, s.traditional );
+		}
+
+		// Apply prefilters
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+		// If request was aborted inside a prefilter, stop there
+		if ( completed ) {
+			return jqXHR;
+		}
+
+		// We can fire global events as of now if asked to
+		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+		fireGlobals = jQuery.event && s.global;
+
+		// Watch for a new set of requests
+		if ( fireGlobals && jQuery.active++ === 0 ) {
+			jQuery.event.trigger( "ajaxStart" );
+		}
+
+		// Uppercase the type
+		s.type = s.type.toUpperCase();
+
+		// Determine if request has content
+		s.hasContent = !rnoContent.test( s.type );
+
+		// Save the URL in case we're toying with the If-Modified-Since
+		// and/or If-None-Match header later on
+		// Remove hash to simplify url manipulation
+		cacheURL = s.url.replace( rhash, "" );
+
+		// More options handling for requests with no content
+		if ( !s.hasContent ) {
+
+			// Remember the hash so we can put it back
+			uncached = s.url.slice( cacheURL.length );
+
+			// If data is available and should be processed, append data to url
+			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
+				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+				// #9682: remove data so that it's not used in an eventual retry
+				delete s.data;
+			}
+
+			// Add or update anti-cache param if needed
+			if ( s.cache === false ) {
+				cacheURL = cacheURL.replace( rantiCache, "$1" );
+				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+			}
+
+			// Put hash and anti-cache on the URL that will be requested (gh-1732)
+			s.url = cacheURL + uncached;
+
+		// Change '%20' to '+' if this is encoded form body content (gh-2658)
+		} else if ( s.data && s.processData &&
+			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+			s.data = s.data.replace( r20, "+" );
+		}
+
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+		if ( s.ifModified ) {
+			if ( jQuery.lastModified[ cacheURL ] ) {
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+			}
+			if ( jQuery.etag[ cacheURL ] ) {
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+			}
+		}
+
+		// Set the correct header, if data is being sent
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
+		}
+
+		// Set the Accepts header for the server, depending on the dataType
+		jqXHR.setRequestHeader(
+			"Accept",
+			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+				s.accepts[ s.dataTypes[ 0 ] ] +
+					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+				s.accepts[ "*" ]
+		);
+
+		// Check for headers option
+		for ( i in s.headers ) {
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
+		}
+
+		// Allow custom headers/mimetypes and early abort
+		if ( s.beforeSend &&
+			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+			// Abort if not done already and return
+			return jqXHR.abort();
+		}
+
+		// Aborting is no longer a cancellation
+		strAbort = "abort";
+
+		// Install callbacks on deferreds
+		completeDeferred.add( s.complete );
+		jqXHR.done( s.success );
+		jqXHR.fail( s.error );
+
+		// Get transport
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+		// If no transport, we auto-abort
+		if ( !transport ) {
+			done( -1, "No Transport" );
+		} else {
+			jqXHR.readyState = 1;
+
+			// Send global event
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+			}
+
+			// If request was aborted inside ajaxSend, stop there
+			if ( completed ) {
+				return jqXHR;
+			}
+
+			// Timeout
+			if ( s.async && s.timeout > 0 ) {
+				timeoutTimer = window.setTimeout( function() {
+					jqXHR.abort( "timeout" );
+				}, s.timeout );
+			}
+
+			try {
+				completed = false;
+				transport.send( requestHeaders, done );
+			} catch ( e ) {
+
+				// Rethrow post-completion exceptions
+				if ( completed ) {
+					throw e;
+				}
+
+				// Propagate others as results
+				done( -1, e );
+			}
+		}
+
+		// Callback for when everything is done
+		function done( status, nativeStatusText, responses, headers ) {
+			var isSuccess, success, error, response, modified,
+				statusText = nativeStatusText;
+
+			// Ignore repeat invocations
+			if ( completed ) {
+				return;
+			}
+
+			completed = true;
+
+			// Clear timeout if it exists
+			if ( timeoutTimer ) {
+				window.clearTimeout( timeoutTimer );
+			}
+
+			// Dereference transport for early garbage collection
+			// (no matter how long the jqXHR object will be used)
+			transport = undefined;
+
+			// Cache response headers
+			responseHeadersString = headers || "";
+
+			// Set readyState
+			jqXHR.readyState = status > 0 ? 4 : 0;
+
+			// Determine if successful
+			isSuccess = status >= 200 && status < 300 || status === 304;
+
+			// Get response data
+			if ( responses ) {
+				response = ajaxHandleResponses( s, jqXHR, responses );
+			}
+
+			// Convert no matter what (that way responseXXX fields are always set)
+			response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+			// If successful, handle type chaining
+			if ( isSuccess ) {
+
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+				if ( s.ifModified ) {
+					modified = jqXHR.getResponseHeader( "Last-Modified" );
+					if ( modified ) {
+						jQuery.lastModified[ cacheURL ] = modified;
+					}
+					modified = jqXHR.getResponseHeader( "etag" );
+					if ( modified ) {
+						jQuery.etag[ cacheURL ] = modified;
+					}
+				}
+
+				// if no content
+				if ( status === 204 || s.type === "HEAD" ) {
+					statusText = "nocontent";
+
+				// if not modified
+				} else if ( status === 304 ) {
+					statusText = "notmodified";
+
+				// If we have data, let's convert it
+				} else {
+					statusText = response.state;
+					success = response.data;
+					error = response.error;
+					isSuccess = !error;
+				}
+			} else {
+
+				// Extract error from statusText and normalize for non-aborts
+				error = statusText;
+				if ( status || !statusText ) {
+					statusText = "error";
+					if ( status < 0 ) {
+						status = 0;
+					}
+				}
+			}
+
+			// Set data for the fake xhr object
+			jqXHR.status = status;
+			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+			// Success/Error
+			if ( isSuccess ) {
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+			} else {
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+			}
+
+			// Status-dependent callbacks
+			jqXHR.statusCode( statusCode );
+			statusCode = undefined;
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+					[ jqXHR, s, isSuccess ? success : error ] );
+			}
+
+			// Complete
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+				// Handle the global AJAX counter
+				if ( !( --jQuery.active ) ) {
+					jQuery.event.trigger( "ajaxStop" );
+				}
+			}
+		}
+
+		return jqXHR;
+	},
+
+	getJSON: function( url, data, callback ) {
+		return jQuery.get( url, data, callback, "json" );
+	},
+
+	getScript: function( url, callback ) {
+		return jQuery.get( url, undefined, callback, "script" );
+	}
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+	jQuery[ method ] = function( url, data, callback, type ) {
+
+		// Shift arguments if data argument was omitted
+		if ( isFunction( data ) ) {
+			type = type || callback;
+			callback = data;
+			data = undefined;
+		}
+
+		// The url can be an options object (which then must have .url)
+		return jQuery.ajax( jQuery.extend( {
+			url: url,
+			type: method,
+			dataType: type,
+			data: data,
+			success: callback
+		}, jQuery.isPlainObject( url ) && url ) );
+	};
+} );
+
+
+jQuery._evalUrl = function( url ) {
+	return jQuery.ajax( {
+		url: url,
+
+		// Make this explicit, since user can override this through ajaxSetup (#11264)
+		type: "GET",
+		dataType: "script",
+		cache: true,
+		async: false,
+		global: false,
+		"throws": true
+	} );
+};
+
+
+jQuery.fn.extend( {
+	wrapAll: function( html ) {
+		var wrap;
+
+		if ( this[ 0 ] ) {
+			if ( isFunction( html ) ) {
+				html = html.call( this[ 0 ] );
+			}
+
+			// The elements to wrap the target around
+			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+			if ( this[ 0 ].parentNode ) {
+				wrap.insertBefore( this[ 0 ] );
+			}
+
+			wrap.map( function() {
+				var elem = this;
+
+				while ( elem.firstElementChild ) {
+					elem = elem.firstElementChild;
+				}
+
+				return elem;
+			} ).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( isFunction( html ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).wrapInner( html.call( this, i ) );
+			} );
+		}
+
+		return this.each( function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				self.append( html );
+			}
+		} );
+	},
+
+	wrap: function( html ) {
+		var htmlIsFunction = isFunction( html );
+
+		return this.each( function( i ) {
+			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
+		} );
+	},
+
+	unwrap: function( selector ) {
+		this.parent( selector ).not( "body" ).each( function() {
+			jQuery( this ).replaceWith( this.childNodes );
+		} );
+		return this;
+	}
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+	return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+jQuery.ajaxSettings.xhr = function() {
+	try {
+		return new window.XMLHttpRequest();
+	} catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+		// File protocol always yields status code 0, assume 200
+		0: 200,
+
+		// Support: IE <=9 only
+		// #1450: sometimes IE returns 1223 when it should be 204
+		1223: 204
+	},
+	xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+	var callback, errorCallback;
+
+	// Cross domain only allowed if supported through XMLHttpRequest
+	if ( support.cors || xhrSupported && !options.crossDomain ) {
+		return {
+			send: function( headers, complete ) {
+				var i,
+					xhr = options.xhr();
+
+				xhr.open(
+					options.type,
+					options.url,
+					options.async,
+					options.username,
+					options.password
+				);
+
+				// Apply custom fields if provided
+				if ( options.xhrFields ) {
+					for ( i in options.xhrFields ) {
+						xhr[ i ] = options.xhrFields[ i ];
+					}
+				}
+
+				// Override mime type if needed
+				if ( options.mimeType && xhr.overrideMimeType ) {
+					xhr.overrideMimeType( options.mimeType );
+				}
+
+				// X-Requested-With header
+				// For cross-domain requests, seeing as conditions for a preflight are
+				// akin to a jigsaw puzzle, we simply never set it to be sure.
+				// (it can always be set on a per-request basis or even using ajaxSetup)
+				// For same-domain requests, won't change header if already provided.
+				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+					headers[ "X-Requested-With" ] = "XMLHttpRequest";
+				}
+
+				// Set headers
+				for ( i in headers ) {
+					xhr.setRequestHeader( i, headers[ i ] );
+				}
+
+				// Callback
+				callback = function( type ) {
+					return function() {
+						if ( callback ) {
+							callback = errorCallback = xhr.onload =
+								xhr.onerror = xhr.onabort = xhr.ontimeout =
+									xhr.onreadystatechange = null;
+
+							if ( type === "abort" ) {
+								xhr.abort();
+							} else if ( type === "error" ) {
+
+								// Support: IE <=9 only
+								// On a manual native abort, IE9 throws
+								// errors on any property access that is not readyState
+								if ( typeof xhr.status !== "number" ) {
+									complete( 0, "error" );
+								} else {
+									complete(
+
+										// File: protocol always yields status 0; see #8605, #14207
+										xhr.status,
+										xhr.statusText
+									);
+								}
+							} else {
+								complete(
+									xhrSuccessStatus[ xhr.status ] || xhr.status,
+									xhr.statusText,
+
+									// Support: IE <=9 only
+									// IE9 has no XHR2 but throws on binary (trac-11426)
+									// For XHR2 non-text, let the caller handle it (gh-2498)
+									( xhr.responseType || "text" ) !== "text"  ||
+									typeof xhr.responseText !== "string" ?
+										{ binary: xhr.response } :
+										{ text: xhr.responseText },
+									xhr.getAllResponseHeaders()
+								);
+							}
+						}
+					};
+				};
+
+				// Listen to events
+				xhr.onload = callback();
+				errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
+
+				// Support: IE 9 only
+				// Use onreadystatechange to replace onabort
+				// to handle uncaught aborts
+				if ( xhr.onabort !== undefined ) {
+					xhr.onabort = errorCallback;
+				} else {
+					xhr.onreadystatechange = function() {
+
+						// Check readyState before timeout as it changes
+						if ( xhr.readyState === 4 ) {
+
+							// Allow onerror to be called first,
+							// but that will not handle a native abort
+							// Also, save errorCallback to a variable
+							// as xhr.onerror cannot be accessed
+							window.setTimeout( function() {
+								if ( callback ) {
+									errorCallback();
+								}
+							} );
+						}
+					};
+				}
+
+				// Create the abort callback
+				callback = callback( "abort" );
+
+				try {
+
+					// Do send the request (this may raise an exception)
+					xhr.send( options.hasContent && options.data || null );
+				} catch ( e ) {
+
+					// #14683: Only rethrow if this hasn't been notified as an error yet
+					if ( callback ) {
+						throw e;
+					}
+				}
+			},
+
+			abort: function() {
+				if ( callback ) {
+					callback();
+				}
+			}
+		};
+	}
+} );
+
+
+
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+	if ( s.crossDomain ) {
+		s.contents.script = false;
+	}
+} );
+
+// Install script dataType
+jQuery.ajaxSetup( {
+	accepts: {
+		script: "text/javascript, application/javascript, " +
+			"application/ecmascript, application/x-ecmascript"
+	},
+	contents: {
+		script: /\b(?:java|ecma)script\b/
+	},
+	converters: {
+		"text script": function( text ) {
+			jQuery.globalEval( text );
+			return text;
+		}
+	}
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+	if ( s.cache === undefined ) {
+		s.cache = false;
+	}
+	if ( s.crossDomain ) {
+		s.type = "GET";
+	}
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+	// This transport only deals with cross domain requests
+	if ( s.crossDomain ) {
+		var script, callback;
+		return {
+			send: function( _, complete ) {
+				script = jQuery( "<script>" ).prop( {
+					charset: s.scriptCharset,
+					src: s.url
+				} ).on(
+					"load error",
+					callback = function( evt ) {
+						script.remove();
+						callback = null;
+						if ( evt ) {
+							complete( evt.type === "error" ? 404 : 200, evt.type );
+						}
+					}
+				);
+
+				// Use native DOM manipulation to avoid our domManip AJAX trickery
+				document.head.appendChild( script[ 0 ] );
+			},
+			abort: function() {
+				if ( callback ) {
+					callback();
+				}
+			}
+		};
+	}
+} );
+
+
+
+
+var oldCallbacks = [],
+	rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+	jsonp: "callback",
+	jsonpCallback: function() {
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+		this[ callback ] = true;
+		return callback;
+	}
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+	var callbackName, overwritten, responseContainer,
+		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+			"url" :
+			typeof s.data === "string" &&
+				( s.contentType || "" )
+					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+				rjsonp.test( s.data ) && "data"
+		);
+
+	// Handle iff the expected data type is "jsonp" or we have a parameter to set
+	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+		// Get callback name, remembering preexisting value associated with it
+		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
+			s.jsonpCallback() :
+			s.jsonpCallback;
+
+		// Insert callback into url or form data
+		if ( jsonProp ) {
+			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+		} else if ( s.jsonp !== false ) {
+			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+		}
+
+		// Use data converter to retrieve json after script execution
+		s.converters[ "script json" ] = function() {
+			if ( !responseContainer ) {
+				jQuery.error( callbackName + " was not called" );
+			}
+			return responseContainer[ 0 ];
+		};
+
+		// Force json dataType
+		s.dataTypes[ 0 ] = "json";
+
+		// Install callback
+		overwritten = window[ callbackName ];
+		window[ callbackName ] = function() {
+			responseContainer = arguments;
+		};
+
+		// Clean-up function (fires after converters)
+		jqXHR.always( function() {
+
+			// If previous value didn't exist - remove it
+			if ( overwritten === undefined ) {
+				jQuery( window ).removeProp( callbackName );
+
+			// Otherwise restore preexisting value
+			} else {
+				window[ callbackName ] = overwritten;
+			}
+
+			// Save back as free
+			if ( s[ callbackName ] ) {
+
+				// Make sure that re-using the options doesn't screw things around
+				s.jsonpCallback = originalSettings.jsonpCallback;
+
+				// Save the callback name for future use
+				oldCallbacks.push( callbackName );
+			}
+
+			// Call if it was a function and we have a response
+			if ( responseContainer && isFunction( overwritten ) ) {
+				overwritten( responseContainer[ 0 ] );
+			}
+
+			responseContainer = overwritten = undefined;
+		} );
+
+		// Delegate to script
+		return "script";
+	}
+} );
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+	var body = document.implementation.createHTMLDocument( "" ).body;
+	body.innerHTML = "<form></form><form></form>";
+	return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+	if ( typeof data !== "string" ) {
+		return [];
+	}
+	if ( typeof context === "boolean" ) {
+		keepScripts = context;
+		context = false;
+	}
+
+	var base, parsed, scripts;
+
+	if ( !context ) {
+
+		// Stop scripts or inline event handlers from being executed immediately
+		// by using document.implementation
+		if ( support.createHTMLDocument ) {
+			context = document.implementation.createHTMLDocument( "" );
+
+			// Set the base href for the created document
+			// so any parsed elements with URLs
+			// are based on the document's URL (gh-2965)
+			base = context.createElement( "base" );
+			base.href = document.location.href;
+			context.head.appendChild( base );
+		} else {
+			context = document;
+		}
+	}
+
+	parsed = rsingleTag.exec( data );
+	scripts = !keepScripts && [];
+
+	// Single tag
+	if ( parsed ) {
+		return [ context.createElement( parsed[ 1 ] ) ];
+	}
+
+	parsed = buildFragment( [ data ], context, scripts );
+
+	if ( scripts && scripts.length ) {
+		jQuery( scripts ).remove();
+	}
+
+	return jQuery.merge( [], parsed.childNodes );
+};
+
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+	var selector, type, response,
+		self = this,
+		off = url.indexOf( " " );
+
+	if ( off > -1 ) {
+		selector = stripAndCollapse( url.slice( off ) );
+		url = url.slice( 0, off );
+	}
+
+	// If it's a function
+	if ( isFunction( params ) ) {
+
+		// We assume that it's the callback
+		callback = params;
+		params = undefined;
+
+	// Otherwise, build a param string
+	} else if ( params && typeof params === "object" ) {
+		type = "POST";
+	}
+
+	// If we have elements to modify, make the request
+	if ( self.length > 0 ) {
+		jQuery.ajax( {
+			url: url,
+
+			// If "type" variable is undefined, then "GET" method will be used.
+			// Make value of this field explicit since
+			// user can override it through ajaxSetup method
+			type: type || "GET",
+			dataType: "html",
+			data: params
+		} ).done( function( responseText ) {
+
+			// Save response for use in complete callback
+			response = arguments;
+
+			self.html( selector ?
+
+				// If a selector was specified, locate the right elements in a dummy div
+				// Exclude scripts to avoid IE 'Permission Denied' errors
+				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+				// Otherwise use the full result
+				responseText );
+
+		// If the request succeeds, this function gets "data", "status", "jqXHR"
+		// but they are ignored because response was set above.
+		// If it fails, this function gets "jqXHR", "status", "error"
+		} ).always( callback && function( jqXHR, status ) {
+			self.each( function() {
+				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+			} );
+		} );
+	}
+
+	return this;
+};
+
+
+
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [
+	"ajaxStart",
+	"ajaxStop",
+	"ajaxComplete",
+	"ajaxError",
+	"ajaxSuccess",
+	"ajaxSend"
+], function( i, type ) {
+	jQuery.fn[ type ] = function( fn ) {
+		return this.on( type, fn );
+	};
+} );
+
+
+
+
+jQuery.expr.pseudos.animated = function( elem ) {
+	return jQuery.grep( jQuery.timers, function( fn ) {
+		return elem === fn.elem;
+	} ).length;
+};
+
+
+
+
+jQuery.offset = {
+	setOffset: function( elem, options, i ) {
+		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+			position = jQuery.css( elem, "position" ),
+			curElem = jQuery( elem ),
+			props = {};
+
+		// Set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		curOffset = curElem.offset();
+		curCSSTop = jQuery.css( elem, "top" );
+		curCSSLeft = jQuery.css( elem, "left" );
+		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+		// Need to be able to calculate position if either
+		// top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( isFunction( options ) ) {
+
+			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+jQuery.fn.extend( {
+
+	// offset() relates an element's border box to the document origin
+	offset: function( options ) {
+
+		// Preserve chaining for setter
+		if ( arguments.length ) {
+			return options === undefined ?
+				this :
+				this.each( function( i ) {
+					jQuery.offset.setOffset( this, options, i );
+				} );
+		}
+
+		var rect, win,
+			elem = this[ 0 ];
+
+		if ( !elem ) {
+			return;
+		}
+
+		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+		// Support: IE <=11 only
+		// Running getBoundingClientRect on a
+		// disconnected node in IE throws an error
+		if ( !elem.getClientRects().length ) {
+			return { top: 0, left: 0 };
+		}
+
+		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
+		rect = elem.getBoundingClientRect();
+		win = elem.ownerDocument.defaultView;
+		return {
+			top: rect.top + win.pageYOffset,
+			left: rect.left + win.pageXOffset
+		};
+	},
+
+	// position() relates an element's margin box to its offset parent's padding box
+	// This corresponds to the behavior of CSS absolute positioning
+	position: function() {
+		if ( !this[ 0 ] ) {
+			return;
+		}
+
+		var offsetParent, offset, doc,
+			elem = this[ 0 ],
+			parentOffset = { top: 0, left: 0 };
+
+		// position:fixed elements are offset from the viewport, which itself always has zero offset
+		if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+			// Assume position:fixed implies availability of getBoundingClientRect
+			offset = elem.getBoundingClientRect();
+
+		} else {
+			offset = this.offset();
+
+			// Account for the *real* offset parent, which can be the document or its root element
+			// when a statically positioned element is identified
+			doc = elem.ownerDocument;
+			offsetParent = elem.offsetParent || doc.documentElement;
+			while ( offsetParent &&
+				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
+				jQuery.css( offsetParent, "position" ) === "static" ) {
+
+				offsetParent = offsetParent.parentNode;
+			}
+			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
+
+				// Incorporate borders into its offset, since they are outside its content origin
+				parentOffset = jQuery( offsetParent ).offset();
+				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
+				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
+			}
+		}
+
+		// Subtract parent offsets and element margins
+		return {
+			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+		};
+	},
+
+	// This method will return documentElement in the following cases:
+	// 1) For the element inside the iframe without offsetParent, this method will return
+	//    documentElement of the parent window
+	// 2) For the hidden or detached element
+	// 3) For body or html element, i.e. in case of the html node - it will return itself
+	//
+	// but those exceptions were never presented as a real life use-cases
+	// and might be considered as more preferable results.
+	//
+	// This logic, however, is not guaranteed and can change at any point in the future
+	offsetParent: function() {
+		return this.map( function() {
+			var offsetParent = this.offsetParent;
+
+			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+
+			return offsetParent || documentElement;
+		} );
+	}
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+	var top = "pageYOffset" === prop;
+
+	jQuery.fn[ method ] = function( val ) {
+		return access( this, function( elem, method, val ) {
+
+			// Coalesce documents and windows
+			var win;
+			if ( isWindow( elem ) ) {
+				win = elem;
+			} else if ( elem.nodeType === 9 ) {
+				win = elem.defaultView;
+			}
+
+			if ( val === undefined ) {
+				return win ? win[ prop ] : elem[ method ];
+			}
+
+			if ( win ) {
+				win.scrollTo(
+					!top ? val : win.pageXOffset,
+					top ? val : win.pageYOffset
+				);
+
+			} else {
+				elem[ method ] = val;
+			}
+		}, method, val, arguments.length );
+	};
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+		function( elem, computed ) {
+			if ( computed ) {
+				computed = curCSS( elem, prop );
+
+				// If curCSS returns percentage, fallback to offset
+				return rnumnonpx.test( computed ) ?
+					jQuery( elem ).position()[ prop ] + "px" :
+					computed;
+			}
+		}
+	);
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+		function( defaultExtra, funcName ) {
+
+		// Margin is only for outerHeight, outerWidth
+		jQuery.fn[ funcName ] = function( margin, value ) {
+			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+			return access( this, function( elem, type, value ) {
+				var doc;
+
+				if ( isWindow( elem ) ) {
+
+					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+					return funcName.indexOf( "outer" ) === 0 ?
+						elem[ "inner" + name ] :
+						elem.document.documentElement[ "client" + name ];
+				}
+
+				// Get document width or height
+				if ( elem.nodeType === 9 ) {
+					doc = elem.documentElement;
+
+					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+					// whichever is greatest
+					return Math.max(
+						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+						elem.body[ "offset" + name ], doc[ "offset" + name ],
+						doc[ "client" + name ]
+					);
+				}
+
+				return value === undefined ?
+
+					// Get width or height on the element, requesting but not forcing parseFloat
+					jQuery.css( elem, type, extra ) :
+
+					// Set width or height on the element
+					jQuery.style( elem, type, value, extra );
+			}, type, chainable ? margin : undefined, chainable );
+		};
+	} );
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
+	function( i, name ) {
+
+	// Handle event binding
+	jQuery.fn[ name ] = function( data, fn ) {
+		return arguments.length > 0 ?
+			this.on( name, null, data, fn ) :
+			this.trigger( name );
+	};
+} );
+
+jQuery.fn.extend( {
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+	}
+} );
+
+
+
+
+jQuery.fn.extend( {
+
+	bind: function( types, data, fn ) {
+		return this.on( types, null, data, fn );
+	},
+	unbind: function( types, fn ) {
+		return this.off( types, null, fn );
+	},
+
+	delegate: function( selector, types, data, fn ) {
+		return this.on( types, selector, data, fn );
+	},
+	undelegate: function( selector, types, fn ) {
+
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length === 1 ?
+			this.off( selector, "**" ) :
+			this.off( types, selector || "**", fn );
+	}
+} );
+
+// Bind a function to a context, optionally partially applying any
+// arguments.
+// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
+// However, it is not slated for removal any time soon
+jQuery.proxy = function( fn, context ) {
+	var tmp, args, proxy;
+
+	if ( typeof context === "string" ) {
+		tmp = fn[ context ];
+		context = fn;
+		fn = tmp;
+	}
+
+	// Quick check to determine if target is callable, in the spec
+	// this throws a TypeError, but we will just return undefined.
+	if ( !isFunction( fn ) ) {
+		return undefined;
+	}
+
+	// Simulated bind
+	args = slice.call( arguments, 2 );
+	proxy = function() {
+		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+	};
+
+	// Set the guid of unique handler to the same of original handler, so it can be removed
+	proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+	return proxy;
+};
+
+jQuery.holdReady = function( hold ) {
+	if ( hold ) {
+		jQuery.readyWait++;
+	} else {
+		jQuery.ready( true );
+	}
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+jQuery.isFunction = isFunction;
+jQuery.isWindow = isWindow;
+jQuery.camelCase = camelCase;
+jQuery.type = toType;
+
+jQuery.now = Date.now;
+
+jQuery.isNumeric = function( obj ) {
+
+	// As of jQuery 3.0, isNumeric is limited to
+	// strings and numbers (primitives or objects)
+	// that can be coerced to finite numbers (gh-2662)
+	var type = jQuery.type( obj );
+	return ( type === "number" || type === "string" ) &&
+
+		// parseFloat NaNs numeric-cast false positives ("")
+		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+		// subtraction forces infinities to NaN
+		!isNaN( obj - parseFloat( obj ) );
+};
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+	define( "jquery", [], function() {
+		return jQuery;
+	} );
+}
+
+
+
+
+var
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+	if ( window.$ === jQuery ) {
+		window.$ = _$;
+	}
+
+	if ( deep && window.jQuery === jQuery ) {
+		window.jQuery = _jQuery;
+	}
+
+	return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+	window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/dist/jquery.min.js b/public/bower_components/jquery/dist/jquery.min.js
new file mode 100644
index 0000000..4d9b3a2
--- /dev/null
+++ b/public/bower_components/jquery/dist/jquery.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||g(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+("3.3.1"+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&p.call(n)===d)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(C(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(T,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(C(Object(e))?w.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:u.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,s=!n;o<a;o++)(r=!t(e[o],o))!==s&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,s=[];if(C(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&s.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&s.push(i);return a.apply([],s)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function C(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!g(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},P="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",I="\\["+M+"*("+R+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+M+"*\\]",W=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+I+")*)|.*)\\)|)",$=new RegExp(M+"+","g"),B=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),F=new RegExp("^"+M+"*,"+M+"*"),_=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=pe(t);function ye(){}ye.prototype=r.filters=r.pseudos,r.setFilters=new ye,a=oe.tokenize=function(e,t){var n,i,o,a,s,u,l,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,u=[],l=r.preFilter;while(s){n&&!(i=F.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=_.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace(B," ")}),s=s.slice(n.length));for(a in r.filter)!(i=V[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?oe.error(e):k(e,u).slice(0)};function ve(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,u))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[b]||(t[b]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function xe(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(e,t,n,r,i,o){return r&&!r[b]&&(r=Te(r)),i&&!i[b]&&(i=Te(i,o)),se(function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||be(t||"*",s.nodeType?[s]:s,[]),y=!e||!o&&t?g:we(g,p,e,s,u),v=n?i||(o?e:h||r)?[]:a:y;if(n&&n(y,v,s,u),r){l=we(v,d),r(l,[],s,u),c=l.length;while(c--)(f=l[c])&&(v[d[c]]=!(y[d[c]]=f))}if(o){if(i||e){if(i){l=[],c=v.length;while(c--)(f=v[c])&&l.push(y[c]=f);i(null,v=[],l,u)}c=v.length;while(c--)(f=v[c])&&(l=i?O(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[me(xe(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o;i++)if(r.relative[e[i].type])break;return Te(u>1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u<i&&Ce(e.slice(u,i)),i<o&&Ce(e=e.slice(i)),i<o&&ve(e))}p.push(n)}return xe(p)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!D.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s<o.length)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)})}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,I,i),a(o,n,W,i)):(o++,l.call(e,a(o,n,I,i),a(o,n,W,i),a(o,n,I,n.notifyWith))):(r!==I&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},X=/^-ms-/,U=/-([a-z])/g;function V(e,t){return t.toUpperCase()}function G(e){return e.replace(X,"ms-").replace(U,V)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[G(t)]=n;else for(r in t)i[G(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][G(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(G):(t=G(t))in r?[t]:t.match(M)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var J=new Q,K=new Q,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}K.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return K.hasData(e)||J.hasData(e)},data:function(e,t,n){return K.access(e,t,n)},removeData:function(e,t){K.remove(e,t)},_data:function(e,t,n){return J.access(e,t,n)},_removeData:function(e,t){J.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=K.get(o),1===o.nodeType&&!J.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=G(r.slice(5)),ne(o,r,i[r]));J.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){K.set(this,e)}):z(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=K.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){K.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=J.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},se=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function ue(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+u)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=J.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",J.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var pe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)J.set(e[n],"globalEval",!t||J.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=ge[s]||ge._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n<arguments.length;n++)u[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){s=w.event.handlers.call(this,t,l),n=0;while((o=s[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,u))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==Se()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===Se()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&N(this,"input"))return this.click(),!1},_default:function(e){return N(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:ke,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:ke,isPropagationStopped:ke,isImmediatePropagationStopped:ke,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Te.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return De(this,e,t,n,r)},one:function(e,t,n,r){return De(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=ke),this.each(function(){w.event.remove(this,e,n,t)})}});var Ne=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/<script|<style|<link/i,je=/checked\s*(?:[^=]|=\s*.checked.)/i,qe=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return N(e,"table")&&N(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function He(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Oe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Pe(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(J.hasData(e)&&(o=J.access(e),a=J.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}K.hasData(e)&&(s=K.access(e),u=w.extend({},s),K.set(t,u))}}function Me(e,t){var n=t.nodeName.toLowerCase();"input"===n&&pe.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,s,u,l,c,f=0,p=e.length,d=p-1,y=t[0],v=g(y);if(v||p>1&&"string"==typeof y&&!h.checkClone&&je.test(y))return e.each(function(i){var o=e.eq(i);v&&(t[0]=y.call(this,i,o.html())),Re(o,t,n,r)});if(p&&(i=xe(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(u=(s=w.map(ye(i,"script"),He)).length;f<p;f++)l=i,f!==d&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,Oe),f=0;f<u;f++)l=s[f],he.test(l.type||"")&&!J.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(qe,""),c,l))}return e}function Ie(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ve(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(Ne,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)Me(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Pe(o[r],a[r]);else Pe(e,s);return(a=ye(s,"script")).length>0&&ve(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[J.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[J.expando]=void 0}n[K.expando]&&(n[K.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Ie(this,e,!0)},remove:function(e){return Ie(this,e)},text:function(e){return z(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return z(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ge[(de.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),s.apply(r,n.get());return this.pushStack(r)}});var We=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),$e=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},Be=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",be.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",s=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",be.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,s,u,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),s},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,s=e.style;return(n=n||$e(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&We.test(a)&&Be.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function _e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var ze=/^(none|table(?!-c[ea]).+)/,Xe=/^--/,Ue={position:"absolute",visibility:"hidden",display:"block"},Ve={letterSpacing:"0",fontWeight:"400"},Ge=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Qe(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Ge.length;while(n--)if((e=Ge[n]+t)in Ye)return e}function Je(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Qe(e)||e),t}function Ke(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+oe[a]+"Width",!0,i))):(u+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?u+=w.css(e,"border"+oe[a]+"Width",!0,i):s+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))),u}function et(e,t,n){var r=$e(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(We.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=G(t),u=Xe.test(t),l=e.style;if(u||(t=Je(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=ue(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=G(t);return Xe.test(t)||(t=Je(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Ve&&(i=Ve[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!ze.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):se(e,Ue,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=$e(e),a="border-box"===w.css(e,"boxSizing",!1,o),s=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(s-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),s&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Ke(e,n,s)}}}),w.cssHooks.marginLeft=_e(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-se(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Ke)}),w.fn.extend({css:function(e,t){return z(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=$e(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}});function tt(e,t,n,r,i){return new tt.prototype.init(e,t,n,r,i)}w.Tween=tt,tt.prototype={constructor:tt,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=tt.propHooks[this.prop];return e&&e.get?e.get(this):tt.propHooks._default.get(this)},run:function(e){var t,n=tt.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):tt.propHooks._default.set(this),this}},tt.prototype.init.prototype=tt.prototype,tt.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[w.cssProps[e.prop]]&&!w.cssHooks[e.prop]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},tt.propHooks.scrollTop=tt.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=tt.prototype.init,w.fx.step={};var nt,rt,it=/^(?:toggle|show|hide)$/,ot=/queueHooks$/;function at(){rt&&(!1===r.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(at):e.setTimeout(at,w.fx.interval),w.fx.tick())}function st(){return e.setTimeout(function(){nt=void 0}),nt=Date.now()}function ut(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=oe[r])]=i["padding"+n]=e;return t&&(i.opacity=i.width=e),i}function lt(e,t,n){for(var r,i=(pt.tweeners[t]||[]).concat(pt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function ct(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),y=J.get(e,"fxshow");n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()})}));for(r in t)if(i=t[r],it.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!y||void 0===y[r])continue;g=!0}d[r]=y&&y[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d)){f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=y&&y.display)&&(l=J.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(fe([e],!0),l=e.style.display||l,c=w.css(e,"display"),fe([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1;for(r in d)u||(y?"hidden"in y&&(g=y.hidden):y=J.access(e,"fxshow",{display:l}),o&&(y.hidden=!g),g&&fe([e],!0),p.done(function(){g||fe([e]),J.remove(e,"fxshow");for(r in d)w.style(e,r,d[r])})),u=lt(g?y[r]:0,r,p),r in y||(y[r]=u.start,g&&(u.end=u.start,u.start=0))}}function ft(e,t){var n,r,i,o,a;for(n in e)if(r=G(n),i=t[r],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}function pt(e,t,n){var r,i,o=0,a=pt.prefilters.length,s=w.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=nt||st(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:nt||st(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(ft(c,l.opts.specialEasing);o<a;o++)if(r=pt.prefilters[o].call(l,e,c,l.opts))return g(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,lt,l),g(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(pt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return ue(n.elem,e,ie.exec(t),n),n}]},tweener:function(e,t){g(e)?(t=e,e=["*"]):e=e.match(M);for(var n,r=0,i=e.length;r<i;r++)n=e[r],pt.tweeners[n]=pt.tweeners[n]||[],pt.tweeners[n].unshift(t)},prefilters:[ct],prefilter:function(e,t){t?pt.prefilters.unshift(e):pt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||g(e)&&e,duration:e,easing:n&&t||t&&!g(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){g(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=pt(this,w.extend({},e),o);(i||J.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&!1!==e&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=J.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&ot.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)})},finish:function(e){return!1!==e&&(e=e||"fx"),this.each(function(){var t,n=J.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}}),w.each(["toggle","show","hide"],function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ut(t,!0),e,r,i)}}),w.each({slideDown:ut("show"),slideUp:ut("hide"),slideToggle:ut("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(nt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),nt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){rt||(rt=!0,at())},w.fx.stop=function(){rt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var dt,ht=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return z(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?dt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&N(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(M);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),dt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=ht[t]||w.find.attr;ht[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ht[a],ht[a]=i,i=null!=n(e,t,r)?a:null,ht[a]=o),i}});var gt=/^(?:input|select|textarea|button)$/i,yt=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return z(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):gt.test(e.nodeName)||yt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function vt(e){return(e.match(M)||[]).join(" ")}function mt(e){return e.getAttribute&&e.getAttribute("class")||""}function xt(e){return Array.isArray(e)?e:"string"==typeof e?e.match(M)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,mt(this)))});if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,mt(this)))});if(!arguments.length)return this.attr("class","");if((t=xt(e)).length)while(n=this[u++])if(i=mt(n),r=1===n.nodeType&&" "+vt(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(s=vt(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,mt(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=xt(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=mt(this))&&J.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":J.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+vt(mt(n))+" ").indexOf(t)>-1)return!0;return!1}});var bt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(bt,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:vt(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!N(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var wt=/^(?:focusinfocus|focusoutblur)$/,Tt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,s,u,l,c,p,d,h,v=[i||r],m=f.call(t,"type")?t.type:t,x=f.call(t,"namespace")?t.namespace.split("."):[];if(s=h=u=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!wt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(x=m.split(".")).shift(),x.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),d=w.event.special[m]||{},o||!d.trigger||!1!==d.trigger.apply(i,n))){if(!o&&!d.noBubble&&!y(i)){for(l=d.delegateType||m,wt.test(l+m)||(s=s.parentNode);s;s=s.parentNode)v.push(s),u=s;u===(i.ownerDocument||r)&&v.push(u.defaultView||u.parentWindow||e)}a=0;while((s=v[a++])&&!t.isPropagationStopped())h=s,t.type=a>1?l:d.bindType||m,(p=(J.get(s,"events")||{})[t.type]&&J.get(s,"handle"))&&p.apply(s,n),(p=c&&s[c])&&p.apply&&Y(s)&&(t.result=p.apply(s,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||d._default&&!1!==d._default.apply(v.pop(),n)||!Y(i)||c&&g(i[m])&&!y(i)&&((u=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,Tt),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,Tt),w.event.triggered=void 0,u&&(i[c]=u)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=J.access(r,t);i||r.addEventListener(e,n,!0),J.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=J.access(r,t)-1;i?J.access(r,t,i):(r.removeEventListener(e,n,!0),J.remove(r,t))}}});var Ct=e.location,Et=Date.now(),kt=/\?/;w.parseXML=function(t){var n;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){n=void 0}return n&&!n.getElementsByTagName("parsererror").length||w.error("Invalid XML: "+t),n};var St=/\[\]$/,Dt=/\r?\n/g,Nt=/^(?:submit|button|image|reset|file)$/i,At=/^(?:input|select|textarea|keygen)/i;function jt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||St.test(e)?r(e,i):jt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==x(t))r(e,t);else for(i in t)jt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)jt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&At.test(this.nodeName)&&!Nt.test(e)&&(this.checked||!pe.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(Dt,"\r\n")}}):{name:t.name,value:n.replace(Dt,"\r\n")}}).get()}});var qt=/%20/g,Lt=/#.*$/,Ht=/([?&])_=[^&]*/,Ot=/^(.*?):[ \t]*([^\r\n]*)$/gm,Pt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Mt=/^(?:GET|HEAD)$/,Rt=/^\/\//,It={},Wt={},$t="*/".concat("*"),Bt=r.createElement("a");Bt.href=Ct.href;function Ft(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(M)||[];if(g(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function _t(e,t,n,r){var i={},o=e===Wt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)}),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function zt(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}function Xt(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}function Ut(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Ct.href,type:"GET",isLocal:Pt.test(Ct.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":$t,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?zt(zt(e,w.ajaxSettings),t):zt(w.ajaxSettings,e)},ajaxPrefilter:Ft(It),ajaxTransport:Ft(Wt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,p,d,h=w.ajaxSetup({},n),g=h.context||h,y=h.context&&(g.nodeType||g.jquery)?w(g):w.event,v=w.Deferred(),m=w.Callbacks("once memory"),x=h.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(c){if(!s){s={};while(t=Ot.exec(a))s[t[1].toLowerCase()]=t[2]}t=s[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return c?a:null},setRequestHeader:function(e,t){return null==c&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==c&&(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(c)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return i&&i.abort(t),k(0,t),this}};if(v.promise(E),h.url=((t||h.url||Ct.href)+"").replace(Rt,Ct.protocol+"//"),h.type=n.method||n.type||h.method||h.type,h.dataTypes=(h.dataType||"*").toLowerCase().match(M)||[""],null==h.crossDomain){l=r.createElement("a");try{l.href=h.url,l.href=l.href,h.crossDomain=Bt.protocol+"//"+Bt.host!=l.protocol+"//"+l.host}catch(e){h.crossDomain=!0}}if(h.data&&h.processData&&"string"!=typeof h.data&&(h.data=w.param(h.data,h.traditional)),_t(It,h,n,E),c)return E;(f=w.event&&h.global)&&0==w.active++&&w.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Mt.test(h.type),o=h.url.replace(Lt,""),h.hasContent?h.data&&h.processData&&0===(h.contentType||"").indexOf("application/x-www-form-urlencoded")&&(h.data=h.data.replace(qt,"+")):(d=h.url.slice(o.length),h.data&&(h.processData||"string"==typeof h.data)&&(o+=(kt.test(o)?"&":"?")+h.data,delete h.data),!1===h.cache&&(o=o.replace(Ht,"$1"),d=(kt.test(o)?"&":"?")+"_="+Et+++d),h.url=o+d),h.ifModified&&(w.lastModified[o]&&E.setRequestHeader("If-Modified-Since",w.lastModified[o]),w.etag[o]&&E.setRequestHeader("If-None-Match",w.etag[o])),(h.data&&h.hasContent&&!1!==h.contentType||n.contentType)&&E.setRequestHeader("Content-Type",h.contentType),E.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+$t+"; q=0.01":""):h.accepts["*"]);for(p in h.headers)E.setRequestHeader(p,h.headers[p]);if(h.beforeSend&&(!1===h.beforeSend.call(g,E,h)||c))return E.abort();if(C="abort",m.add(h.complete),E.done(h.success),E.fail(h.error),i=_t(Wt,h,n,E)){if(E.readyState=1,f&&y.trigger("ajaxSend",[E,h]),c)return E;h.async&&h.timeout>0&&(u=e.setTimeout(function(){E.abort("timeout")},h.timeout));try{c=!1,i.send(b,k)}catch(e){if(c)throw e;k(-1,e)}}else k(-1,"No Transport");function k(t,n,r,s){var l,p,d,b,T,C=n;c||(c=!0,u&&e.clearTimeout(u),i=void 0,a=s||"",E.readyState=t>0?4:0,l=t>=200&&t<300||304===t,r&&(b=Xt(h,E,r)),b=Ut(h,b,E,l),l?(h.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[o]=T),(T=E.getResponseHeader("etag"))&&(w.etag[o]=T)),204===t||"HEAD"===h.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,l=!(d=b.error))):(d=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",l?v.resolveWith(g,[p,C,E]):v.rejectWith(g,[E,C,d]),E.statusCode(x),x=void 0,f&&y.trigger(l?"ajaxSuccess":"ajaxError",[E,h,l?p:d]),m.fireWith(g,[E,C]),f&&(y.trigger("ajaxComplete",[E,h]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],function(e,t){w[t]=function(e,n,r,i){return g(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}}),w._evalUrl=function(e){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Vt={0:200,1223:204},Gt=w.ajaxSettings.xhr();h.cors=!!Gt&&"withCredentials"in Gt,h.ajax=Gt=!!Gt,w.ajaxTransport(function(t){var n,r;if(h.cors||Gt&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");for(a in i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Vt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout(function(){n&&r()})},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}}),w.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),w.ajaxTransport("script",function(e){if(e.crossDomain){var t,n;return{send:function(i,o){t=w("<script>").prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&o("error"===e.type?404:200,e.type)}),r.head.appendChild(t[0])},abort:function(){n&&n()}}}});var Yt=[],Qt=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Yt.pop()||w.expando+"_"+Et++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Qt.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Qt.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=g(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Qt,"$1"+i):!1!==t.jsonp&&(t.url+=(kt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,Yt.push(i)),a&&g(o)&&o(a[0]),a=o=void 0}),"script"}),h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=A.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=xe([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=vt(e.slice(s)),e=e.slice(0,s)),g(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){w.fn[t]=function(e){return this.on(t,e)}}),w.expr.pseudos.animated=function(e){return w.grep(w.timers,function(t){return e===t.elem}).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=w.css(e,"position"),f=w(e),p={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=w.css(e,"top"),u=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+u).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),g(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(p.top=t.top-s.top+a),null!=t.left&&(p.left=t.left-s.left+i),"using"in t?t.using.call(e,p):f.css(p)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||be})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return z(this,function(e,r,i){var o;if(y(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=_e(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),We.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return z(this,function(t,n,i){var o;return y(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=N,w.isFunction=g,w.isWindow=y,w.camelCase=G,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var Jt=e.jQuery,Kt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=Kt),t&&e.jQuery===w&&(e.jQuery=Jt),w},t||(e.jQuery=e.$=w),w});
diff --git a/public/bower_components/jquery/dist/jquery.min.map b/public/bower_components/jquery/dist/jquery.min.map
new file mode 100644
index 0000000..294ee96
--- /dev/null
+++ b/public/bower_components/jquery/dist/jquery.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","noModule","DOMEval","code","doc","node","i","script","createElement","text","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","rtrim","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","width","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","Tween","easing","propHooks","run","percent","eased","duration","pos","step","fx","scrollTop","scrollLeft","linear","p","swing","cos","PI","fxNow","inProgress","rfxtypes","rrun","schedule","hidden","requestAnimationFrame","interval","tick","createFxNow","genFx","includeWidth","height","createTween","animation","Animation","tweeners","defaultPrefilter","opts","oldfire","propTween","restoreDisplay","isBox","anim","dataShow","unqueued","overflow","overflowX","overflowY","propFilter","specialEasing","properties","stopped","prefilters","currentTime","startTime","tweens","originalProperties","originalOptions","gotoEnd","bind","complete","timer","*","tweener","prefilter","speed","opt","speeds","fadeTo","to","animate","optall","doAnimation","finish","stopQueue","timers","cssFn","slideDown","slideUp","slideToggle","fadeIn","fadeOut","fadeToggle","slow","fast","delay","time","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","tabindex","parseInt","for","class","stripAndCollapse","getClass","classesToArray","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","nonce","rquery","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","r20","rhash","rantiCache","rheaders","rlocalProtocol","rnoContent","rprotocol","transports","allTypes","originAnchor","addToPrefiltersOrTransports","structure","dataTypeExpression","dataType","dataTypes","inspectPrefiltersOrTransports","jqXHR","inspected","seekingTransport","inspect","prefilterOrFactory","dataTypeOrTransport","ajaxExtend","flatOptions","ajaxSettings","ajaxHandleResponses","responses","ct","finalDataType","firstDataType","mimeType","getResponseHeader","converters","ajaxConvert","response","isSuccess","conv2","current","conv","responseFields","dataFilter","throws","active","lastModified","etag","url","isLocal","protocol","processData","async","contentType","accepts","json","* text","text html","text json","text xml","ajaxSetup","settings","ajaxPrefilter","ajaxTransport","ajax","transport","cacheURL","responseHeadersString","responseHeaders","timeoutTimer","urlAnchor","fireGlobals","uncached","callbackContext","globalEventContext","completeDeferred","statusCode","requestHeaders","requestHeadersNames","strAbort","getAllResponseHeaders","setRequestHeader","overrideMimeType","status","abort","statusText","finalText","crossDomain","host","hasContent","ifModified","headers","beforeSend","success","send","nativeStatusText","modified","getJSON","getScript","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","visible","offsetHeight","xhr","XMLHttpRequest","xhrSuccessStatus","0","1223","xhrSupported","cors","errorCallback","open","username","xhrFields","onload","onerror","onabort","ontimeout","onreadystatechange","responseType","responseText","binary","text script","charset","scriptCharset","evt","oldCallbacks","rjsonp","jsonp","jsonpCallback","originalSettings","callbackName","overwritten","responseContainer","jsonProp","createHTMLDocument","implementation","keepScripts","parsed","params","animated","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.min.js"}
\ No newline at end of file
diff --git a/public/bower_components/jquery/dist/jquery.slim.js b/public/bower_components/jquery/dist/jquery.slim.js
new file mode 100644
index 0000000..5dae0ed
--- /dev/null
+++ b/public/bower_components/jquery/dist/jquery.slim.js
@@ -0,0 +1,8269 @@
+/*!
+ * jQuery JavaScript Library v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector
+ * https://jquery.com/
+ *
+ * Includes Sizzle.js
+ * https://sizzlejs.com/
+ *
+ * Copyright JS Foundation and other contributors
+ * Released under the MIT license
+ * https://jquery.org/license
+ *
+ * Date: 2018-01-20T17:24Z
+ */
+( function( global, factory ) {
+
+	"use strict";
+
+	if ( typeof module === "object" && typeof module.exports === "object" ) {
+
+		// For CommonJS and CommonJS-like environments where a proper `window`
+		// is present, execute the factory and get jQuery.
+		// For environments that do not have a `window` with a `document`
+		// (such as Node.js), expose a factory as module.exports.
+		// This accentuates the need for the creation of a real `window`.
+		// e.g. var jQuery = require("jquery")(window);
+		// See ticket #14549 for more info.
+		module.exports = global.document ?
+			factory( global, true ) :
+			function( w ) {
+				if ( !w.document ) {
+					throw new Error( "jQuery requires a window with a document" );
+				}
+				return factory( w );
+			};
+	} else {
+		factory( global );
+	}
+
+// Pass this if window is not defined yet
+} )( typeof window !== "undefined" ? window : this, function( window, noGlobal ) {
+
+// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1
+// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode
+// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common
+// enough that all such attempts are guarded in a try block.
+"use strict";
+
+var arr = [];
+
+var document = window.document;
+
+var getProto = Object.getPrototypeOf;
+
+var slice = arr.slice;
+
+var concat = arr.concat;
+
+var push = arr.push;
+
+var indexOf = arr.indexOf;
+
+var class2type = {};
+
+var toString = class2type.toString;
+
+var hasOwn = class2type.hasOwnProperty;
+
+var fnToString = hasOwn.toString;
+
+var ObjectFunctionString = fnToString.call( Object );
+
+var support = {};
+
+var isFunction = function isFunction( obj ) {
+
+      // Support: Chrome <=57, Firefox <=52
+      // In some browsers, typeof returns "function" for HTML <object> elements
+      // (i.e., `typeof document.createElement( "object" ) === "function"`).
+      // We don't want to classify *any* DOM node as a function.
+      return typeof obj === "function" && typeof obj.nodeType !== "number";
+  };
+
+
+var isWindow = function isWindow( obj ) {
+		return obj != null && obj === obj.window;
+	};
+
+
+
+
+	var preservedScriptAttributes = {
+		type: true,
+		src: true,
+		noModule: true
+	};
+
+	function DOMEval( code, doc, node ) {
+		doc = doc || document;
+
+		var i,
+			script = doc.createElement( "script" );
+
+		script.text = code;
+		if ( node ) {
+			for ( i in preservedScriptAttributes ) {
+				if ( node[ i ] ) {
+					script[ i ] = node[ i ];
+				}
+			}
+		}
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+
+
+function toType( obj ) {
+	if ( obj == null ) {
+		return obj + "";
+	}
+
+	// Support: Android <=2.3 only (functionish RegExp)
+	return typeof obj === "object" || typeof obj === "function" ?
+		class2type[ toString.call( obj ) ] || "object" :
+		typeof obj;
+}
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+
+
+var
+	version = "3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	each: function( callback ) {
+		return jQuery.each( this, callback );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		} ) );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ) );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	eq: function( i ) {
+		var len = this.length,
+			j = +i + ( i < 0 ? len : 0 );
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: arr.sort,
+	splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[ 0 ] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = toType( obj );
+
+	if ( isFunction( obj ) || isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+var Sizzle =
+/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+(function( window ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; i < len; i++ ) {
+			if ( list[i] === elem ) {
+				return i;
+			}
+		}
+		return -1;
+	},
+
+	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	rwhitespace = new RegExp( whitespace + "+", "g" ),
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+	rpseudo = new RegExp( pseudos ),
+	ridentifier = new RegExp( "^" + identifier + "$" ),
+
+	matchExpr = {
+		"ID": new RegExp( "^#(" + identifier + ")" ),
+		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
+		"ATTR": new RegExp( "^" + attributes ),
+		"PSEUDO": new RegExp( "^" + pseudos ),
+		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+	},
+
+	rinputs = /^(?:input|select|textarea|button)$/i,
+	rheader = /^h\d$/i,
+
+	rnative = /^[^{]+\{\s*\[native \w/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true && ("form" in elem || "label" in elem);
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Only certain elements can match :enabled or :disabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+		if ( "form" in elem ) {
+
+			// Check for inherited disabledness on relevant non-disabled elements:
+			// * listed form-associated elements in a disabled fieldset
+			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+			// * option elements in a disabled optgroup
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+			// All such elements have a "form" property.
+			if ( elem.parentNode && elem.disabled === false ) {
+
+				// Option elements defer to a parent optgroup if present
+				if ( "label" in elem ) {
+					if ( "label" in elem.parentNode ) {
+						return elem.parentNode.disabled === disabled;
+					} else {
+						return elem.disabled === disabled;
+					}
+				}
+
+				// Support: IE 6 - 11
+				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
+				return elem.isDisabled === disabled ||
+
+					// Where there is no isDisabled, check manually
+					/* jshint -W018 */
+					elem.isDisabled !== !disabled &&
+						disabledAncestor( elem ) === disabled;
+			}
+
+			return elem.disabled === disabled;
+
+		// Try to winnow out elements that can't be disabled before trusting the disabled property.
+		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+		// even exist on them, let alone have a boolean value.
+		} else if ( "label" in elem ) {
+			return elem.disabled === disabled;
+		}
+
+		// Remaining elements are neither :enabled nor :disabled
+		return false;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID filter and find
+	if ( support.getById ) {
+		Expr.filter["ID"] = function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				return elem.getAttribute("id") === attrId;
+			};
+		};
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var elem = context.getElementById( id );
+				return elem ? [ elem ] : [];
+			}
+		};
+	} else {
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+
+		// Support: IE 6 - 7 only
+		// getElementById is not reliable as a find shortcut
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var node, i, elems,
+					elem = context.getElementById( id );
+
+				if ( elem ) {
+
+					// Verify the id attribute
+					node = elem.getAttributeNode("id");
+					if ( node && node.value === id ) {
+						return [ elem ];
+					}
+
+					// Fall back on getElementsByName
+					elems = context.getElementsByName( id );
+					i = 0;
+					while ( (elem = elems[i++]) ) {
+						node = elem.getAttributeNode("id");
+						if ( node && node.value === id ) {
+							return [ elem ];
+						}
+					}
+				}
+
+				return [];
+			}
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		val :
+		support.attributes || !documentIsHTML ?
+			elem.getAttribute( name ) :
+			(val = elem.getAttributeNode(name)) && val.specified ?
+				val.value :
+				null;
+};
+
+Sizzle.escape = function( sel ) {
+	return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				function( elem ) {
+					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+				};
+		},
+
+		"CLASS": function( className ) {
+			var pattern = classCache[ className + " " ];
+
+			return pattern ||
+				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+				classCache( className, function( elem ) {
+					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					operator === "*=" ? check && result.indexOf( check ) > -1 :
+					operator === "$=" ? check && result.slice( -check.length ) === check :
+					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				function( elem ) {
+					return !!elem.parentNode;
+				} :
+
+				function( elem, context, xml ) {
+					var cache, uniqueCache, outerCache, node, nodeIndex, start,
+						dir = simple !== forward ? "nextSibling" : "previousSibling",
+						parent = elem.parentNode,
+						name = ofType && elem.nodeName.toLowerCase(),
+						useCache = !xml && !ofType,
+						diff = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							uniqueCache = outerCache[ node.uniqueID ] ||
+								(outerCache[ node.uniqueID ] = {});
+
+							cache = uniqueCache[ type ] || [];
+							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+							diff = nodeIndex && cache[ 2 ];
+							node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"target": function( elem ) {
+			var hash = window.location && window.location.hash;
+			return hash && hash.slice( 1 ) === elem.id;
+		},
+
+		"root": function( elem ) {
+			return elem === docElem;
+		},
+
+		"focus": function( elem ) {
+			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"header": function( elem ) {
+			return rheader.test( elem.nodeName );
+		},
+
+		"input": function( elem ) {
+			return rinputs.test( elem.nodeName );
+		},
+
+		"button": function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"first": createPositionalPseudo(function() {
+			return [ 0 ];
+		}),
+
+		"last": createPositionalPseudo(function( matchIndexes, length ) {
+			return [ length - 1 ];
+		}),
+
+		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ argument < 0 ? argument + length : argument ];
+		}),
+
+		"even": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+	var matched, match, tokens, type,
+		soFar, groups, preFilters,
+		cached = tokenCache[ selector + " " ];
+
+	if ( cached ) {
+		return parseOnly ? 0 : cached.slice( 0 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+				(match = preFilters[ type ]( match ))) ) {
+				matched = match.shift();
+				tokens.push({
+					value: matched,
+					type: type,
+					matches: match
+				});
+				soFar = soFar.slice( matched.length );
+			}
+		}
+
+		if ( !matched ) {
+			break;
+		}
+	}
+
+	// Return the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; i < len; i++ ) {
+		selector += tokens[i].value;
+	}
+	return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+	var dir = combinator.dir,
+		skip = combinator.next,
+		key = skip || dir,
+		checkNonElements = base && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+			return false;
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+			return false;
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+					).replace( rtrim, "$1" ),
+					matcher,
+					i < j && matcherFromTokens( tokens.slice( i, j ) ),
+					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && toSelector( tokens )
+				);
+			}
+			matchers.push( matcher );
+		}
+	}
+
+	return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+	var bySet = setMatchers.length > 0,
+		byElement = elementMatchers.length > 0,
+		superMatcher = function( seed, context, xml, results, outermost ) {
+			var elem, j, matcher,
+				matchedCount = 0,
+				i = "0",
+				unmatched = seed && [],
+				setMatched = [],
+				contextBackup = outermostContext,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+return Sizzle;
+
+})( window );
+
+
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+
+
+
+var dir = function( elem, dir, until ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+
+var siblings = function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+
+var rneedsContext = jQuery.expr.match.needsContext;
+
+
+
+function nodeName( elem, name ) {
+
+  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+var rsingleTag = ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+
+
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+	}
+
+	// Single element
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+	}
+
+	// Arraylike of elements (jQuery, arguments, Array)
+	if ( typeof qualifier !== "string" ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+		} );
+	}
+
+	// Filtered directly for both simple and complex selectors
+	return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	if ( elems.length === 1 && elem.nodeType === 1 ) {
+		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+	}
+
+	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+		return elem.nodeType === 1;
+	} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( i = 0; i < len; i++ ) {
+			jQuery.find( selector, self[ i ], ret );
+		}
+
+		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+	},
+	filter: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+
+// Initialize a jQuery object
+
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend( {
+	has: function( target ) {
+		var targets = jQuery( target, this ),
+			l = targets.length;
+
+		return this.filter( function() {
+			var i = 0;
+			for ( ; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[ i ] ) ) {
+					return true;
+				}
+			}
+		} );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			matched = [],
+			targets = typeof selectors !== "string" && jQuery( selectors );
+
+		// Positional selectors never match, since there's no _selection_ context
+		if ( !rneedsContext.test( selectors ) ) {
+			for ( ; i < l; i++ ) {
+				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+					// Always skip document fragments
+					if ( cur.nodeType < 11 && ( targets ?
+						targets.index( cur ) > -1 :
+
+						// Don't pass non-elements to Sizzle
+						cur.nodeType === 1 &&
+							jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+						matched.push( cur );
+						break;
+					}
+				}
+			}
+		}
+
+		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+	},
+
+	// Determine the position of an element within the set
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+		}
+
+		// Index in selector
+		if ( typeof elem === "string" ) {
+			return indexOf.call( jQuery( elem ), this[ 0 ] );
+		}
+
+		// Locate the position of the desired element
+		return indexOf.call( this,
+
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[ 0 ] : elem
+		);
+	},
+
+	add: function( selector, context ) {
+		return this.pushStack(
+			jQuery.uniqueSort(
+				jQuery.merge( this.get(), jQuery( selector, context ) )
+			)
+		);
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter( selector )
+		);
+	}
+} );
+
+function sibling( cur, dir ) {
+	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+	return cur;
+}
+
+jQuery.each( {
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? parent : null;
+	},
+	parents: function( elem ) {
+		return dir( elem, "parentNode" );
+	},
+	parentsUntil: function( elem, i, until ) {
+		return dir( elem, "parentNode", until );
+	},
+	next: function( elem ) {
+		return sibling( elem, "nextSibling" );
+	},
+	prev: function( elem ) {
+		return sibling( elem, "previousSibling" );
+	},
+	nextAll: function( elem ) {
+		return dir( elem, "nextSibling" );
+	},
+	prevAll: function( elem ) {
+		return dir( elem, "previousSibling" );
+	},
+	nextUntil: function( elem, i, until ) {
+		return dir( elem, "nextSibling", until );
+	},
+	prevUntil: function( elem, i, until ) {
+		return dir( elem, "previousSibling", until );
+	},
+	siblings: function( elem ) {
+		return siblings( ( elem.parentNode || {} ).firstChild, elem );
+	},
+	children: function( elem ) {
+		return siblings( elem.firstChild );
+	},
+	contents: function( elem ) {
+        if ( nodeName( elem, "iframe" ) ) {
+            return elem.contentDocument;
+        }
+
+        // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+        // Treat the template element as a regular one in browsers that
+        // don't support it.
+        if ( nodeName( elem, "template" ) ) {
+            elem = elem.content || elem;
+        }
+
+        return jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var matched = jQuery.map( this, fn, until );
+
+		if ( name.slice( -5 ) !== "Until" ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			matched = jQuery.filter( selector, matched );
+		}
+
+		if ( this.length > 1 ) {
+
+			// Remove duplicates
+			if ( !guaranteedUnique[ name ] ) {
+				jQuery.uniqueSort( matched );
+			}
+
+			// Reverse order for parents* and prev-derivatives
+			if ( rparentsprev.test( name ) ) {
+				matched.reverse();
+			}
+		}
+
+		return this.pushStack( matched );
+	};
+} );
+var rnothtmlwhite = ( /[^\x20\t\r\n\f]+/g );
+
+
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+	var object = {};
+	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+		object[ flag ] = true;
+	} );
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		createOptions( options ) :
+		jQuery.extend( {}, options );
+
+	var // Flag to know if list is currently firing
+		firing,
+
+		// Last fire value for non-forgettable lists
+		memory,
+
+		// Flag to know if list was already fired
+		fired,
+
+		// Flag to prevent firing
+		locked,
+
+		// Actual callback list
+		list = [],
+
+		// Queue of execution data for repeatable lists
+		queue = [],
+
+		// Index of currently firing callback (modified by add/remove as needed)
+		firingIndex = -1,
+
+		// Fire callbacks
+		fire = function() {
+
+			// Enforce single-firing
+			locked = locked || options.once;
+
+			// Execute callbacks for all pending executions,
+			// respecting firingIndex overrides and runtime changes
+			fired = firing = true;
+			for ( ; queue.length; firingIndex = -1 ) {
+				memory = queue.shift();
+				while ( ++firingIndex < list.length ) {
+
+					// Run callback and check for early termination
+					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+						options.stopOnFalse ) {
+
+						// Jump to end and forget the data so .add doesn't re-fire
+						firingIndex = list.length;
+						memory = false;
+					}
+				}
+			}
+
+			// Forget the data if we're done with it
+			if ( !options.memory ) {
+				memory = false;
+			}
+
+			firing = false;
+
+			// Clean up if we're done firing for good
+			if ( locked ) {
+
+				// Keep an empty list if we have data for future add calls
+				if ( memory ) {
+					list = [];
+
+				// Otherwise, this object is spent
+				} else {
+					list = "";
+				}
+			}
+		},
+
+		// Actual Callbacks object
+		self = {
+
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+
+					// If we have memory from a past run, we should fire after adding
+					if ( memory && !firing ) {
+						firingIndex = list.length - 1;
+						queue.push( memory );
+					}
+
+					( function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							if ( isFunction( arg ) ) {
+								if ( !options.unique || !self.has( arg ) ) {
+									list.push( arg );
+								}
+							} else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+								// Inspect recursively
+								add( arg );
+							}
+						} );
+					} )( arguments );
+
+					if ( memory && !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Remove a callback from the list
+			remove: function() {
+				jQuery.each( arguments, function( _, arg ) {
+					var index;
+					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+						list.splice( index, 1 );
+
+						// Handle firing indexes
+						if ( index <= firingIndex ) {
+							firingIndex--;
+						}
+					}
+				} );
+				return this;
+			},
+
+			// Check if a given callback is in the list.
+			// If no argument is given, return whether or not list has callbacks attached.
+			has: function( fn ) {
+				return fn ?
+					jQuery.inArray( fn, list ) > -1 :
+					list.length > 0;
+			},
+
+			// Remove all callbacks from the list
+			empty: function() {
+				if ( list ) {
+					list = [];
+				}
+				return this;
+			},
+
+			// Disable .fire and .add
+			// Abort any current/pending executions
+			// Clear all callbacks and values
+			disable: function() {
+				locked = queue = [];
+				list = memory = "";
+				return this;
+			},
+			disabled: function() {
+				return !list;
+			},
+
+			// Disable .fire
+			// Also disable .add unless we have memory (since it would have no effect)
+			// Abort any pending executions
+			lock: function() {
+				locked = queue = [];
+				if ( !memory && !firing ) {
+					list = memory = "";
+				}
+				return this;
+			},
+			locked: function() {
+				return !!locked;
+			},
+
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( !locked ) {
+					args = args || [];
+					args = [ context, args.slice ? args.slice() : args ];
+					queue.push( args );
+					if ( !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+
+
+function Identity( v ) {
+	return v;
+}
+function Thrower( ex ) {
+	throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+	var method;
+
+	try {
+
+		// Check for promise aspect first to privilege synchronous behavior
+		if ( value && isFunction( ( method = value.promise ) ) ) {
+			method.call( value ).done( resolve ).fail( reject );
+
+		// Other thenables
+		} else if ( value && isFunction( ( method = value.then ) ) ) {
+			method.call( value, resolve, reject );
+
+		// Other non-thenables
+		} else {
+
+			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+			// * false: [ value ].slice( 0 ) => resolve( value )
+			// * true: [ value ].slice( 1 ) => resolve()
+			resolve.apply( undefined, [ value ].slice( noValue ) );
+		}
+
+	// For Promises/A+, convert exceptions into rejections
+	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+	// Deferred#then to conditionally suppress rejection.
+	} catch ( value ) {
+
+		// Support: Android 4.0 only
+		// Strict mode functions invoked without .call/.apply get global-object context
+		reject.apply( undefined, [ value ] );
+	}
+}
+
+jQuery.extend( {
+
+	Deferred: function( func ) {
+		var tuples = [
+
+				// action, add listener, callbacks,
+				// ... .then handlers, argument index, [final state]
+				[ "notify", "progress", jQuery.Callbacks( "memory" ),
+					jQuery.Callbacks( "memory" ), 2 ],
+				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+			],
+			state = "pending",
+			promise = {
+				state: function() {
+					return state;
+				},
+				always: function() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				"catch": function( fn ) {
+					return promise.then( null, fn );
+				},
+
+				// Keep pipe for back-compat
+				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+
+					return jQuery.Deferred( function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+
+							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
+							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+							// deferred.progress(function() { bind to newDefer or newDefer.notify })
+							// deferred.done(function() { bind to newDefer or newDefer.resolve })
+							// deferred.fail(function() { bind to newDefer or newDefer.reject })
+							deferred[ tuple[ 1 ] ]( function() {
+								var returned = fn && fn.apply( this, arguments );
+								if ( returned && isFunction( returned.promise ) ) {
+									returned.promise()
+										.progress( newDefer.notify )
+										.done( newDefer.resolve )
+										.fail( newDefer.reject );
+								} else {
+									newDefer[ tuple[ 0 ] + "With" ](
+										this,
+										fn ? [ returned ] : arguments
+									);
+								}
+							} );
+						} );
+						fns = null;
+					} ).promise();
+				},
+				then: function( onFulfilled, onRejected, onProgress ) {
+					var maxDepth = 0;
+					function resolve( depth, deferred, handler, special ) {
+						return function() {
+							var that = this,
+								args = arguments,
+								mightThrow = function() {
+									var returned, then;
+
+									// Support: Promises/A+ section 2.3.3.3.3
+									// https://promisesaplus.com/#point-59
+									// Ignore double-resolution attempts
+									if ( depth < maxDepth ) {
+										return;
+									}
+
+									returned = handler.apply( that, args );
+
+									// Support: Promises/A+ section 2.3.1
+									// https://promisesaplus.com/#point-48
+									if ( returned === deferred.promise() ) {
+										throw new TypeError( "Thenable self-resolution" );
+									}
+
+									// Support: Promises/A+ sections 2.3.3.1, 3.5
+									// https://promisesaplus.com/#point-54
+									// https://promisesaplus.com/#point-75
+									// Retrieve `then` only once
+									then = returned &&
+
+										// Support: Promises/A+ section 2.3.4
+										// https://promisesaplus.com/#point-64
+										// Only check objects and functions for thenability
+										( typeof returned === "object" ||
+											typeof returned === "function" ) &&
+										returned.then;
+
+									// Handle a returned thenable
+									if ( isFunction( then ) ) {
+
+										// Special processors (notify) just wait for resolution
+										if ( special ) {
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special )
+											);
+
+										// Normal processors (resolve) also hook into progress
+										} else {
+
+											// ...and disregard older resolution values
+											maxDepth++;
+
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special ),
+												resolve( maxDepth, deferred, Identity,
+													deferred.notifyWith )
+											);
+										}
+
+									// Handle all other returned values
+									} else {
+
+										// Only substitute handlers pass on context
+										// and multiple values (non-spec behavior)
+										if ( handler !== Identity ) {
+											that = undefined;
+											args = [ returned ];
+										}
+
+										// Process the value(s)
+										// Default process is resolve
+										( special || deferred.resolveWith )( that, args );
+									}
+								},
+
+								// Only normal processors (resolve) catch and reject exceptions
+								process = special ?
+									mightThrow :
+									function() {
+										try {
+											mightThrow();
+										} catch ( e ) {
+
+											if ( jQuery.Deferred.exceptionHook ) {
+												jQuery.Deferred.exceptionHook( e,
+													process.stackTrace );
+											}
+
+											// Support: Promises/A+ section 2.3.3.3.4.1
+											// https://promisesaplus.com/#point-61
+											// Ignore post-resolution exceptions
+											if ( depth + 1 >= maxDepth ) {
+
+												// Only substitute handlers pass on context
+												// and multiple values (non-spec behavior)
+												if ( handler !== Thrower ) {
+													that = undefined;
+													args = [ e ];
+												}
+
+												deferred.rejectWith( that, args );
+											}
+										}
+									};
+
+							// Support: Promises/A+ section 2.3.3.3.1
+							// https://promisesaplus.com/#point-57
+							// Re-resolve promises immediately to dodge false rejection from
+							// subsequent errors
+							if ( depth ) {
+								process();
+							} else {
+
+								// Call an optional hook to record the stack, in case of exception
+								// since it's otherwise lost when execution goes async
+								if ( jQuery.Deferred.getStackHook ) {
+									process.stackTrace = jQuery.Deferred.getStackHook();
+								}
+								window.setTimeout( process );
+							}
+						};
+					}
+
+					return jQuery.Deferred( function( newDefer ) {
+
+						// progress_handlers.add( ... )
+						tuples[ 0 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onProgress ) ?
+									onProgress :
+									Identity,
+								newDefer.notifyWith
+							)
+						);
+
+						// fulfilled_handlers.add( ... )
+						tuples[ 1 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onFulfilled ) ?
+									onFulfilled :
+									Identity
+							)
+						);
+
+						// rejected_handlers.add( ... )
+						tuples[ 2 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onRejected ) ?
+									onRejected :
+									Thrower
+							)
+						);
+					} ).promise();
+				},
+
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 5 ];
+
+			// promise.progress = list.add
+			// promise.done = list.add
+			// promise.fail = list.add
+			promise[ tuple[ 1 ] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(
+					function() {
+
+						// state = "resolved" (i.e., fulfilled)
+						// state = "rejected"
+						state = stateString;
+					},
+
+					// rejected_callbacks.disable
+					// fulfilled_callbacks.disable
+					tuples[ 3 - i ][ 2 ].disable,
+
+					// rejected_handlers.disable
+					// fulfilled_handlers.disable
+					tuples[ 3 - i ][ 3 ].disable,
+
+					// progress_callbacks.lock
+					tuples[ 0 ][ 2 ].lock,
+
+					// progress_handlers.lock
+					tuples[ 0 ][ 3 ].lock
+				);
+			}
+
+			// progress_handlers.fire
+			// fulfilled_handlers.fire
+			// rejected_handlers.fire
+			list.add( tuple[ 3 ].fire );
+
+			// deferred.notify = function() { deferred.notifyWith(...) }
+			// deferred.resolve = function() { deferred.resolveWith(...) }
+			// deferred.reject = function() { deferred.rejectWith(...) }
+			deferred[ tuple[ 0 ] ] = function() {
+				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+				return this;
+			};
+
+			// deferred.notifyWith = list.fireWith
+			// deferred.resolveWith = list.fireWith
+			// deferred.rejectWith = list.fireWith
+			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+		} );
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( singleValue ) {
+		var
+
+			// count of uncompleted subordinates
+			remaining = arguments.length,
+
+			// count of unprocessed arguments
+			i = remaining,
+
+			// subordinate fulfillment data
+			resolveContexts = Array( i ),
+			resolveValues = slice.call( arguments ),
+
+			// the master Deferred
+			master = jQuery.Deferred(),
+
+			// subordinate callback factory
+			updateFunc = function( i ) {
+				return function( value ) {
+					resolveContexts[ i ] = this;
+					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+					if ( !( --remaining ) ) {
+						master.resolveWith( resolveContexts, resolveValues );
+					}
+				};
+			};
+
+		// Single- and empty arguments are adopted like Promise.resolve
+		if ( remaining <= 1 ) {
+			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+				!remaining );
+
+			// Use .then() to unwrap secondary thenables (cf. gh-3000)
+			if ( master.state() === "pending" ||
+				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+				return master.then();
+			}
+		}
+
+		// Multiple arguments are aggregated like Promise.all array elements
+		while ( i-- ) {
+			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+		}
+
+		return master.promise();
+	}
+} );
+
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+	// Support: IE 8 - 9 only
+	// Console exists when dev tools are open, which can happen at any time
+	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+		window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+	}
+};
+
+
+
+
+jQuery.readyException = function( error ) {
+	window.setTimeout( function() {
+		throw error;
+	} );
+};
+
+
+
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+	readyList
+		.then( fn )
+
+		// Wrap jQuery.readyException in a function so that the lookup
+		// happens at the time of error handling instead of callback
+		// registration.
+		.catch( function( error ) {
+			jQuery.readyException( error );
+		} );
+
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+	}
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+
+
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+	var i = 0,
+		len = elems.length,
+		bulk = key == null;
+
+	// Sets many values
+	if ( toType( key ) === "object" ) {
+		chainable = true;
+		for ( i in key ) {
+			access( elems, fn, i, key[ i ], true, emptyGet, raw );
+		}
+
+	// Sets one value
+	} else if ( value !== undefined ) {
+		chainable = true;
+
+		if ( !isFunction( value ) ) {
+			raw = true;
+		}
+
+		if ( bulk ) {
+
+			// Bulk operations run against the entire set
+			if ( raw ) {
+				fn.call( elems, value );
+				fn = null;
+
+			// ...except when executing function values
+			} else {
+				bulk = fn;
+				fn = function( elem, key, value ) {
+					return bulk.call( jQuery( elem ), value );
+				};
+			}
+		}
+
+		if ( fn ) {
+			for ( ; i < len; i++ ) {
+				fn(
+					elems[ i ], key, raw ?
+					value :
+					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+				);
+			}
+		}
+	}
+
+	if ( chainable ) {
+		return elems;
+	}
+
+	// Gets
+	if ( bulk ) {
+		return fn.call( elems );
+	}
+
+	return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( all, letter ) {
+	return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+var acceptData = function( owner ) {
+
+	// Accepts only:
+	//  - Node
+	//    - Node.ELEMENT_NODE
+	//    - Node.DOCUMENT_NODE
+	//  - Object
+	//    - Any
+	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+
+
+
+function Data() {
+	this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+	cache: function( owner ) {
+
+		// Check if the owner object already has a cache
+		var value = owner[ this.expando ];
+
+		// If not, create one
+		if ( !value ) {
+			value = {};
+
+			// We can accept data for non-element nodes in modern browsers,
+			// but we should not, see #8335.
+			// Always return an empty object.
+			if ( acceptData( owner ) ) {
+
+				// If it is a node unlikely to be stringify-ed or looped over
+				// use plain assignment
+				if ( owner.nodeType ) {
+					owner[ this.expando ] = value;
+
+				// Otherwise secure it in a non-enumerable property
+				// configurable must be true to allow the property to be
+				// deleted when data is removed
+				} else {
+					Object.defineProperty( owner, this.expando, {
+						value: value,
+						configurable: true
+					} );
+				}
+			}
+		}
+
+		return value;
+	},
+	set: function( owner, data, value ) {
+		var prop,
+			cache = this.cache( owner );
+
+		// Handle: [ owner, key, value ] args
+		// Always use camelCase key (gh-2257)
+		if ( typeof data === "string" ) {
+			cache[ camelCase( data ) ] = value;
+
+		// Handle: [ owner, { properties } ] args
+		} else {
+
+			// Copy the properties one-by-one to the cache object
+			for ( prop in data ) {
+				cache[ camelCase( prop ) ] = data[ prop ];
+			}
+		}
+		return cache;
+	},
+	get: function( owner, key ) {
+		return key === undefined ?
+			this.cache( owner ) :
+
+			// Always use camelCase key (gh-2257)
+			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+	},
+	access: function( owner, key, value ) {
+
+		// In cases where either:
+		//
+		//   1. No key was specified
+		//   2. A string key was specified, but no value provided
+		//
+		// Take the "read" path and allow the get method to determine
+		// which value to return, respectively either:
+		//
+		//   1. The entire cache object
+		//   2. The data stored at the key
+		//
+		if ( key === undefined ||
+				( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+			return this.get( owner, key );
+		}
+
+		// When the key is not a string, or both a key and value
+		// are specified, set or extend (existing objects) with either:
+		//
+		//   1. An object of properties
+		//   2. A key and value
+		//
+		this.set( owner, key, value );
+
+		// Since the "set" path can have two possible entry points
+		// return the expected data based on which path was taken[*]
+		return value !== undefined ? value : key;
+	},
+	remove: function( owner, key ) {
+		var i,
+			cache = owner[ this.expando ];
+
+		if ( cache === undefined ) {
+			return;
+		}
+
+		if ( key !== undefined ) {
+
+			// Support array or space separated string of keys
+			if ( Array.isArray( key ) ) {
+
+				// If key is an array of keys...
+				// We always set camelCase keys, so remove that.
+				key = key.map( camelCase );
+			} else {
+				key = camelCase( key );
+
+				// If a key with the spaces exists, use it.
+				// Otherwise, create an array by matching non-whitespace
+				key = key in cache ?
+					[ key ] :
+					( key.match( rnothtmlwhite ) || [] );
+			}
+
+			i = key.length;
+
+			while ( i-- ) {
+				delete cache[ key[ i ] ];
+			}
+		}
+
+		// Remove the expando if there's no more data
+		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+			// Support: Chrome <=35 - 45
+			// Webkit & Blink performance suffers when deleting properties
+			// from DOM nodes, so set to undefined instead
+			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+			if ( owner.nodeType ) {
+				owner[ this.expando ] = undefined;
+			} else {
+				delete owner[ this.expando ];
+			}
+		}
+	},
+	hasData: function( owner ) {
+		var cache = owner[ this.expando ];
+		return cache !== undefined && !jQuery.isEmptyObject( cache );
+	}
+};
+var dataPriv = new Data();
+
+var dataUser = new Data();
+
+
+
+//	Implementation Summary
+//
+//	1. Enforce API surface and semantic compatibility with 1.9.x branch
+//	2. Improve the module's maintainability by reducing the storage
+//		paths to a single mechanism.
+//	3. Use the same single mechanism to support "private" and "user" data.
+//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+//	5. Avoid exposing implementation details on user objects (eg. expando properties)
+//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+	rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+	if ( data === "true" ) {
+		return true;
+	}
+
+	if ( data === "false" ) {
+		return false;
+	}
+
+	if ( data === "null" ) {
+		return null;
+	}
+
+	// Only convert to a number if it doesn't change the string
+	if ( data === +data + "" ) {
+		return +data;
+	}
+
+	if ( rbrace.test( data ) ) {
+		return JSON.parse( data );
+	}
+
+	return data;
+}
+
+function dataAttr( elem, key, data ) {
+	var name;
+
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = getData( data );
+			} catch ( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			dataUser.set( elem, key, data );
+		} else {
+			data = undefined;
+		}
+	}
+	return data;
+}
+
+jQuery.extend( {
+	hasData: function( elem ) {
+		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+	},
+
+	data: function( elem, name, data ) {
+		return dataUser.access( elem, name, data );
+	},
+
+	removeData: function( elem, name ) {
+		dataUser.remove( elem, name );
+	},
+
+	// TODO: Now that all calls to _data and _removeData have been replaced
+	// with direct calls to dataPriv methods, these can be deprecated.
+	_data: function( elem, name, data ) {
+		return dataPriv.access( elem, name, data );
+	},
+
+	_removeData: function( elem, name ) {
+		dataPriv.remove( elem, name );
+	}
+} );
+
+jQuery.fn.extend( {
+	data: function( key, value ) {
+		var i, name, data,
+			elem = this[ 0 ],
+			attrs = elem && elem.attributes;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = dataUser.get( elem );
+
+				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+					i = attrs.length;
+					while ( i-- ) {
+
+						// Support: IE 11 only
+						// The attrs elements can be null (#14894)
+						if ( attrs[ i ] ) {
+							name = attrs[ i ].name;
+							if ( name.indexOf( "data-" ) === 0 ) {
+								name = camelCase( name.slice( 5 ) );
+								dataAttr( elem, name, data[ name ] );
+							}
+						}
+					}
+					dataPriv.set( elem, "hasDataAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each( function() {
+				dataUser.set( this, key );
+			} );
+		}
+
+		return access( this, function( value ) {
+			var data;
+
+			// The calling jQuery object (element matches) is not empty
+			// (and therefore has an element appears at this[ 0 ]) and the
+			// `value` parameter was not undefined. An empty jQuery object
+			// will result in `undefined` for elem = this[ 0 ] which will
+			// throw an exception if an attempt to read a data cache is made.
+			if ( elem && value === undefined ) {
+
+				// Attempt to get data from the cache
+				// The key will always be camelCased in Data
+				data = dataUser.get( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// Attempt to "discover" the data in
+				// HTML5 custom data-* attrs
+				data = dataAttr( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// We tried really hard, but the data doesn't exist.
+				return;
+			}
+
+			// Set the data...
+			this.each( function() {
+
+				// We always store the camelCased key
+				dataUser.set( this, key, value );
+			} );
+		}, null, value, arguments.length > 1, null, true );
+	},
+
+	removeData: function( key ) {
+		return this.each( function() {
+			dataUser.remove( this, key );
+		} );
+	}
+} );
+
+
+jQuery.extend( {
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = dataPriv.get( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || Array.isArray( data ) ) {
+					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return queue || [];
+		}
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			startLength = queue.length,
+			fn = queue.shift(),
+			hooks = jQuery._queueHooks( elem, type ),
+			next = function() {
+				jQuery.dequeue( elem, type );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// Clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// Not public - generate a queueHooks object, or return the current one
+	_queueHooks: function( elem, type ) {
+		var key = type + "queueHooks";
+		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+			empty: jQuery.Callbacks( "once memory" ).add( function() {
+				dataPriv.remove( elem, [ type + "queue", key ] );
+			} )
+		} );
+	}
+} );
+
+jQuery.fn.extend( {
+	queue: function( type, data ) {
+		var setter = 2;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[ 0 ], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each( function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// Ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			} );
+	},
+	dequeue: function( type ) {
+		return this.each( function() {
+			jQuery.dequeue( this, type );
+		} );
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while ( i-- ) {
+			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+} );
+var pnum = ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+
+var rcssNum = new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+
+var cssExpand = [ "Top", "Right", "Bottom", "Left" ];
+
+var isHiddenWithinTree = function( elem, el ) {
+
+		// isHiddenWithinTree might be called from jQuery#filter function;
+		// in that case, element will be second argument
+		elem = el || elem;
+
+		// Inline style trumps all
+		return elem.style.display === "none" ||
+			elem.style.display === "" &&
+
+			// Otherwise, check computed style
+			// Support: Firefox <=43 - 45
+			// Disconnected elements can have computed display: none, so first confirm that elem is
+			// in the document.
+			jQuery.contains( elem.ownerDocument, elem ) &&
+
+			jQuery.css( elem, "display" ) === "none";
+	};
+
+var swap = function( elem, options, callback, args ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.apply( elem, args || [] );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+
+
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+	var adjusted, scale,
+		maxIterations = 20,
+		currentValue = tween ?
+			function() {
+				return tween.cur();
+			} :
+			function() {
+				return jQuery.css( elem, prop, "" );
+			},
+		initial = currentValue(),
+		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+		// Starting value computation is required for potential unit mismatches
+		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+			rcssNum.exec( jQuery.css( elem, prop ) );
+
+	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+		// Support: Firefox <=54
+		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+		initial = initial / 2;
+
+		// Trust units reported by jQuery.css
+		unit = unit || initialInUnit[ 3 ];
+
+		// Iteratively approximate from a nonzero starting point
+		initialInUnit = +initial || 1;
+
+		while ( maxIterations-- ) {
+
+			// Evaluate and update our best guess (doubling guesses that zero out).
+			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+			jQuery.style( elem, prop, initialInUnit + unit );
+			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+				maxIterations = 0;
+			}
+			initialInUnit = initialInUnit / scale;
+
+		}
+
+		initialInUnit = initialInUnit * 2;
+		jQuery.style( elem, prop, initialInUnit + unit );
+
+		// Make sure we update the tween properties later on
+		valueParts = valueParts || [];
+	}
+
+	if ( valueParts ) {
+		initialInUnit = +initialInUnit || +initial || 0;
+
+		// Apply relative offset (+=/-=) if specified
+		adjusted = valueParts[ 1 ] ?
+			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+			+valueParts[ 2 ];
+		if ( tween ) {
+			tween.unit = unit;
+			tween.start = initialInUnit;
+			tween.end = adjusted;
+		}
+	}
+	return adjusted;
+}
+
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+	var temp,
+		doc = elem.ownerDocument,
+		nodeName = elem.nodeName,
+		display = defaultDisplayMap[ nodeName ];
+
+	if ( display ) {
+		return display;
+	}
+
+	temp = doc.body.appendChild( doc.createElement( nodeName ) );
+	display = jQuery.css( temp, "display" );
+
+	temp.parentNode.removeChild( temp );
+
+	if ( display === "none" ) {
+		display = "block";
+	}
+	defaultDisplayMap[ nodeName ] = display;
+
+	return display;
+}
+
+function showHide( elements, show ) {
+	var display, elem,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	// Determine new display value for elements that need to change
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+
+		display = elem.style.display;
+		if ( show ) {
+
+			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+			// check is required in this first loop unless we have a nonempty display value (either
+			// inline or about-to-be-restored)
+			if ( display === "none" ) {
+				values[ index ] = dataPriv.get( elem, "display" ) || null;
+				if ( !values[ index ] ) {
+					elem.style.display = "";
+				}
+			}
+			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+				values[ index ] = getDefaultDisplay( elem );
+			}
+		} else {
+			if ( display !== "none" ) {
+				values[ index ] = "none";
+
+				// Remember what we're overwriting
+				dataPriv.set( elem, "display", display );
+			}
+		}
+	}
+
+	// Set the display of the elements in a second loop to avoid constant reflow
+	for ( index = 0; index < length; index++ ) {
+		if ( values[ index ] != null ) {
+			elements[ index ].style.display = values[ index ];
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend( {
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state ) {
+		if ( typeof state === "boolean" ) {
+			return state ? this.show() : this.hide();
+		}
+
+		return this.each( function() {
+			if ( isHiddenWithinTree( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		} );
+	}
+} );
+var rcheckableType = ( /^(?:checkbox|radio)$/i );
+
+var rtagName = ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+
+var rscriptType = ( /^$|^module$|\/(?:java|ecma)script/i );
+
+
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+	// Support: IE <=9 only
+	option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+	// XHTML parsers do not magically insert elements in the
+	// same way that tag soup parsers do. So we cannot shorten
+	// this by omitting <tbody> or other required elements.
+	thead: [ 1, "<table>", "</table>" ],
+	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+	_default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+
+function getAll( context, tag ) {
+
+	// Support: IE <=9 - 11 only
+	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	var ret;
+
+	if ( typeof context.getElementsByTagName !== "undefined" ) {
+		ret = context.getElementsByTagName( tag || "*" );
+
+	} else if ( typeof context.querySelectorAll !== "undefined" ) {
+		ret = context.querySelectorAll( tag || "*" );
+
+	} else {
+		ret = [];
+	}
+
+	if ( tag === undefined || tag && nodeName( context, tag ) ) {
+		return jQuery.merge( [ context ], ret );
+	}
+
+	return ret;
+}
+
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+	var i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		dataPriv.set(
+			elems[ i ],
+			"globalEval",
+			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
+		);
+	}
+}
+
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+	var elem, tmp, tag, wrap, contains, j,
+		fragment = context.createDocumentFragment(),
+		nodes = [],
+		i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		elem = elems[ i ];
+
+		if ( elem || elem === 0 ) {
+
+			// Add nodes directly
+			if ( toType( elem ) === "object" ) {
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+			// Convert non-html into a text node
+			} else if ( !rhtml.test( elem ) ) {
+				nodes.push( context.createTextNode( elem ) );
+
+			// Convert html into DOM nodes
+			} else {
+				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+				// Deserialize a standard representation
+				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+				wrap = wrapMap[ tag ] || wrapMap._default;
+				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+				// Descend through wrappers to the right content
+				j = wrap[ 0 ];
+				while ( j-- ) {
+					tmp = tmp.lastChild;
+				}
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, tmp.childNodes );
+
+				// Remember the top-level container
+				tmp = fragment.firstChild;
+
+				// Ensure the created nodes are orphaned (#12392)
+				tmp.textContent = "";
+			}
+		}
+	}
+
+	// Remove wrapper from fragment
+	fragment.textContent = "";
+
+	i = 0;
+	while ( ( elem = nodes[ i++ ] ) ) {
+
+		// Skip elements already in the context collection (trac-4087)
+		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+			if ( ignored ) {
+				ignored.push( elem );
+			}
+			continue;
+		}
+
+		contains = jQuery.contains( elem.ownerDocument, elem );
+
+		// Append to fragment
+		tmp = getAll( fragment.appendChild( elem ), "script" );
+
+		// Preserve script evaluation history
+		if ( contains ) {
+			setGlobalEval( tmp );
+		}
+
+		// Capture executables
+		if ( scripts ) {
+			j = 0;
+			while ( ( elem = tmp[ j++ ] ) ) {
+				if ( rscriptType.test( elem.type || "" ) ) {
+					scripts.push( elem );
+				}
+			}
+		}
+	}
+
+	return fragment;
+}
+
+
+( function() {
+	var fragment = document.createDocumentFragment(),
+		div = fragment.appendChild( document.createElement( "div" ) ),
+		input = document.createElement( "input" );
+
+	// Support: Android 4.0 - 4.3 only
+	// Check state lost if the name is set (#11217)
+	// Support: Windows Web Apps (WWA)
+	// `name` and `type` must use .setAttribute for WWA (#14901)
+	input.setAttribute( "type", "radio" );
+	input.setAttribute( "checked", "checked" );
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+
+	// Support: Android <=4.1 only
+	// Older WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Support: IE <=11 only
+	// Make sure textarea (and checkbox) defaultValue is properly cloned
+	div.innerHTML = "<textarea>x</textarea>";
+	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+var documentElement = document.documentElement;
+
+
+
+var
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+	return true;
+}
+
+function returnFalse() {
+	return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+	try {
+		return document.activeElement;
+	} catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+	var origFn, type;
+
+	// Types can be a map of types/handlers
+	if ( typeof types === "object" ) {
+
+		// ( types-Object, selector, data )
+		if ( typeof selector !== "string" ) {
+
+			// ( types-Object, data )
+			data = data || selector;
+			selector = undefined;
+		}
+		for ( type in types ) {
+			on( elem, type, selector, data, types[ type ], one );
+		}
+		return elem;
+	}
+
+	if ( data == null && fn == null ) {
+
+		// ( types, fn )
+		fn = selector;
+		data = selector = undefined;
+	} else if ( fn == null ) {
+		if ( typeof selector === "string" ) {
+
+			// ( types, selector, fn )
+			fn = data;
+			data = undefined;
+		} else {
+
+			// ( types, data, fn )
+			fn = data;
+			data = selector;
+			selector = undefined;
+		}
+	}
+	if ( fn === false ) {
+		fn = returnFalse;
+	} else if ( !fn ) {
+		return elem;
+	}
+
+	if ( one === 1 ) {
+		origFn = fn;
+		fn = function( event ) {
+
+			// Can use an empty set, since event contains the info
+			jQuery().off( event );
+			return origFn.apply( this, arguments );
+		};
+
+		// Use same guid so caller can remove using origFn
+		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+	}
+	return elem.each( function() {
+		jQuery.event.add( this, types, fn, data, selector );
+	} );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+	global: {},
+
+	add: function( elem, types, handler, data, selector ) {
+
+		var handleObjIn, eventHandle, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.get( elem );
+
+		// Don't attach events to noData or text/comment nodes (but allow plain objects)
+		if ( !elemData ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Ensure that invalid selectors throw exceptions at attach time
+		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
+		if ( selector ) {
+			jQuery.find.matchesSelector( documentElement, selector );
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		if ( !( events = elemData.events ) ) {
+			events = elemData.events = {};
+		}
+		if ( !( eventHandle = elemData.handle ) ) {
+			eventHandle = elemData.handle = function( e ) {
+
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+			};
+		}
+
+		// Handle multiple events separated by a space
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// There *must* be a type, no attaching namespace-only handlers
+			if ( !type ) {
+				continue;
+			}
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			handleObj = jQuery.extend( {
+				type: type,
+				origType: origType,
+				data: data,
+				handler: handler,
+				guid: handler.guid,
+				selector: selector,
+				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+				namespace: namespaces.join( "." )
+			}, handleObjIn );
+
+			// Init the event handler queue if we're the first
+			if ( !( handlers = events[ type ] ) ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener if the special events handler returns false
+				if ( !special.setup ||
+					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+	},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, selector, mappedTypes ) {
+
+		var j, origCount, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+		if ( !elemData || !( events = elemData.events ) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+			handlers = events[ type ] || [];
+			tmp = tmp[ 2 ] &&
+				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+			// Remove matching events
+			origCount = j = handlers.length;
+			while ( j-- ) {
+				handleObj = handlers[ j ];
+
+				if ( ( mappedTypes || origType === handleObj.origType ) &&
+					( !handler || handler.guid === handleObj.guid ) &&
+					( !tmp || tmp.test( handleObj.namespace ) ) &&
+					( !selector || selector === handleObj.selector ||
+						selector === "**" && handleObj.selector ) ) {
+					handlers.splice( j, 1 );
+
+					if ( handleObj.selector ) {
+						handlers.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( origCount && !handlers.length ) {
+				if ( !special.teardown ||
+					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove data and the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			dataPriv.remove( elem, "handle events" );
+		}
+	},
+
+	dispatch: function( nativeEvent ) {
+
+		// Make a writable jQuery.Event from the native event object
+		var event = jQuery.event.fix( nativeEvent );
+
+		var i, j, ret, matched, handleObj, handlerQueue,
+			args = new Array( arguments.length ),
+			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+			special = jQuery.event.special[ event.type ] || {};
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[ 0 ] = event;
+
+		for ( i = 1; i < arguments.length; i++ ) {
+			args[ i ] = arguments[ i ];
+		}
+
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers
+		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+		// Run delegates first; they may want to stop propagation beneath us
+		i = 0;
+		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+			event.currentTarget = matched.elem;
+
+			j = 0;
+			while ( ( handleObj = matched.handlers[ j++ ] ) &&
+				!event.isImmediatePropagationStopped() ) {
+
+				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
+				// a subset or equal to those in the bound event (both can have no namespace).
+				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+					event.handleObj = handleObj;
+					event.data = handleObj.data;
+
+					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+						handleObj.handler ).apply( matched.elem, args );
+
+					if ( ret !== undefined ) {
+						if ( ( event.result = ret ) === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	handlers: function( event, handlers ) {
+		var i, handleObj, sel, matchedHandlers, matchedSelectors,
+			handlerQueue = [],
+			delegateCount = handlers.delegateCount,
+			cur = event.target;
+
+		// Find delegate handlers
+		if ( delegateCount &&
+
+			// Support: IE <=9
+			// Black-hole SVG <use> instance trees (trac-13180)
+			cur.nodeType &&
+
+			// Support: Firefox <=42
+			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+			// Support: IE 11 only
+			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+			!( event.type === "click" && event.button >= 1 ) ) {
+
+			for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+				// Don't check non-elements (#13208)
+				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+					matchedHandlers = [];
+					matchedSelectors = {};
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+
+						// Don't conflict with Object.prototype properties (#13203)
+						sel = handleObj.selector + " ";
+
+						if ( matchedSelectors[ sel ] === undefined ) {
+							matchedSelectors[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) > -1 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( matchedSelectors[ sel ] ) {
+							matchedHandlers.push( handleObj );
+						}
+					}
+					if ( matchedHandlers.length ) {
+						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		cur = this;
+		if ( delegateCount < handlers.length ) {
+			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+		}
+
+		return handlerQueue;
+	},
+
+	addProp: function( name, hook ) {
+		Object.defineProperty( jQuery.Event.prototype, name, {
+			enumerable: true,
+			configurable: true,
+
+			get: isFunction( hook ) ?
+				function() {
+					if ( this.originalEvent ) {
+							return hook( this.originalEvent );
+					}
+				} :
+				function() {
+					if ( this.originalEvent ) {
+							return this.originalEvent[ name ];
+					}
+				},
+
+			set: function( value ) {
+				Object.defineProperty( this, name, {
+					enumerable: true,
+					configurable: true,
+					writable: true,
+					value: value
+				} );
+			}
+		} );
+	},
+
+	fix: function( originalEvent ) {
+		return originalEvent[ jQuery.expando ] ?
+			originalEvent :
+			new jQuery.Event( originalEvent );
+	},
+
+	special: {
+		load: {
+
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+		focus: {
+
+			// Fire native event if possible so blur/focus sequence is correct
+			trigger: function() {
+				if ( this !== safeActiveElement() && this.focus ) {
+					this.focus();
+					return false;
+				}
+			},
+			delegateType: "focusin"
+		},
+		blur: {
+			trigger: function() {
+				if ( this === safeActiveElement() && this.blur ) {
+					this.blur();
+					return false;
+				}
+			},
+			delegateType: "focusout"
+		},
+		click: {
+
+			// For checkbox, fire native event so checked state will be right
+			trigger: function() {
+				if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+					this.click();
+					return false;
+				}
+			},
+
+			// For cross-browser consistency, don't fire native .click() on links
+			_default: function( event ) {
+				return nodeName( event.target, "a" );
+			}
+		},
+
+		beforeunload: {
+			postDispatch: function( event ) {
+
+				// Support: Firefox 20+
+				// Firefox doesn't alert if the returnValue field is not set.
+				if ( event.result !== undefined && event.originalEvent ) {
+					event.originalEvent.returnValue = event.result;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+	// This "if" is needed for plain objects
+	if ( elem.removeEventListener ) {
+		elem.removeEventListener( type, handle );
+	}
+};
+
+jQuery.Event = function( src, props ) {
+
+	// Allow instantiation without the 'new' keyword
+	if ( !( this instanceof jQuery.Event ) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = src.defaultPrevented ||
+				src.defaultPrevented === undefined &&
+
+				// Support: Android <=2.3 only
+				src.returnValue === false ?
+			returnTrue :
+			returnFalse;
+
+		// Create target properties
+		// Support: Safari <=6 - 7 only
+		// Target should not be a text node (#504, #13143)
+		this.target = ( src.target && src.target.nodeType === 3 ) ?
+			src.target.parentNode :
+			src.target;
+
+		this.currentTarget = src.currentTarget;
+		this.relatedTarget = src.relatedTarget;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || Date.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	constructor: jQuery.Event,
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse,
+	isSimulated: false,
+
+	preventDefault: function() {
+		var e = this.originalEvent;
+
+		this.isDefaultPrevented = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.preventDefault();
+		}
+	},
+	stopPropagation: function() {
+		var e = this.originalEvent;
+
+		this.isPropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopPropagation();
+		}
+	},
+	stopImmediatePropagation: function() {
+		var e = this.originalEvent;
+
+		this.isImmediatePropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopImmediatePropagation();
+		}
+
+		this.stopPropagation();
+	}
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+	altKey: true,
+	bubbles: true,
+	cancelable: true,
+	changedTouches: true,
+	ctrlKey: true,
+	detail: true,
+	eventPhase: true,
+	metaKey: true,
+	pageX: true,
+	pageY: true,
+	shiftKey: true,
+	view: true,
+	"char": true,
+	charCode: true,
+	key: true,
+	keyCode: true,
+	button: true,
+	buttons: true,
+	clientX: true,
+	clientY: true,
+	offsetX: true,
+	offsetY: true,
+	pointerId: true,
+	pointerType: true,
+	screenX: true,
+	screenY: true,
+	targetTouches: true,
+	toElement: true,
+	touches: true,
+
+	which: function( event ) {
+		var button = event.button;
+
+		// Add which for key events
+		if ( event.which == null && rkeyEvent.test( event.type ) ) {
+			return event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+			if ( button & 1 ) {
+				return 1;
+			}
+
+			if ( button & 2 ) {
+				return 3;
+			}
+
+			if ( button & 4 ) {
+				return 2;
+			}
+
+			return 0;
+		}
+
+		return event.which;
+	}
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+	mouseenter: "mouseover",
+	mouseleave: "mouseout",
+	pointerenter: "pointerover",
+	pointerleave: "pointerout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		delegateType: fix,
+		bindType: fix,
+
+		handle: function( event ) {
+			var ret,
+				target = this,
+				related = event.relatedTarget,
+				handleObj = event.handleObj;
+
+			// For mouseenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return ret;
+		}
+	};
+} );
+
+jQuery.fn.extend( {
+
+	on: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn );
+	},
+	one: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn, 1 );
+	},
+	off: function( types, selector, fn ) {
+		var handleObj, type;
+		if ( types && types.preventDefault && types.handleObj ) {
+
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ?
+					handleObj.origType + "." + handleObj.namespace :
+					handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each( function() {
+			jQuery.event.remove( this, types, fn, selector );
+		} );
+	}
+} );
+
+
+var
+
+	/* eslint-disable max-len */
+
+	// See https://github.com/eslint/eslint/issues/3229
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+	/* eslint-enable */
+
+	// Support: IE <=10 - 11, Edge 12 - 13 only
+	// In IE/Edge using regex groups here causes severe slowdowns.
+	// See https://connect.microsoft.com/IE/feedback/details/1736512/
+	rnoInnerhtml = /<script|<style|<link/i,
+
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+	if ( nodeName( elem, "table" ) &&
+		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
+	}
+
+	return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+	return elem;
+}
+function restoreScript( elem ) {
+	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
+		elem.type = elem.type.slice( 5 );
+	} else {
+		elem.removeAttribute( "type" );
+	}
+
+	return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// 1. Copy private data: events, handlers, etc.
+	if ( dataPriv.hasData( src ) ) {
+		pdataOld = dataPriv.access( src );
+		pdataCur = dataPriv.set( dest, pdataOld );
+		events = pdataOld.events;
+
+		if ( events ) {
+			delete pdataCur.handle;
+			pdataCur.events = {};
+
+			for ( type in events ) {
+				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+					jQuery.event.add( dest, type, events[ type ][ i ] );
+				}
+			}
+		}
+	}
+
+	// 2. Copy user data
+	if ( dataUser.hasData( src ) ) {
+		udataOld = dataUser.access( src );
+		udataCur = jQuery.extend( {}, udataOld );
+
+		dataUser.set( dest, udataCur );
+	}
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+	var nodeName = dest.nodeName.toLowerCase();
+
+	// Fails to persist the checked state of a cloned checkbox or radio button.
+	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		dest.checked = src.checked;
+
+	// Fails to return the selected option to the default selected state when cloning options
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+	// Flatten any nested arrays
+	args = concat.apply( [], args );
+
+	var fragment, first, scripts, hasScripts, node, doc,
+		i = 0,
+		l = collection.length,
+		iNoClone = l - 1,
+		value = args[ 0 ],
+		valueIsFunction = isFunction( value );
+
+	// We can't cloneNode fragments that contain checked, in WebKit
+	if ( valueIsFunction ||
+			( l > 1 && typeof value === "string" &&
+				!support.checkClone && rchecked.test( value ) ) ) {
+		return collection.each( function( index ) {
+			var self = collection.eq( index );
+			if ( valueIsFunction ) {
+				args[ 0 ] = value.call( this, index, self.html() );
+			}
+			domManip( self, args, callback, ignored );
+		} );
+	}
+
+	if ( l ) {
+		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+		first = fragment.firstChild;
+
+		if ( fragment.childNodes.length === 1 ) {
+			fragment = first;
+		}
+
+		// Require either new content or an interest in ignored elements to invoke the callback
+		if ( first || ignored ) {
+			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+			hasScripts = scripts.length;
+
+			// Use the original fragment for the last item
+			// instead of the first because it can end up
+			// being emptied incorrectly in certain situations (#8070).
+			for ( ; i < l; i++ ) {
+				node = fragment;
+
+				if ( i !== iNoClone ) {
+					node = jQuery.clone( node, true, true );
+
+					// Keep references to cloned scripts for later restoration
+					if ( hasScripts ) {
+
+						// Support: Android <=4.0 only, PhantomJS 1 only
+						// push.apply(_, arraylike) throws on ancient WebKit
+						jQuery.merge( scripts, getAll( node, "script" ) );
+					}
+				}
+
+				callback.call( collection[ i ], node, i );
+			}
+
+			if ( hasScripts ) {
+				doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+				// Reenable scripts
+				jQuery.map( scripts, restoreScript );
+
+				// Evaluate executable scripts on first document insertion
+				for ( i = 0; i < hasScripts; i++ ) {
+					node = scripts[ i ];
+					if ( rscriptType.test( node.type || "" ) &&
+						!dataPriv.access( node, "globalEval" ) &&
+						jQuery.contains( doc, node ) ) {
+
+						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
+
+							// Optional AJAX dependency, but won't run scripts if not present
+							if ( jQuery._evalUrl ) {
+								jQuery._evalUrl( node.src );
+							}
+						} else {
+							DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return collection;
+}
+
+function remove( elem, selector, keepData ) {
+	var node,
+		nodes = selector ? jQuery.filter( selector, elem ) : elem,
+		i = 0;
+
+	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+		if ( !keepData && node.nodeType === 1 ) {
+			jQuery.cleanData( getAll( node ) );
+		}
+
+		if ( node.parentNode ) {
+			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+				setGlobalEval( getAll( node, "script" ) );
+			}
+			node.parentNode.removeChild( node );
+		}
+	}
+
+	return elem;
+}
+
+jQuery.extend( {
+	htmlPrefilter: function( html ) {
+		return html.replace( rxhtmlTag, "<$1></$2>" );
+	},
+
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var i, l, srcElements, destElements,
+			clone = elem.cloneNode( true ),
+			inPage = jQuery.contains( elem.ownerDocument, elem );
+
+		// Fix IE cloning issues
+		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+				!jQuery.isXMLDoc( elem ) ) {
+
+			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+			destElements = getAll( clone );
+			srcElements = getAll( elem );
+
+			for ( i = 0, l = srcElements.length; i < l; i++ ) {
+				fixInput( srcElements[ i ], destElements[ i ] );
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			if ( deepDataAndEvents ) {
+				srcElements = srcElements || getAll( elem );
+				destElements = destElements || getAll( clone );
+
+				for ( i = 0, l = srcElements.length; i < l; i++ ) {
+					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+				}
+			} else {
+				cloneCopyEvent( elem, clone );
+			}
+		}
+
+		// Preserve script evaluation history
+		destElements = getAll( clone, "script" );
+		if ( destElements.length > 0 ) {
+			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+		}
+
+		// Return the cloned set
+		return clone;
+	},
+
+	cleanData: function( elems ) {
+		var data, elem, type,
+			special = jQuery.event.special,
+			i = 0;
+
+		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+			if ( acceptData( elem ) ) {
+				if ( ( data = elem[ dataPriv.expando ] ) ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataPriv.expando ] = undefined;
+				}
+				if ( elem[ dataUser.expando ] ) {
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataUser.expando ] = undefined;
+				}
+			}
+		}
+	}
+} );
+
+jQuery.fn.extend( {
+	detach: function( selector ) {
+		return remove( this, selector, true );
+	},
+
+	remove: function( selector ) {
+		return remove( this, selector );
+	},
+
+	text: function( value ) {
+		return access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().each( function() {
+					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+						this.textContent = value;
+					}
+				} );
+		}, null, value, arguments.length );
+	},
+
+	append: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.appendChild( elem );
+			}
+		} );
+	},
+
+	prepend: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.insertBefore( elem, target.firstChild );
+			}
+		} );
+	},
+
+	before: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this );
+			}
+		} );
+	},
+
+	after: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			}
+		} );
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; ( elem = this[ i ] ) != null; i++ ) {
+			if ( elem.nodeType === 1 ) {
+
+				// Prevent memory leaks
+				jQuery.cleanData( getAll( elem, false ) );
+
+				// Remove any remaining nodes
+				elem.textContent = "";
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return this.map( function() {
+			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+		} );
+	},
+
+	html: function( value ) {
+		return access( this, function( value ) {
+			var elem = this[ 0 ] || {},
+				i = 0,
+				l = this.length;
+
+			if ( value === undefined && elem.nodeType === 1 ) {
+				return elem.innerHTML;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+				value = jQuery.htmlPrefilter( value );
+
+				try {
+					for ( ; i < l; i++ ) {
+						elem = this[ i ] || {};
+
+						// Remove element nodes and prevent memory leaks
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( getAll( elem, false ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch ( e ) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function() {
+		var ignored = [];
+
+		// Make the changes, replacing each non-ignored context element with the new content
+		return domManip( this, arguments, function( elem ) {
+			var parent = this.parentNode;
+
+			if ( jQuery.inArray( this, ignored ) < 0 ) {
+				jQuery.cleanData( getAll( this ) );
+				if ( parent ) {
+					parent.replaceChild( elem, this );
+				}
+			}
+
+		// Force callback invocation
+		}, ignored );
+	}
+} );
+
+jQuery.each( {
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			ret = [],
+			insert = jQuery( selector ),
+			last = insert.length - 1,
+			i = 0;
+
+		for ( ; i <= last; i++ ) {
+			elems = i === last ? this : this.clone( true );
+			jQuery( insert[ i ] )[ original ]( elems );
+
+			// Support: Android <=4.0 only, PhantomJS 1 only
+			// .get() because push.apply(_, arraylike) throws on ancient WebKit
+			push.apply( ret, elems.get() );
+		}
+
+		return this.pushStack( ret );
+	};
+} );
+var rnumnonpx = new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+
+var getStyles = function( elem ) {
+
+		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// IE throws on elements created in popups
+		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+		var view = elem.ownerDocument.defaultView;
+
+		if ( !view || !view.opener ) {
+			view = window;
+		}
+
+		return view.getComputedStyle( elem );
+	};
+
+var rboxStyle = new RegExp( cssExpand.join( "|" ), "i" );
+
+
+
+( function() {
+
+	// Executing both pixelPosition & boxSizingReliable tests require only one layout
+	// so they're executed at the same time to save the second computation.
+	function computeStyleTests() {
+
+		// This is a singleton, we need to execute it only once
+		if ( !div ) {
+			return;
+		}
+
+		container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
+			"margin-top:1px;padding:0;border:0";
+		div.style.cssText =
+			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
+			"margin:auto;border:1px;padding:1px;" +
+			"width:60%;top:1%";
+		documentElement.appendChild( container ).appendChild( div );
+
+		var divStyle = window.getComputedStyle( div );
+		pixelPositionVal = divStyle.top !== "1%";
+
+		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
+
+		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
+		// Some styles come back with percentage values, even though they shouldn't
+		div.style.right = "60%";
+		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
+
+		// Support: IE 9 - 11 only
+		// Detect misreporting of content dimensions for box-sizing:border-box elements
+		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
+
+		// Support: IE 9 only
+		// Detect overflow:scroll screwiness (gh-3699)
+		div.style.position = "absolute";
+		scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
+
+		documentElement.removeChild( container );
+
+		// Nullify the div so it wouldn't be stored in the memory and
+		// it will also be a sign that checks already performed
+		div = null;
+	}
+
+	function roundPixelMeasures( measure ) {
+		return Math.round( parseFloat( measure ) );
+	}
+
+	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
+		reliableMarginLeftVal,
+		container = document.createElement( "div" ),
+		div = document.createElement( "div" );
+
+	// Finish early in limited (non-browser) environments
+	if ( !div.style ) {
+		return;
+	}
+
+	// Support: IE <=9 - 11 only
+	// Style of cloned element affects source element cloned (#8908)
+	div.style.backgroundClip = "content-box";
+	div.cloneNode( true ).style.backgroundClip = "";
+	support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+	jQuery.extend( support, {
+		boxSizingReliable: function() {
+			computeStyleTests();
+			return boxSizingReliableVal;
+		},
+		pixelBoxStyles: function() {
+			computeStyleTests();
+			return pixelBoxStylesVal;
+		},
+		pixelPosition: function() {
+			computeStyleTests();
+			return pixelPositionVal;
+		},
+		reliableMarginLeft: function() {
+			computeStyleTests();
+			return reliableMarginLeftVal;
+		},
+		scrollboxSize: function() {
+			computeStyleTests();
+			return scrollboxSizeVal;
+		}
+	} );
+} )();
+
+
+function curCSS( elem, name, computed ) {
+	var width, minWidth, maxWidth, ret,
+
+		// Support: Firefox 51+
+		// Retrieving style before computed somehow
+		// fixes an issue with getting wrong values
+		// on detached elements
+		style = elem.style;
+
+	computed = computed || getStyles( elem );
+
+	// getPropertyValue is needed for:
+	//   .css('filter') (IE 9 only, #12537)
+	//   .css('--customProperty) (#3144)
+	if ( computed ) {
+		ret = computed.getPropertyValue( name ) || computed[ name ];
+
+		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+			ret = jQuery.style( elem, name );
+		}
+
+		// A tribute to the "awesome hack by Dean Edwards"
+		// Android Browser returns percentage for some values,
+		// but width seems to be reliably pixels.
+		// This is against the CSSOM draft spec:
+		// https://drafts.csswg.org/cssom/#resolved-values
+		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
+
+			// Remember the original values
+			width = style.width;
+			minWidth = style.minWidth;
+			maxWidth = style.maxWidth;
+
+			// Put in the new values to get a computed value out
+			style.minWidth = style.maxWidth = style.width = ret;
+			ret = computed.width;
+
+			// Revert the changed values
+			style.width = width;
+			style.minWidth = minWidth;
+			style.maxWidth = maxWidth;
+		}
+	}
+
+	return ret !== undefined ?
+
+		// Support: IE <=9 - 11 only
+		// IE returns zIndex value as an integer.
+		ret + "" :
+		ret;
+}
+
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+	// Define the hook, we'll check on the first run if it's really needed.
+	return {
+		get: function() {
+			if ( conditionFn() ) {
+
+				// Hook not needed (or it's not possible to use it due
+				// to missing dependency), remove it.
+				delete this.get;
+				return;
+			}
+
+			// Hook needed; redefine it so that the support test is not executed again.
+			return ( this.get = hookFn ).apply( this, arguments );
+		}
+	};
+}
+
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	rcustomProp = /^--/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	},
+
+	cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+	// Shortcut for names that are not vendor prefixed
+	if ( name in emptyStyle ) {
+		return name;
+	}
+
+	// Check for vendor prefixed names
+	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in emptyStyle ) {
+			return name;
+		}
+	}
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+	var ret = jQuery.cssProps[ name ];
+	if ( !ret ) {
+		ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+	}
+	return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+	// Any relative (+/-) values have already been
+	// normalized at this point
+	var matches = rcssNum.exec( value );
+	return matches ?
+
+		// Guard against undefined "subtract", e.g., when used as in cssHooks
+		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+		value;
+}
+
+function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
+	var i = dimension === "width" ? 1 : 0,
+		extra = 0,
+		delta = 0;
+
+	// Adjustment may not be necessary
+	if ( box === ( isBorderBox ? "border" : "content" ) ) {
+		return 0;
+	}
+
+	for ( ; i < 4; i += 2 ) {
+
+		// Both box models exclude margin
+		if ( box === "margin" ) {
+			delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+		}
+
+		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
+		if ( !isBorderBox ) {
+
+			// Add padding
+			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+			// For "border" or "margin", add border
+			if ( box !== "padding" ) {
+				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+
+			// But still keep track of it otherwise
+			} else {
+				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+
+		// If we get here with a border-box (content + padding + border), we're seeking "content" or
+		// "padding" or "margin"
+		} else {
+
+			// For "content", subtract padding
+			if ( box === "content" ) {
+				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+			}
+
+			// For "content" or "padding", subtract border
+			if ( box !== "margin" ) {
+				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		}
+	}
+
+	// Account for positive content-box scroll gutter when requested by providing computedVal
+	if ( !isBorderBox && computedVal >= 0 ) {
+
+		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
+		// Assuming integer scroll gutter, subtract the rest and round down
+		delta += Math.max( 0, Math.ceil(
+			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+			computedVal -
+			delta -
+			extra -
+			0.5
+		) );
+	}
+
+	return delta;
+}
+
+function getWidthOrHeight( elem, dimension, extra ) {
+
+	// Start with computed style
+	var styles = getStyles( elem ),
+		val = curCSS( elem, dimension, styles ),
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+		valueIsBorderBox = isBorderBox;
+
+	// Support: Firefox <=54
+	// Return a confounding non-pixel value or feign ignorance, as appropriate.
+	if ( rnumnonpx.test( val ) ) {
+		if ( !extra ) {
+			return val;
+		}
+		val = "auto";
+	}
+
+	// Check for style in case a browser which returns unreliable values
+	// for getComputedStyle silently falls back to the reliable elem.style
+	valueIsBorderBox = valueIsBorderBox &&
+		( support.boxSizingReliable() || val === elem.style[ dimension ] );
+
+	// Fall back to offsetWidth/offsetHeight when value is "auto"
+	// This happens for inline elements with no explicit setting (gh-3571)
+	// Support: Android <=4.1 - 4.3 only
+	// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+	if ( val === "auto" ||
+		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
+
+		val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
+
+		// offsetWidth/offsetHeight provide border-box values
+		valueIsBorderBox = true;
+	}
+
+	// Normalize "" and auto
+	val = parseFloat( val ) || 0;
+
+	// Adjust for the element's box model
+	return ( val +
+		boxModelAdjustment(
+			elem,
+			dimension,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox,
+			styles,
+
+			// Provide the current computed size to request scroll gutter calculation (gh-3589)
+			val
+		)
+	) + "px";
+}
+
+jQuery.extend( {
+
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+				}
+			}
+		}
+	},
+
+	// Don't automatically add "px" to these possibly-unitless properties
+	cssNumber: {
+		"animationIterationCount": true,
+		"columnCount": true,
+		"fillOpacity": true,
+		"flexGrow": true,
+		"flexShrink": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"order": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = camelCase( name ),
+			isCustomProp = rcustomProp.test( name ),
+			style = elem.style;
+
+		// Make sure that we're working with the right name. We don't
+		// want to query the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Gets hook for the prefixed version, then unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// Convert "+=" or "-=" to relative numbers (#7345)
+			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+				value = adjustCSS( elem, name, ret );
+
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that null and NaN values aren't set (#7116)
+			if ( value == null || value !== value ) {
+				return;
+			}
+
+			// If a number was passed in, add the unit (except for certain CSS properties)
+			if ( type === "number" ) {
+				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+			}
+
+			// background-* props affect original clone's values
+			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+				style[ name ] = "inherit";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !( "set" in hooks ) ||
+				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+				if ( isCustomProp ) {
+					style.setProperty( name, value );
+				} else {
+					style[ name ] = value;
+				}
+			}
+
+		} else {
+
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks &&
+				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, extra, styles ) {
+		var val, num, hooks,
+			origName = camelCase( name ),
+			isCustomProp = rcustomProp.test( name );
+
+		// Make sure that we're working with the right name. We don't
+		// want to modify the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Try prefixed name followed by the unprefixed name
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks ) {
+			val = hooks.get( elem, true, extra );
+		}
+
+		// Otherwise, if a way to get the computed value exists, use that
+		if ( val === undefined ) {
+			val = curCSS( elem, name, styles );
+		}
+
+		// Convert "normal" to computed value
+		if ( val === "normal" && name in cssNormalTransform ) {
+			val = cssNormalTransform[ name ];
+		}
+
+		// Make numeric if forced or a qualifier was provided and val looks numeric
+		if ( extra === "" || extra ) {
+			num = parseFloat( val );
+			return extra === true || isFinite( num ) ? num || 0 : val;
+		}
+
+		return val;
+	}
+} );
+
+jQuery.each( [ "height", "width" ], function( i, dimension ) {
+	jQuery.cssHooks[ dimension ] = {
+		get: function( elem, computed, extra ) {
+			if ( computed ) {
+
+				// Certain elements can have dimension info if we invisibly show them
+				// but it must have a current display style that would benefit
+				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+					// Support: Safari 8+
+					// Table columns in Safari have non-zero offsetWidth & zero
+					// getBoundingClientRect().width unless display is changed.
+					// Support: IE <=11 only
+					// Running getBoundingClientRect on a disconnected node
+					// in IE throws an error.
+					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+						swap( elem, cssShow, function() {
+							return getWidthOrHeight( elem, dimension, extra );
+						} ) :
+						getWidthOrHeight( elem, dimension, extra );
+			}
+		},
+
+		set: function( elem, value, extra ) {
+			var matches,
+				styles = getStyles( elem ),
+				isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+				subtract = extra && boxModelAdjustment(
+					elem,
+					dimension,
+					extra,
+					isBorderBox,
+					styles
+				);
+
+			// Account for unreliable border-box dimensions by comparing offset* to computed and
+			// faking a content-box to get border and padding (gh-3699)
+			if ( isBorderBox && support.scrollboxSize() === styles.position ) {
+				subtract -= Math.ceil(
+					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+					parseFloat( styles[ dimension ] ) -
+					boxModelAdjustment( elem, dimension, "border", false, styles ) -
+					0.5
+				);
+			}
+
+			// Convert to pixels if value adjustment is needed
+			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+				( matches[ 3 ] || "px" ) !== "px" ) {
+
+				elem.style[ dimension ] = value;
+				value = jQuery.css( elem, dimension );
+			}
+
+			return setPositiveNumber( elem, value, subtract );
+		}
+	};
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+	function( elem, computed ) {
+		if ( computed ) {
+			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+				elem.getBoundingClientRect().left -
+					swap( elem, { marginLeft: 0 }, function() {
+						return elem.getBoundingClientRect().left;
+					} )
+				) + "px";
+		}
+	}
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+	margin: "",
+	padding: "",
+	border: "Width"
+}, function( prefix, suffix ) {
+	jQuery.cssHooks[ prefix + suffix ] = {
+		expand: function( value ) {
+			var i = 0,
+				expanded = {},
+
+				// Assumes a single number if not a string
+				parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+			for ( ; i < 4; i++ ) {
+				expanded[ prefix + cssExpand[ i ] + suffix ] =
+					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+			}
+
+			return expanded;
+		}
+	};
+
+	if ( prefix !== "margin" ) {
+		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+	}
+} );
+
+jQuery.fn.extend( {
+	css: function( name, value ) {
+		return access( this, function( elem, name, value ) {
+			var styles, len,
+				map = {},
+				i = 0;
+
+			if ( Array.isArray( name ) ) {
+				styles = getStyles( elem );
+				len = name.length;
+
+				for ( ; i < len; i++ ) {
+					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+				}
+
+				return map;
+			}
+
+			return value !== undefined ?
+				jQuery.style( elem, name, value ) :
+				jQuery.css( elem, name );
+		}, name, value, arguments.length > 1 );
+	}
+} );
+
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+	type = type || "fx";
+
+	return this.queue( type, function( next, hooks ) {
+		var timeout = window.setTimeout( next, time );
+		hooks.stop = function() {
+			window.clearTimeout( timeout );
+		};
+	} );
+};
+
+
+( function() {
+	var input = document.createElement( "input" ),
+		select = document.createElement( "select" ),
+		opt = select.appendChild( document.createElement( "option" ) );
+
+	input.type = "checkbox";
+
+	// Support: Android <=4.3 only
+	// Default value for a checkbox should be "on"
+	support.checkOn = input.value !== "";
+
+	// Support: IE <=11 only
+	// Must access selectedIndex to make default options select
+	support.optSelected = opt.selected;
+
+	// Support: IE <=11 only
+	// An input loses its value after becoming a radio
+	input = document.createElement( "input" );
+	input.value = "t";
+	input.type = "radio";
+	support.radioValue = input.value === "t";
+} )();
+
+
+var boolHook,
+	attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+	attr: function( name, value ) {
+		return access( this, jQuery.attr, name, value, arguments.length > 1 );
+	},
+
+	removeAttr: function( name ) {
+		return this.each( function() {
+			jQuery.removeAttr( this, name );
+		} );
+	}
+} );
+
+jQuery.extend( {
+	attr: function( elem, name, value ) {
+		var ret, hooks,
+			nType = elem.nodeType;
+
+		// Don't get/set attributes on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		// Attribute hooks are determined by the lowercase version
+		// Grab necessary hook if one is defined
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+		}
+
+		if ( value !== undefined ) {
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+			}
+
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			elem.setAttribute( name, value + "" );
+			return value;
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		ret = jQuery.find.attr( elem, name );
+
+		// Non-existent attributes return null, we normalize to undefined
+		return ret == null ? undefined : ret;
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				if ( !support.radioValue && value === "radio" &&
+					nodeName( elem, "input" ) ) {
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var name,
+			i = 0,
+
+			// Attribute names can contain non-HTML whitespace characters
+			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+			attrNames = value && value.match( rnothtmlwhite );
+
+		if ( attrNames && elem.nodeType === 1 ) {
+			while ( ( name = attrNames[ i++ ] ) ) {
+				elem.removeAttribute( name );
+			}
+		}
+	}
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+	set: function( elem, value, name ) {
+		if ( value === false ) {
+
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			elem.setAttribute( name, name );
+		}
+		return name;
+	}
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+	var getter = attrHandle[ name ] || jQuery.find.attr;
+
+	attrHandle[ name ] = function( elem, name, isXML ) {
+		var ret, handle,
+			lowercaseName = name.toLowerCase();
+
+		if ( !isXML ) {
+
+			// Avoid an infinite loop by temporarily removing this function from the getter
+			handle = attrHandle[ lowercaseName ];
+			attrHandle[ lowercaseName ] = ret;
+			ret = getter( elem, name, isXML ) != null ?
+				lowercaseName :
+				null;
+			attrHandle[ lowercaseName ] = handle;
+		}
+		return ret;
+	};
+} );
+
+
+
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+	rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+	prop: function( name, value ) {
+		return access( this, jQuery.prop, name, value, arguments.length > 1 );
+	},
+
+	removeProp: function( name ) {
+		return this.each( function() {
+			delete this[ jQuery.propFix[ name ] || name ];
+		} );
+	}
+} );
+
+jQuery.extend( {
+	prop: function( elem, name, value ) {
+		var ret, hooks,
+			nType = elem.nodeType;
+
+		// Don't get/set properties on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			return ( elem[ name ] = value );
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		return elem[ name ];
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+
+				// Support: IE <=9 - 11 only
+				// elem.tabIndex doesn't always return the
+				// correct value when it hasn't been explicitly set
+				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				// Use proper attribute retrieval(#12072)
+				var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+				if ( tabindex ) {
+					return parseInt( tabindex, 10 );
+				}
+
+				if (
+					rfocusable.test( elem.nodeName ) ||
+					rclickable.test( elem.nodeName ) &&
+					elem.href
+				) {
+					return 0;
+				}
+
+				return -1;
+			}
+		}
+	},
+
+	propFix: {
+		"for": "htmlFor",
+		"class": "className"
+	}
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+	jQuery.propHooks.selected = {
+		get: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent && parent.parentNode ) {
+				parent.parentNode.selectedIndex;
+			}
+			return null;
+		},
+		set: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent ) {
+				parent.selectedIndex;
+
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+		}
+	};
+}
+
+jQuery.each( [
+	"tabIndex",
+	"readOnly",
+	"maxLength",
+	"cellSpacing",
+	"cellPadding",
+	"rowSpan",
+	"colSpan",
+	"useMap",
+	"frameBorder",
+	"contentEditable"
+], function() {
+	jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+
+
+
+	// Strip and collapse whitespace according to HTML spec
+	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
+	function stripAndCollapse( value ) {
+		var tokens = value.match( rnothtmlwhite ) || [];
+		return tokens.join( " " );
+	}
+
+
+function getClass( elem ) {
+	return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+function classesToArray( value ) {
+	if ( Array.isArray( value ) ) {
+		return value;
+	}
+	if ( typeof value === "string" ) {
+		return value.match( rnothtmlwhite ) || [];
+	}
+	return [];
+}
+
+jQuery.fn.extend( {
+	addClass: function( value ) {
+		var classes, elem, cur, curValue, clazz, j, finalValue,
+			i = 0;
+
+		if ( isFunction( value ) ) {
+			return this.each( function( j ) {
+				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+			} );
+		}
+
+		classes = classesToArray( value );
+
+		if ( classes.length ) {
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+							cur += clazz + " ";
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	removeClass: function( value ) {
+		var classes, elem, cur, curValue, clazz, j, finalValue,
+			i = 0;
+
+		if ( isFunction( value ) ) {
+			return this.each( function( j ) {
+				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+			} );
+		}
+
+		if ( !arguments.length ) {
+			return this.attr( "class", "" );
+		}
+
+		classes = classesToArray( value );
+
+		if ( classes.length ) {
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+
+				// This expression is here for better compressibility (see addClass)
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+
+						// Remove *all* instances
+						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+							cur = cur.replace( " " + clazz + " ", " " );
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value,
+			isValidValue = type === "string" || Array.isArray( value );
+
+		if ( typeof stateVal === "boolean" && isValidValue ) {
+			return stateVal ? this.addClass( value ) : this.removeClass( value );
+		}
+
+		if ( isFunction( value ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).toggleClass(
+					value.call( this, i, getClass( this ), stateVal ),
+					stateVal
+				);
+			} );
+		}
+
+		return this.each( function() {
+			var className, i, self, classNames;
+
+			if ( isValidValue ) {
+
+				// Toggle individual class names
+				i = 0;
+				self = jQuery( this );
+				classNames = classesToArray( value );
+
+				while ( ( className = classNames[ i++ ] ) ) {
+
+					// Check each className given, space separated list
+					if ( self.hasClass( className ) ) {
+						self.removeClass( className );
+					} else {
+						self.addClass( className );
+					}
+				}
+
+			// Toggle whole class name
+			} else if ( value === undefined || type === "boolean" ) {
+				className = getClass( this );
+				if ( className ) {
+
+					// Store className if set
+					dataPriv.set( this, "__className__", className );
+				}
+
+				// If the element has a class name or if we're passed `false`,
+				// then remove the whole classname (if there was one, the above saved it).
+				// Otherwise bring back whatever was previously saved (if anything),
+				// falling back to the empty string if nothing was stored.
+				if ( this.setAttribute ) {
+					this.setAttribute( "class",
+						className || value === false ?
+						"" :
+						dataPriv.get( this, "__className__" ) || ""
+					);
+				}
+			}
+		} );
+	},
+
+	hasClass: function( selector ) {
+		var className, elem,
+			i = 0;
+
+		className = " " + selector + " ";
+		while ( ( elem = this[ i++ ] ) ) {
+			if ( elem.nodeType === 1 &&
+				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+					return true;
+			}
+		}
+
+		return false;
+	}
+} );
+
+
+
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+	val: function( value ) {
+		var hooks, ret, valueIsFunction,
+			elem = this[ 0 ];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.type ] ||
+					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+				if ( hooks &&
+					"get" in hooks &&
+					( ret = hooks.get( elem, "value" ) ) !== undefined
+				) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				// Handle most common string cases
+				if ( typeof ret === "string" ) {
+					return ret.replace( rreturn, "" );
+				}
+
+				// Handle cases where value is null/undef or number
+				return ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		valueIsFunction = isFunction( value );
+
+		return this.each( function( i ) {
+			var val;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( valueIsFunction ) {
+				val = value.call( this, i, jQuery( this ).val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+
+			} else if ( typeof val === "number" ) {
+				val += "";
+
+			} else if ( Array.isArray( val ) ) {
+				val = jQuery.map( val, function( value ) {
+					return value == null ? "" : value + "";
+				} );
+			}
+
+			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		} );
+	}
+} );
+
+jQuery.extend( {
+	valHooks: {
+		option: {
+			get: function( elem ) {
+
+				var val = jQuery.find.attr( elem, "value" );
+				return val != null ?
+					val :
+
+					// Support: IE <=10 - 11 only
+					// option.text throws exceptions (#14686, #14858)
+					// Strip and collapse whitespace
+					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+					stripAndCollapse( jQuery.text( elem ) );
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, option, i,
+					options = elem.options,
+					index = elem.selectedIndex,
+					one = elem.type === "select-one",
+					values = one ? null : [],
+					max = one ? index + 1 : options.length;
+
+				if ( index < 0 ) {
+					i = max;
+
+				} else {
+					i = one ? index : 0;
+				}
+
+				// Loop through all the selected options
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Support: IE <=9 only
+					// IE8-9 doesn't update selected after form reset (#2551)
+					if ( ( option.selected || i === index ) &&
+
+							// Don't return options that are disabled or in a disabled optgroup
+							!option.disabled &&
+							( !option.parentNode.disabled ||
+								!nodeName( option.parentNode, "optgroup" ) ) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var optionSet, option,
+					options = elem.options,
+					values = jQuery.makeArray( value ),
+					i = options.length;
+
+				while ( i-- ) {
+					option = options[ i ];
+
+					/* eslint-disable no-cond-assign */
+
+					if ( option.selected =
+						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+					) {
+						optionSet = true;
+					}
+
+					/* eslint-enable no-cond-assign */
+				}
+
+				// Force browsers to behave consistently when non-matching value is set
+				if ( !optionSet ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	}
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = {
+		set: function( elem, value ) {
+			if ( Array.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+			}
+		}
+	};
+	if ( !support.checkOn ) {
+		jQuery.valHooks[ this ].get = function( elem ) {
+			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+		};
+	}
+} );
+
+
+
+
+// Return jQuery for attributes-only inclusion
+
+
+support.focusin = "onfocusin" in window;
+
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+	stopPropagationCallback = function( e ) {
+		e.stopPropagation();
+	};
+
+jQuery.extend( jQuery.event, {
+
+	trigger: function( event, data, elem, onlyHandlers ) {
+
+		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
+			eventPath = [ elem || document ],
+			type = hasOwn.call( event, "type" ) ? event.type : event,
+			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+		cur = lastElement = tmp = elem = elem || document;
+
+		// Don't do events on text and comment nodes
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "." ) > -1 ) {
+
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split( "." );
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+		ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+		// Caller can pass in a jQuery.Event object, Object, or just an event type string
+		event = event[ jQuery.expando ] ?
+			event :
+			new jQuery.Event( type, typeof event === "object" && event );
+
+		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+		event.isTrigger = onlyHandlers ? 2 : 3;
+		event.namespace = namespaces.join( "." );
+		event.rnamespace = event.namespace ?
+			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+			null;
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data == null ?
+			[ event ] :
+			jQuery.makeArray( data, [ event ] );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			if ( !rfocusMorph.test( bubbleType + type ) ) {
+				cur = cur.parentNode;
+			}
+			for ( ; cur; cur = cur.parentNode ) {
+				eventPath.push( cur );
+				tmp = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( tmp === ( elem.ownerDocument || document ) ) {
+				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+			}
+		}
+
+		// Fire handlers on the event path
+		i = 0;
+		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+			lastElement = cur;
+			event.type = i > 1 ?
+				bubbleType :
+				special.bindType || type;
+
+			// jQuery handler
+			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+				dataPriv.get( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+
+			// Native handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && handle.apply && acceptData( cur ) ) {
+				event.result = handle.apply( cur, data );
+				if ( event.result === false ) {
+					event.preventDefault();
+				}
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( ( !special._default ||
+				special._default.apply( eventPath.pop(), data ) === false ) &&
+				acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name as the event.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					tmp = elem[ ontype ];
+
+					if ( tmp ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+
+					if ( event.isPropagationStopped() ) {
+						lastElement.addEventListener( type, stopPropagationCallback );
+					}
+
+					elem[ type ]();
+
+					if ( event.isPropagationStopped() ) {
+						lastElement.removeEventListener( type, stopPropagationCallback );
+					}
+
+					jQuery.event.triggered = undefined;
+
+					if ( tmp ) {
+						elem[ ontype ] = tmp;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	// Piggyback on a donor event to simulate a different one
+	// Used only for `focus(in | out)` events
+	simulate: function( type, elem, event ) {
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{
+				type: type,
+				isSimulated: true
+			}
+		);
+
+		jQuery.event.trigger( e, null, elem );
+	}
+
+} );
+
+jQuery.fn.extend( {
+
+	trigger: function( type, data ) {
+		return this.each( function() {
+			jQuery.event.trigger( type, data, this );
+		} );
+	},
+	triggerHandler: function( type, data ) {
+		var elem = this[ 0 ];
+		if ( elem ) {
+			return jQuery.event.trigger( type, data, elem, true );
+		}
+	}
+} );
+
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler on the document while someone wants focusin/focusout
+		var handler = function( event ) {
+			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+		};
+
+		jQuery.event.special[ fix ] = {
+			setup: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix );
+
+				if ( !attaches ) {
+					doc.addEventListener( orig, handler, true );
+				}
+				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+			},
+			teardown: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix ) - 1;
+
+				if ( !attaches ) {
+					doc.removeEventListener( orig, handler, true );
+					dataPriv.remove( doc, fix );
+
+				} else {
+					dataPriv.access( doc, fix, attaches );
+				}
+			}
+		};
+	} );
+}
+
+
+var
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+	rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+	var name;
+
+	if ( Array.isArray( obj ) ) {
+
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+
+				// Item is non-scalar (array or object), encode its numeric index.
+				buildParams(
+					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+					v,
+					traditional,
+					add
+				);
+			}
+		} );
+
+	} else if ( !traditional && toType( obj ) === "object" ) {
+
+		// Serialize object item.
+		for ( name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+	var prefix,
+		s = [],
+		add = function( key, valueOrFunction ) {
+
+			// If value is a function, invoke it and use its return value
+			var value = isFunction( valueOrFunction ) ?
+				valueOrFunction() :
+				valueOrFunction;
+
+			s[ s.length ] = encodeURIComponent( key ) + "=" +
+				encodeURIComponent( value == null ? "" : value );
+		};
+
+	// If an array was passed in, assume that it is an array of form elements.
+	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+		// Serialize the form elements
+		jQuery.each( a, function() {
+			add( this.name, this.value );
+		} );
+
+	} else {
+
+		// If traditional, encode the "old" way (the way 1.3.2 or older
+		// did it), otherwise encode params recursively.
+		for ( prefix in a ) {
+			buildParams( prefix, a[ prefix ], traditional, add );
+		}
+	}
+
+	// Return the resulting serialization
+	return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+	serializeArray: function() {
+		return this.map( function() {
+
+			// Can add propHook for "elements" to filter or add form elements
+			var elements = jQuery.prop( this, "elements" );
+			return elements ? jQuery.makeArray( elements ) : this;
+		} )
+		.filter( function() {
+			var type = this.type;
+
+			// Use .is( ":disabled" ) so that fieldset[disabled] works
+			return this.name && !jQuery( this ).is( ":disabled" ) &&
+				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+				( this.checked || !rcheckableType.test( type ) );
+		} )
+		.map( function( i, elem ) {
+			var val = jQuery( this ).val();
+
+			if ( val == null ) {
+				return null;
+			}
+
+			if ( Array.isArray( val ) ) {
+				return jQuery.map( val, function( val ) {
+					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+				} );
+			}
+
+			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		} ).get();
+	}
+} );
+
+
+jQuery.fn.extend( {
+	wrapAll: function( html ) {
+		var wrap;
+
+		if ( this[ 0 ] ) {
+			if ( isFunction( html ) ) {
+				html = html.call( this[ 0 ] );
+			}
+
+			// The elements to wrap the target around
+			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+			if ( this[ 0 ].parentNode ) {
+				wrap.insertBefore( this[ 0 ] );
+			}
+
+			wrap.map( function() {
+				var elem = this;
+
+				while ( elem.firstElementChild ) {
+					elem = elem.firstElementChild;
+				}
+
+				return elem;
+			} ).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( isFunction( html ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).wrapInner( html.call( this, i ) );
+			} );
+		}
+
+		return this.each( function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				self.append( html );
+			}
+		} );
+	},
+
+	wrap: function( html ) {
+		var htmlIsFunction = isFunction( html );
+
+		return this.each( function( i ) {
+			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
+		} );
+	},
+
+	unwrap: function( selector ) {
+		this.parent( selector ).not( "body" ).each( function() {
+			jQuery( this ).replaceWith( this.childNodes );
+		} );
+		return this;
+	}
+} );
+
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+	return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+
+
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+	var body = document.implementation.createHTMLDocument( "" ).body;
+	body.innerHTML = "<form></form><form></form>";
+	return body.childNodes.length === 2;
+} )();
+
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+	if ( typeof data !== "string" ) {
+		return [];
+	}
+	if ( typeof context === "boolean" ) {
+		keepScripts = context;
+		context = false;
+	}
+
+	var base, parsed, scripts;
+
+	if ( !context ) {
+
+		// Stop scripts or inline event handlers from being executed immediately
+		// by using document.implementation
+		if ( support.createHTMLDocument ) {
+			context = document.implementation.createHTMLDocument( "" );
+
+			// Set the base href for the created document
+			// so any parsed elements with URLs
+			// are based on the document's URL (gh-2965)
+			base = context.createElement( "base" );
+			base.href = document.location.href;
+			context.head.appendChild( base );
+		} else {
+			context = document;
+		}
+	}
+
+	parsed = rsingleTag.exec( data );
+	scripts = !keepScripts && [];
+
+	// Single tag
+	if ( parsed ) {
+		return [ context.createElement( parsed[ 1 ] ) ];
+	}
+
+	parsed = buildFragment( [ data ], context, scripts );
+
+	if ( scripts && scripts.length ) {
+		jQuery( scripts ).remove();
+	}
+
+	return jQuery.merge( [], parsed.childNodes );
+};
+
+
+jQuery.offset = {
+	setOffset: function( elem, options, i ) {
+		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+			position = jQuery.css( elem, "position" ),
+			curElem = jQuery( elem ),
+			props = {};
+
+		// Set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		curOffset = curElem.offset();
+		curCSSTop = jQuery.css( elem, "top" );
+		curCSSLeft = jQuery.css( elem, "left" );
+		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+		// Need to be able to calculate position if either
+		// top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( isFunction( options ) ) {
+
+			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+jQuery.fn.extend( {
+
+	// offset() relates an element's border box to the document origin
+	offset: function( options ) {
+
+		// Preserve chaining for setter
+		if ( arguments.length ) {
+			return options === undefined ?
+				this :
+				this.each( function( i ) {
+					jQuery.offset.setOffset( this, options, i );
+				} );
+		}
+
+		var rect, win,
+			elem = this[ 0 ];
+
+		if ( !elem ) {
+			return;
+		}
+
+		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+		// Support: IE <=11 only
+		// Running getBoundingClientRect on a
+		// disconnected node in IE throws an error
+		if ( !elem.getClientRects().length ) {
+			return { top: 0, left: 0 };
+		}
+
+		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
+		rect = elem.getBoundingClientRect();
+		win = elem.ownerDocument.defaultView;
+		return {
+			top: rect.top + win.pageYOffset,
+			left: rect.left + win.pageXOffset
+		};
+	},
+
+	// position() relates an element's margin box to its offset parent's padding box
+	// This corresponds to the behavior of CSS absolute positioning
+	position: function() {
+		if ( !this[ 0 ] ) {
+			return;
+		}
+
+		var offsetParent, offset, doc,
+			elem = this[ 0 ],
+			parentOffset = { top: 0, left: 0 };
+
+		// position:fixed elements are offset from the viewport, which itself always has zero offset
+		if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+			// Assume position:fixed implies availability of getBoundingClientRect
+			offset = elem.getBoundingClientRect();
+
+		} else {
+			offset = this.offset();
+
+			// Account for the *real* offset parent, which can be the document or its root element
+			// when a statically positioned element is identified
+			doc = elem.ownerDocument;
+			offsetParent = elem.offsetParent || doc.documentElement;
+			while ( offsetParent &&
+				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
+				jQuery.css( offsetParent, "position" ) === "static" ) {
+
+				offsetParent = offsetParent.parentNode;
+			}
+			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
+
+				// Incorporate borders into its offset, since they are outside its content origin
+				parentOffset = jQuery( offsetParent ).offset();
+				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
+				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
+			}
+		}
+
+		// Subtract parent offsets and element margins
+		return {
+			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+		};
+	},
+
+	// This method will return documentElement in the following cases:
+	// 1) For the element inside the iframe without offsetParent, this method will return
+	//    documentElement of the parent window
+	// 2) For the hidden or detached element
+	// 3) For body or html element, i.e. in case of the html node - it will return itself
+	//
+	// but those exceptions were never presented as a real life use-cases
+	// and might be considered as more preferable results.
+	//
+	// This logic, however, is not guaranteed and can change at any point in the future
+	offsetParent: function() {
+		return this.map( function() {
+			var offsetParent = this.offsetParent;
+
+			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+
+			return offsetParent || documentElement;
+		} );
+	}
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+	var top = "pageYOffset" === prop;
+
+	jQuery.fn[ method ] = function( val ) {
+		return access( this, function( elem, method, val ) {
+
+			// Coalesce documents and windows
+			var win;
+			if ( isWindow( elem ) ) {
+				win = elem;
+			} else if ( elem.nodeType === 9 ) {
+				win = elem.defaultView;
+			}
+
+			if ( val === undefined ) {
+				return win ? win[ prop ] : elem[ method ];
+			}
+
+			if ( win ) {
+				win.scrollTo(
+					!top ? val : win.pageXOffset,
+					top ? val : win.pageYOffset
+				);
+
+			} else {
+				elem[ method ] = val;
+			}
+		}, method, val, arguments.length );
+	};
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+		function( elem, computed ) {
+			if ( computed ) {
+				computed = curCSS( elem, prop );
+
+				// If curCSS returns percentage, fallback to offset
+				return rnumnonpx.test( computed ) ?
+					jQuery( elem ).position()[ prop ] + "px" :
+					computed;
+			}
+		}
+	);
+} );
+
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+		function( defaultExtra, funcName ) {
+
+		// Margin is only for outerHeight, outerWidth
+		jQuery.fn[ funcName ] = function( margin, value ) {
+			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+			return access( this, function( elem, type, value ) {
+				var doc;
+
+				if ( isWindow( elem ) ) {
+
+					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+					return funcName.indexOf( "outer" ) === 0 ?
+						elem[ "inner" + name ] :
+						elem.document.documentElement[ "client" + name ];
+				}
+
+				// Get document width or height
+				if ( elem.nodeType === 9 ) {
+					doc = elem.documentElement;
+
+					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+					// whichever is greatest
+					return Math.max(
+						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+						elem.body[ "offset" + name ], doc[ "offset" + name ],
+						doc[ "client" + name ]
+					);
+				}
+
+				return value === undefined ?
+
+					// Get width or height on the element, requesting but not forcing parseFloat
+					jQuery.css( elem, type, extra ) :
+
+					// Set width or height on the element
+					jQuery.style( elem, type, value, extra );
+			}, type, chainable ? margin : undefined, chainable );
+		};
+	} );
+} );
+
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
+	function( i, name ) {
+
+	// Handle event binding
+	jQuery.fn[ name ] = function( data, fn ) {
+		return arguments.length > 0 ?
+			this.on( name, null, data, fn ) :
+			this.trigger( name );
+	};
+} );
+
+jQuery.fn.extend( {
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+	}
+} );
+
+
+
+
+jQuery.fn.extend( {
+
+	bind: function( types, data, fn ) {
+		return this.on( types, null, data, fn );
+	},
+	unbind: function( types, fn ) {
+		return this.off( types, null, fn );
+	},
+
+	delegate: function( selector, types, data, fn ) {
+		return this.on( types, selector, data, fn );
+	},
+	undelegate: function( selector, types, fn ) {
+
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length === 1 ?
+			this.off( selector, "**" ) :
+			this.off( types, selector || "**", fn );
+	}
+} );
+
+// Bind a function to a context, optionally partially applying any
+// arguments.
+// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
+// However, it is not slated for removal any time soon
+jQuery.proxy = function( fn, context ) {
+	var tmp, args, proxy;
+
+	if ( typeof context === "string" ) {
+		tmp = fn[ context ];
+		context = fn;
+		fn = tmp;
+	}
+
+	// Quick check to determine if target is callable, in the spec
+	// this throws a TypeError, but we will just return undefined.
+	if ( !isFunction( fn ) ) {
+		return undefined;
+	}
+
+	// Simulated bind
+	args = slice.call( arguments, 2 );
+	proxy = function() {
+		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+	};
+
+	// Set the guid of unique handler to the same of original handler, so it can be removed
+	proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+	return proxy;
+};
+
+jQuery.holdReady = function( hold ) {
+	if ( hold ) {
+		jQuery.readyWait++;
+	} else {
+		jQuery.ready( true );
+	}
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+jQuery.isFunction = isFunction;
+jQuery.isWindow = isWindow;
+jQuery.camelCase = camelCase;
+jQuery.type = toType;
+
+jQuery.now = Date.now;
+
+jQuery.isNumeric = function( obj ) {
+
+	// As of jQuery 3.0, isNumeric is limited to
+	// strings and numbers (primitives or objects)
+	// that can be coerced to finite numbers (gh-2662)
+	var type = jQuery.type( obj );
+	return ( type === "number" || type === "string" ) &&
+
+		// parseFloat NaNs numeric-cast false positives ("")
+		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+		// subtraction forces infinities to NaN
+		!isNaN( obj - parseFloat( obj ) );
+};
+
+
+
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+	define( "jquery", [], function() {
+		return jQuery;
+	} );
+}
+
+
+
+
+var
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+	if ( window.$ === jQuery ) {
+		window.$ = _$;
+	}
+
+	if ( deep && window.jQuery === jQuery ) {
+		window.jQuery = _jQuery;
+	}
+
+	return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+	window.jQuery = window.$ = jQuery;
+}
+
+
+
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/dist/jquery.slim.min.js b/public/bower_components/jquery/dist/jquery.slim.min.js
new file mode 100644
index 0000000..f4ca9b2
--- /dev/null
+++ b/public/bower_components/jquery/dist/jquery.slim.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,u=n.push,s=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,d=f.toString,p=d.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},v=function e(t){return null!=t&&t===t.window},y={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in y)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function b(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var x="3.3.1 -ajax,-ajax/jsonp,-ajax/load,-ajax/parseXML,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-event/ajax,-effects,-effects/Tween,-effects/animatedSelector",w=function(e,t){return new w.fn.init(e,t)},C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:x,constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},u=1,s=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[u]||{},u++),"object"==typeof a||g(a)||(a={}),u===s&&(a=this,u--);u<s;u++)if(null!=(e=arguments[u]))for(t in e)n=a[t],a!==(r=e[t])&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(i?(i=!1,o=n&&Array.isArray(n)?n:[]):o=n&&w.isPlainObject(n)?n:{},a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQuery"+(x+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==c.call(e))&&(!(t=i(e))||"function"==typeof(n=f.call(t,"constructor")&&t.constructor)&&d.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e){m(e)},each:function(e,t){var n,r=0;if(T(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},trim:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r,i=[],o=0,a=e.length,u=!n;o<a;o++)(r=!t(e[o],o))!==u&&i.push(e[o]);return i},map:function(e,t,n){var r,i,o=0,u=[];if(T(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&u.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&u.push(i);return a.apply([],u)},guid:1,support:h}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){l["[object "+t+"]"]=t.toLowerCase()});function T(e){var t=!!e&&"length"in e&&e.length,n=b(e);return!g(e)&&!v(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,u,s,l,c,f,d,p,h,g,v,y,m,b,x="sizzle"+1*new Date,w=e.document,C=0,T=0,E=ae(),N=ae(),k=ae(),A=function(e,t){return e===t&&(f=!0),0},D={}.hasOwnProperty,S=[],L=S.pop,j=S.push,q=S.push,O=S.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},H="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",I="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",B="\\["+I+"*("+R+")(?:"+I+"*([*^$|!~]?=)"+I+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+R+"))|)"+I+"*\\]",M=":("+R+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+B+")*)|.*)\\)|)",W=new RegExp(I+"+","g"),$=new RegExp("^"+I+"+|((?:^|[^\\\\])(?:\\\\.)*)"+I+"+$","g"),F=new RegExp("^"+I+"*,"+I+"*"),z=new RegExp("^"+I+"*([>+~]|"+I+")"+I+"*"),_=new RegExp("="+I+"*([^\\]'\"]*?)"+I+"*\\]","g"),U=new RegExp(M),V=new RegExp("^"+R+"$"),X={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+B),PSEUDO:new RegExp("^"+M),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+I+"*(even|odd|(([+-]|)(\\d*)n|)"+I+"*(?:([+-]|)"+I+"*(\\d+)|))"+I+"*\\)|)","i"),bool:new RegExp("^(?:"+H+")$","i"),needsContext:new RegExp("^"+I+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+I+"*((?:-\\d)?\\d*)"+I+"*\\)|)(?=[^-]|$)","i")},Q=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,G=/^[^{]+\{\s*\[native \w/,K=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,J=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+I+"?|("+I+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){d()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{q.apply(S=O.call(w.childNodes),w.childNodes),S[w.childNodes.length].nodeType}catch(e){q={apply:S.length?function(e,t){j.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,u,l,c,f,h,y,m=t&&t.ownerDocument,C=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==C&&9!==C&&11!==C)return r;if(!i&&((t?t.ownerDocument||t:w)!==p&&d(t),t=t||p,g)){if(11!==C&&(f=K.exec(e)))if(o=f[1]){if(9===C){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&b(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return q.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return q.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!k[e+" "]&&(!v||!v.test(e))){if(1!==C)m=t,y=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=x),u=(h=a(e)).length;while(u--)h[u]="#"+c+" "+ye(h[u]);y=h.join(","),m=J.test(e)&&ge(t.parentNode)||t}if(y)try{return q.apply(r,m.querySelectorAll(y)),r}catch(e){}finally{c===x&&t.removeAttribute("id")}}}return s(e.replace($,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function ue(e){return e[x]=!0,e}function se(e){var t=p.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function de(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function pe(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return ue(function(t){return t=+t,ue(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},d=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==p&&9===a.nodeType&&a.documentElement?(p=a,h=p.documentElement,g=!o(p),w!==p&&(i=p.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=se(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=se(function(e){return e.appendChild(p.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=G.test(p.getElementsByClassName),n.getById=se(function(e){return h.appendChild(e).id=x,!p.getElementsByName||!p.getElementsByName(x).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=G.test(p.querySelectorAll))&&(se(function(e){h.appendChild(e).innerHTML="<a id='"+x+"'></a><select id='"+x+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+I+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+I+"*(?:value|"+H+")"),e.querySelectorAll("[id~="+x+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+x+"+*").length||v.push(".#.+[+~]")}),se(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=p.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+I+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(n.matchesSelector=G.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&se(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",M)}),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=G.test(h.compareDocumentPosition),b=t||G.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===p||e.ownerDocument===w&&b(w,e)?-1:t===p||t.ownerDocument===w&&b(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],u=[t];if(!i||!o)return e===p?-1:t===p?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)u.unshift(n);while(a[r]===u[r])r++;return r?ce(a[r],u[r]):a[r]===w?-1:u[r]===w?1:0},p):p},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==p&&d(e),t=t.replace(_,"='$1']"),n.matchesSelector&&g&&!k[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,p,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==p&&d(e),b(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==p&&d(e);var i=r.attrHandle[t.toLowerCase()],o=i&&D.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(A),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:ue,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return X.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&U.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+I+")"+e+"("+I+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(W," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),u="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,s){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=u&&t.nodeName.toLowerCase(),m=!s&&!u,b=!1;if(v){if(o){while(g){d=t;while(d=d[g])if(u?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){b=(p=(l=(c=(f=(d=v)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1])&&l[2],d=p&&v.childNodes[p];while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if(1===d.nodeType&&++b&&d===t){c[e]=[C,p,b];break}}else if(m&&(b=p=(l=(c=(f=(d=t)[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]||[])[0]===C&&l[1]),!1===b)while(d=++p&&d&&d[g]||(b=p=0)||h.pop())if((u?d.nodeName.toLowerCase()===y:1===d.nodeType)&&++b&&(m&&((c=(f=d[x]||(d[x]={}))[d.uniqueID]||(f[d.uniqueID]={}))[e]=[C,b]),d===t))break;return(b-=i)===r||b%r==0&&b/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[x]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?ue(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=P(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:ue(function(e){var t=[],n=[],r=u(e.replace($,"$1"));return r[x]?ue(function(e,t,n,i){var o,a=r(e,null,i,[]),u=e.length;while(u--)(o=a[u])&&(e[u]=!(t[u]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:ue(function(e){return function(t){return oe(e,t).length>0}}),contains:ue(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:ue(function(e){return V.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===p.activeElement&&(!p.hasFocus||p.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:pe(!1),disabled:pe(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return Q.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:he(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:he(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=r.pseudos.eq;for(t in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=fe(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=de(t);function ve(){}ve.prototype=r.filters=r.pseudos,r.setFilters=new ve,a=oe.tokenize=function(e,t){var n,i,o,a,u,s,l,c=N[e+" "];if(c)return t?0:c.slice(0);u=e,s=[],l=r.preFilter;while(u){n&&!(i=F.exec(u))||(i&&(u=u.slice(i[0].length)||u),s.push(o=[])),n=!1,(i=z.exec(u))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),u=u.slice(n.length));for(a in r.filter)!(i=X[a].exec(u))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),u=u.slice(n.length));if(!n)break}return t?u.length:u?oe.error(e):N(e,s).slice(0)};function ye(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function me(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,u=T++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,s){var l,c,f,d=[C,u];if(s){while(t=t[r])if((1===t.nodeType||a)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||a)if(f=t[x]||(t[x]={}),c=f[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===C&&l[1]===u)return d[2]=l[2];if(c[o]=d,d[2]=e(t,n,s))return!0}return!1}}function be(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xe(e,t,n){for(var r=0,i=t.length;r<i;r++)oe(e,t[r],n);return n}function we(e,t,n,r,i){for(var o,a=[],u=0,s=e.length,l=null!=t;u<s;u++)(o=e[u])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(u)));return a}function Ce(e,t,n,r,i,o){return r&&!r[x]&&(r=Ce(r)),i&&!i[x]&&(i=Ce(i,o)),ue(function(o,a,u,s){var l,c,f,d=[],p=[],h=a.length,g=o||xe(t||"*",u.nodeType?[u]:u,[]),v=!e||!o&&t?g:we(g,d,e,u,s),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,u,s),r){l=we(y,p),r(l,[],u,s),c=l.length;while(c--)(f=l[c])&&(y[p[c]]=!(v[p[c]]=f))}if(o){if(i||e){if(i){l=[],c=y.length;while(c--)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,s)}c=y.length;while(c--)(f=y[c])&&(l=i?P(o,f):d[c])>-1&&(o[l]=!(a[l]=f))}}else y=we(y===a?y.splice(h,y.length):y),i?i(null,a,y,s):q.apply(a,y)})}function Te(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],u=a||r.relative[" "],s=a?1:0,c=me(function(e){return e===t},u,!0),f=me(function(e){return P(t,e)>-1},u,!0),d=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];s<o;s++)if(n=r.relative[e[s].type])d=[me(be(d),n)];else{if((n=r.filter[e[s].type].apply(null,e[s].matches))[x]){for(i=++s;i<o;i++)if(r.relative[e[i].type])break;return Ce(s>1&&be(d),s>1&&ye(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),n,s<i&&Te(e.slice(s,i)),i<o&&Te(e=e.slice(i)),i<o&&ye(e))}d.push(n)}return be(d)}function Ee(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,u,s,c){var f,h,v,y=0,m="0",b=o&&[],x=[],w=l,T=o||i&&r.find.TAG("*",c),E=C+=null==w?1:Math.random()||.1,N=T.length;for(c&&(l=a===p||a||c);m!==N&&null!=(f=T[m]);m++){if(i&&f){h=0,a||f.ownerDocument===p||(d(f),u=!g);while(v=e[h++])if(v(f,a||p,u)){s.push(f);break}c&&(C=E)}n&&((f=!v&&f)&&y--,o&&b.push(f))}if(y+=m,n&&m!==y){h=0;while(v=t[h++])v(b,x,a,u);if(o){if(y>0)while(m--)b[m]||x[m]||(x[m]=L.call(s));x=we(x)}q.apply(s,x),c&&!o&&x.length>0&&y+t.length>1&&oe.uniqueSort(s)}return c&&(C=E,l=w),b};return n?ue(o):o}return u=oe.compile=function(e,t){var n,r=[],i=[],o=k[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Te(t[n]))[x]?r.push(o):i.push(o);(o=k(e,Ee(i,r))).selector=e}return o},s=oe.select=function(e,t,n,i){var o,s,l,c,f,d="function"==typeof e&&e,p=!i&&a(e=d.selector||e);if(n=n||[],1===p.length){if((s=p[0]=p[0].slice(0)).length>2&&"ID"===(l=s[0]).type&&9===t.nodeType&&g&&r.relative[s[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;d&&(t=t.parentNode),e=e.slice(s.shift().value.length)}o=X.needsContext.test(e)?0:s.length;while(o--){if(l=s[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),J.test(s[0].type)&&ge(t.parentNode)||t))){if(s.splice(o,1),!(e=i.length&&ye(s)))return q.apply(n,i),n;break}}}return(d||u(e,p))(i,t,!g,n,!t||J.test(e)&&ge(t.parentNode)||t),n},n.sortStable=x.split("").sort(A).join("")===x,n.detectDuplicates=!!f,d(),n.sortDetached=se(function(e){return 1&e.compareDocumentPosition(p.createElement("fieldset"))}),se(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&se(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),se(function(e){return null==e.getAttribute("disabled")})||le(H,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var N=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},k=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},A=w.expr.match.needsContext;function D(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var S=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function L(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return s.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(L(this,e||[],!1))},not:function(e){return this.pushStack(L(this,e||[],!0))},is:function(e){return!!L(this,"string"==typeof e&&A.test(e)?w(e):e||[],!1).length}});var j,q=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:q.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),S.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,j=w(r);var O=/^(?:parents|prev(?:Until|All))/,P={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!A.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function H(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return N(e,"parentNode")},parentsUntil:function(e,t,n){return N(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return N(e,"nextSibling")},prevAll:function(e){return N(e,"previousSibling")},nextUntil:function(e,t,n){return N(e,"nextSibling",n)},prevUntil:function(e,t,n){return N(e,"previousSibling",n)},siblings:function(e){return k((e.parentNode||{}).firstChild,e)},children:function(e){return k(e.firstChild)},contents:function(e){return D(e,"iframe")?e.contentDocument:(D(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(P[e]||w.uniqueSort(i),O.test(e)&&i.reverse()),this.pushStack(i)}});var I=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(I)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],u=-1,s=function(){for(i=i||e.once,r=t=!0;a.length;u=-1){n=a.shift();while(++u<o.length)!1===o[u].apply(n[0],n[1])&&e.stopOnFalse&&(u=o.length,n=!1)}e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(u=o.length-1,a.push(n)),function t(n){w.each(n,function(n,r){g(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==b(r)&&t(r)})}(arguments),n&&!t&&s()),this},remove:function(){return w.each(arguments,function(e,t){var n;while((n=w.inArray(t,o,n))>-1)o.splice(n,1),n<=u&&u--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||s()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function B(e){return e}function M(e){throw e}function W(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var u=this,s=arguments,l=function(){var e,l;if(!(t<o)){if((e=r.apply(u,s))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,g(l)?i?l.call(e,a(o,n,B,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,B,i),a(o,n,M,i),a(o,n,B,n.notifyWith))):(r!==B&&(u=void 0,s=[e]),(i||n.resolveWith)(u,s))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==M&&(u=void 0,s=[e]),n.rejectWith(u,s))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:B,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:B)),n[2][3].add(a(0,e,g(r)?r:M))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],u=t[5];i[t[1]]=a.add,u&&a.add(function(){r=u},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),u=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&(W(e,a.done(u(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)W(i[n],u(n),a.reject);return a.promise()}});var $=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&$.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function z(){r.removeEventListener("DOMContentLoaded",z),e.removeEventListener("load",z),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",z),e.addEventListener("load",z));var _=function(e,t,n,r,i,o,a){var u=0,s=e.length,l=null==n;if("object"===b(n)){i=!0;for(u in n)_(e,t,u,n[u],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;u<s;u++)t(e[u],n,a?r:r.call(e[u],u,t(e[u],n)));return i?e:l?t.call(e):s?t(e[0],n):o},U=/^-ms-/,V=/-([a-z])/g;function X(e,t){return t.toUpperCase()}function Q(e){return e.replace(U,"ms-").replace(V,X)}var Y=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function G(){this.expando=w.expando+G.uid++}G.uid=1,G.prototype={cache:function(e){var t=e[this.expando];return t||(t={},Y(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[Q(t)]=n;else for(r in t)i[Q(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][Q(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(Q):(t=Q(t))in r?[t]:t.match(I)||[]).length;while(n--)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var K=new G,J=new G,Z=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,ee=/[A-Z]/g;function te(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:Z.test(e)?JSON.parse(e):e)}function ne(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(ee,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=te(n)}catch(e){}J.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return J.hasData(e)||K.hasData(e)},data:function(e,t,n){return J.access(e,t,n)},removeData:function(e,t){J.remove(e,t)},_data:function(e,t,n){return K.access(e,t,n)},_removeData:function(e,t){K.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=J.get(o),1===o.nodeType&&!K.get(o,"hasDataAttrs"))){n=a.length;while(n--)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=Q(r.slice(5)),ne(o,r,i[r]));K.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each(function(){J.set(this,e)}):_(this,function(t){var n;if(o&&void 0===t){if(void 0!==(n=J.get(o,e)))return n;if(void 0!==(n=ne(o,e)))return n}else this.each(function(){J.set(this,e,t)})},null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each(function(){J.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=K.get(e,t),n&&(!r||Array.isArray(n)?r=K.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return K.get(e,n)||K.access(e,n,{empty:w.Callbacks("once memory").add(function(){K.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each(function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)})},dequeue:function(e){return this.each(function(){w.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,u=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=K.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(u));return u(),i.promise(t)}});var re=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ie=new RegExp("^(?:([+-])=|)("+re+")([a-z%]*)$","i"),oe=["Top","Right","Bottom","Left"],ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&w.contains(e.ownerDocument,e)&&"none"===w.css(e,"display")},ue=function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i};function se(e,t,n,r){var i,o,a=20,u=r?function(){return r.cur()}:function(){return w.css(e,t,"")},s=u(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=(w.cssNumber[t]||"px"!==l&&+s)&&ie.exec(w.css(e,t));if(c&&c[3]!==l){s/=2,l=l||c[3],c=+s||1;while(a--)w.style(e,t,c+l),(1-o)*(1-(o=u()/s||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+s||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var le={};function ce(e){var t,n=e.ownerDocument,r=e.nodeName,i=le[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),le[r]=i,i)}function fe(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=K.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=ce(r))):"none"!==n&&(i[o]="none",K.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return fe(this,!0)},hide:function(){return fe(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?w(this).show():w(this).hide()})}});var de=/^(?:checkbox|radio)$/i,pe=/<([a-z][^\/\0>\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&D(e,t)?w.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n<r;n++)K.set(e[n],"globalEval",!t||K.get(t[n],"globalEval"))}var me=/<|&#?\w+;/;function be(e,t,n,r,i){for(var o,a,u,s,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===b(o))w.merge(d,o.nodeType?[o]:o);else if(me.test(o)){a=a||f.appendChild(t.createElement("div")),u=(pe.exec(o)||["",""])[1].toLowerCase(),s=ge[u]||ge._default,a.innerHTML=s[1]+w.htmlPrefilter(o)+s[2],c=s[0];while(c--)a=a.lastChild;w.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ve(f.appendChild(o),"script"),l&&ye(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="<textarea>x</textarea>",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var xe=r.documentElement,we=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Te=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function Ne(){return!1}function ke(){try{return r.activeElement}catch(e){}}function Ae(e,t,n,r,i,o){var a,u;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(u in t)Ae(e,u,n,r,t[u],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ne;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.get(e);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(xe,i),n.guid||(n.guid=w.guid++),(s=v.events)||(s=v.events={}),(a=v.handle)||(a=v.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(I)||[""]).length;while(l--)p=g=(u=Te.exec(t[l])||[])[1],h=(u[2]||"").split(".").sort(),p&&(f=w.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=w.event.special[p]||{},c=w.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=s[p])||((d=s[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(p,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),w.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,u,s,l,c,f,d,p,h,g,v=K.hasData(e)&&K.get(e);if(v&&(s=v.events)){l=(t=(t||"").match(I)||[""]).length;while(l--)if(u=Te.exec(t[l])||[],p=g=u[1],h=(u[2]||"").split(".").sort(),p){f=w.event.special[p]||{},d=s[p=(r?f.delegateType:f.bindType)||p]||[],u=u[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||u&&!u.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,p,v.handle),delete s[p])}else for(p in s)w.event.remove(e,p+t[l],n,r,!0);w.isEmptyObject(s)&&K.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,u,s=new Array(arguments.length),l=(K.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(s[0]=t,n=1;n<arguments.length;n++)s[n]=arguments[n];if(t.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,t)){u=w.event.handlers.call(this,t,l),n=0;while((o=u[n++])&&!t.isPropagationStopped()){t.currentTarget=o.elem,r=0;while((a=o.handlers[r++])&&!t.isImmediatePropagationStopped())t.rnamespace&&!t.rnamespace.test(a.namespace)||(t.handleObj=a,t.data=a.data,void 0!==(i=((w.event.special[a.origType]||{}).handle||a.handler).apply(o.elem,s))&&!1===(t.result=i)&&(t.preventDefault(),t.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,t),t.result}},handlers:function(e,t){var n,r,i,o,a,u=[],s=t.delegateCount,l=e.target;if(s&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<s;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&u.push({elem:l,handlers:o})}return l=this,s<t.length&&u.push({elem:l,handlers:t.slice(s)}),u},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:g(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==ke()&&this.focus)return this.focus(),!1},delegateType:"focusin"},blur:{trigger:function(){if(this===ke()&&this.blur)return this.blur(),!1},delegateType:"focusout"},click:{trigger:function(){if("checkbox"===this.type&&this.click&&D(this,"input"))return this.click(),!1},_default:function(e){return D(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ee:Ne,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Ne,isPropagationStopped:Ne,isImmediatePropagationStopped:Ne,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ee,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ee,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ee,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&we.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&Ce.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},w.event.addProp),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return i&&(i===r||w.contains(r,i))||(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),w.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ne),this.each(function(){w.event.remove(this,e,n,t)})}});var De=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,Se=/<script|<style|<link/i,Le=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function qe(e,t){return D(e,"table")&&D(11!==t.nodeType?t:t.firstChild,"tr")?w(e).children("tbody")[0]||e:e}function Oe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Pe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function He(e,t){var n,r,i,o,a,u,s,l;if(1===t.nodeType){if(K.hasData(e)&&(o=K.access(e),a=K.set(t,o),l=o.events)){delete a.handle,a.events={};for(i in l)for(n=0,r=l[i].length;n<r;n++)w.event.add(t,i,l[i][n])}J.hasData(e)&&(u=J.access(e),s=w.extend({},u),J.set(t,s))}}function Ie(e,t){var n=t.nodeName.toLowerCase();"input"===n&&de.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Re(e,t,n,r){t=a.apply([],t);var i,o,u,s,l,c,f=0,d=e.length,p=d-1,v=t[0],y=g(v);if(y||d>1&&"string"==typeof v&&!h.checkClone&&Le.test(v))return e.each(function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Re(o,t,n,r)});if(d&&(i=be(t,e[0].ownerDocument,!1,e,r),o=i.firstChild,1===i.childNodes.length&&(i=o),o||r)){for(s=(u=w.map(ve(i,"script"),Oe)).length;f<d;f++)l=i,f!==p&&(l=w.clone(l,!0,!0),s&&w.merge(u,ve(l,"script"))),n.call(e[f],l,f);if(s)for(c=u[u.length-1].ownerDocument,w.map(u,Pe),f=0;f<s;f++)l=u[f],he.test(l.type||"")&&!K.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&w._evalUrl(l.src):m(l.textContent.replace(je,""),c,l))}return e}function Be(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ve(r)),r.parentNode&&(n&&w.contains(r.ownerDocument,r)&&ye(ve(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e.replace(De,"<$1></$2>")},clone:function(e,t,n){var r,i,o,a,u=e.cloneNode(!0),s=w.contains(e.ownerDocument,e);if(!(h.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ve(u),r=0,i=(o=ve(e)).length;r<i;r++)Ie(o[r],a[r]);if(t)if(n)for(o=o||ve(e),a=a||ve(u),r=0,i=o.length;r<i;r++)He(o[r],a[r]);else He(e,u);return(a=ve(u,"script")).length>0&&ye(a,!s&&ve(e,"script")),u},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(Y(n)){if(t=n[K.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[K.expando]=void 0}n[J.expando]&&(n[J.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return _(this,function(e){return void 0===e?w.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Re(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||qe(this,e).appendChild(e)})},prepend:function(){return Re(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=qe(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Re(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ve(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return w.clone(this,e,t)})},html:function(e){return _(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!ge[(pe.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ve(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=[];return Re(this,arguments,function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ve(this)),n&&n.replaceChild(t,this))},e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,a=0;a<=o;a++)n=a===o?this:this.clone(!0),w(i[a])[t](n),u.apply(r,n.get());return this.pushStack(r)}});var Me=new RegExp("^("+re+")(?!px)[a-z%]+$","i"),We=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},$e=new RegExp(oe.join("|"),"i");!function(){function t(){if(c){l.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",xe.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);i="1%"!==t.top,s=12===n(t.marginLeft),c.style.right="60%",u=36===n(t.right),o=36===n(t.width),c.style.position="absolute",a=36===c.offsetWidth||"absolute",xe.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var i,o,a,u,s,l=r.createElement("div"),c=r.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",h.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(h,{boxSizingReliable:function(){return t(),o},pixelBoxStyles:function(){return t(),u},pixelPosition:function(){return t(),i},reliableMarginLeft:function(){return t(),s},scrollboxSize:function(){return t(),a}}))}();function Fe(e,t,n){var r,i,o,a,u=e.style;return(n=n||We(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||w.contains(e.ownerDocument,e)||(a=w.style(e,t)),!h.pixelBoxStyles()&&Me.test(a)&&$e.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function ze(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}var _e=/^(none|table(?!-c[ea]).+)/,Ue=/^--/,Ve={position:"absolute",visibility:"hidden",display:"block"},Xe={letterSpacing:"0",fontWeight:"400"},Qe=["Webkit","Moz","ms"],Ye=r.createElement("div").style;function Ge(e){if(e in Ye)return e;var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Ye)return e}function Ke(e){var t=w.cssProps[e];return t||(t=w.cssProps[e]=Ge(e)||e),t}function Je(e,t,n){var r=ie.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,u=0,s=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(s+=w.css(e,n+oe[a],!0,i)),r?("content"===n&&(s-=w.css(e,"padding"+oe[a],!0,i)),"margin"!==n&&(s-=w.css(e,"border"+oe[a]+"Width",!0,i))):(s+=w.css(e,"padding"+oe[a],!0,i),"padding"!==n?s+=w.css(e,"border"+oe[a]+"Width",!0,i):u+=w.css(e,"border"+oe[a]+"Width",!0,i));return!r&&o>=0&&(s+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-s-u-.5))),s}function et(e,t,n){var r=We(e),i=Fe(e,t,r),o="border-box"===w.css(e,"boxSizing",!1,r),a=o;if(Me.test(i)){if(!n)return i;i="auto"}return a=a&&(h.boxSizingReliable()||i===e.style[t]),("auto"===i||!parseFloat(i)&&"inline"===w.css(e,"display",!1,r))&&(i=e["offset"+t[0].toUpperCase()+t.slice(1)],a=!0),(i=parseFloat(i)||0)+Ze(e,t,n||(o?"border":"content"),a,r,i)+"px"}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Fe(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,u=Q(t),s=Ue.test(t),l=e.style;if(s||(t=Ke(u)),a=w.cssHooks[t]||w.cssHooks[u],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"==(o=typeof n)&&(i=ie.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(w.cssNumber[u]?"":"px")),h.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(s?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,u=Q(t);return Ue.test(t)||(t=Ke(u)),(a=w.cssHooks[t]||w.cssHooks[u])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Fe(e,t,r)),"normal"===i&&t in Xe&&(i=Xe[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!_e.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,t,r):ue(e,Ve,function(){return et(e,t,r)})},set:function(e,n,r){var i,o=We(e),a="border-box"===w.css(e,"boxSizing",!1,o),u=r&&Ze(e,t,r,a,o);return a&&h.scrollboxSize()===o.position&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ze(e,t,"border",!1,o)-.5)),u&&(i=ie.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Je(e,n,u)}}}),w.cssHooks.marginLeft=ze(h.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Fe(e,"marginLeft"))||e.getBoundingClientRect().left-ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),w.each({margin:"",padding:"",border:"Width"},function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+oe[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Je)}),w.fn.extend({css:function(e,t){return _(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=We(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)},e,t,arguments.length>1)}}),w.fn.delay=function(t,n){return t=w.fx?w.fx.speeds[t]||t:t,n=n||"fx",this.queue(n,function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}})},function(){var e=r.createElement("input"),t=r.createElement("select").appendChild(r.createElement("option"));e.type="checkbox",h.checkOn=""!==e.value,h.optSelected=t.selected,(e=r.createElement("input")).value="t",e.type="radio",h.radioValue="t"===e.value}();var tt,nt=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return _(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){w.removeAttr(this,e)})}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!h.radioValue&&"radio"===t&&D(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(I);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),function(e,t){var n=nt[t]||w.find.attr;nt[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=nt[a],nt[a]=i,i=null!=n(e,t,r)?a:null,nt[a]=o),i}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;w.fn.extend({prop:function(e,t){return _(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each(function(){delete this[w.propFix[e]||e]})}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),h.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){w.propFix[this.toLowerCase()]=this});function ot(e){return(e.match(I)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function ut(e){return Array.isArray(e)?e:"string"==typeof e?e.match(I)||[]:[]}w.fn.extend({addClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).addClass(e.call(this,t,at(this)))});if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},removeClass:function(e){var t,n,r,i,o,a,u,s=0;if(g(e))return this.each(function(t){w(this).removeClass(e.call(this,t,at(this)))});if(!arguments.length)return this.attr("class","");if((t=ut(e)).length)while(n=this[s++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=t[a++])while(r.indexOf(" "+o+" ")>-1)r=r.replace(" "+o+" "," ");i!==(u=ot(r))&&n.setAttribute("class",u)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):g(e)?this.each(function(n){w(this).toggleClass(e.call(this,n,at(this),t),t)}):this.each(function(){var t,i,o,a;if(r){i=0,o=w(this),a=ut(e);while(t=a[i++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else void 0!==e&&"boolean"!==n||((t=at(this))&&K.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":K.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&(" "+ot(at(n))+" ").indexOf(t)>-1)return!0;return!1}});var st=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=g(e),this.each(function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,function(e){return null==e?"":e+""})),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(st,""):null==n?"":n}}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ot(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,u=a?null:[],s=a?o+1:i.length;for(r=o<0?s:a?o:0;r<s;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!D(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;u.push(t)}return u},set:function(e,t){var n,r,i=e.options,o=w.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},h.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),h.focusin="onfocusin"in e;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,i,o){var a,u,s,l,c,d,p,h,y=[i||r],m=f.call(t,"type")?t.type:t,b=f.call(t,"namespace")?t.namespace.split("."):[];if(u=h=s=i=i||r,3!==i.nodeType&&8!==i.nodeType&&!lt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(m=(b=m.split(".")).shift(),b.sort()),c=m.indexOf(":")<0&&"on"+m,t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t),t.isTrigger=o?2:3,t.namespace=b.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=i),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},o||!p.trigger||!1!==p.trigger.apply(i,n))){if(!o&&!p.noBubble&&!v(i)){for(l=p.delegateType||m,lt.test(l+m)||(u=u.parentNode);u;u=u.parentNode)y.push(u),s=u;s===(i.ownerDocument||r)&&y.push(s.defaultView||s.parentWindow||e)}a=0;while((u=y[a++])&&!t.isPropagationStopped())h=u,t.type=a>1?l:p.bindType||m,(d=(K.get(u,"events")||{})[t.type]&&K.get(u,"handle"))&&d.apply(u,n),(d=c&&u[c])&&d.apply&&Y(u)&&(t.result=d.apply(u,n),!1===t.result&&t.preventDefault());return t.type=m,o||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!Y(i)||c&&g(i[m])&&!v(i)&&((s=i[c])&&(i[c]=null),w.event.triggered=m,t.isPropagationStopped()&&h.addEventListener(m,ct),i[m](),t.isPropagationStopped()&&h.removeEventListener(m,ct),w.event.triggered=void 0,s&&(i[c]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each(function(){w.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),h.focusin||w.each({focus:"focusin",blur:"focusout"},function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this,i=K.access(r,t);i||r.addEventListener(e,n,!0),K.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this,i=K.access(r,t)-1;i?K.access(r,t,i):(r.removeEventListener(e,n,!0),K.remove(r,t))}}});var ft=/\[\]$/,dt=/\r?\n/g,pt=/^(?:submit|button|image|reset|file)$/i,ht=/^(?:input|select|textarea|keygen)/i;function gt(e,t,n,r){var i;if(Array.isArray(t))w.each(t,function(t,i){n||ft.test(e)?r(e,i):gt(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)});else if(n||"object"!==b(t))r(e,t);else for(i in t)gt(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=g(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(Array.isArray(e)||e.jquery&&!w.isPlainObject(e))w.each(e,function(){i(this.name,this.value)});else for(n in e)gt(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&ht.test(this.nodeName)&&!pt.test(e)&&(this.checked||!de.test(e))}).map(function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,function(e){return{name:t.name,value:e.replace(dt,"\r\n")}}):{name:t.name,value:n.replace(dt,"\r\n")}}).get()}}),w.fn.extend({wrapAll:function(e){var t;return this[0]&&(g(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(e){return g(e)?this.each(function(t){w(this).wrapInner(e.call(this,t))}):this.each(function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=g(e);return this.each(function(n){w(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(e){return this.parent(e).not("body").each(function(){w(this).replaceWith(this.childNodes)}),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},h.createHTMLDocument=function(){var e=r.implementation.createHTMLDocument("").body;return e.innerHTML="<form></form><form></form>",2===e.childNodes.length}(),w.parseHTML=function(e,t,n){if("string"!=typeof e)return[];"boolean"==typeof t&&(n=t,t=!1);var i,o,a;return t||(h.createHTMLDocument?((i=(t=r.implementation.createHTMLDocument("")).createElement("base")).href=r.location.href,t.head.appendChild(i)):t=r),o=S.exec(e),a=!n&&[],o?[t.createElement(o[1])]:(o=be([e],t,a),a&&a.length&&w(a).remove(),w.merge([],o.childNodes))},w.offset={setOffset:function(e,t,n){var r,i,o,a,u,s,l,c=w.css(e,"position"),f=w(e),d={};"static"===c&&(e.style.position="relative"),u=f.offset(),o=w.css(e,"top"),s=w.css(e,"left"),(l=("absolute"===c||"fixed"===c)&&(o+s).indexOf("auto")>-1)?(a=(r=f.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(s)||0),g(t)&&(t=t.call(e,n,w.extend({},u))),null!=t.top&&(d.top=t.top-u.top+a),null!=t.left&&(d.left=t.left-u.left+i),"using"in t?t.using.call(e,d):f.css(d)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){w.offset.setOffset(this,e,t)});var t,n,r=this[0];if(r)return r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===w.css(e,"position"))e=e.offsetParent;return e||xe})}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return _(this,function(e,r,i){var o;if(v(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i},e,r,arguments.length)}}),w.each(["top","left"],function(e,t){w.cssHooks[t]=ze(h.pixelPosition,function(e,n){if(n)return n=Fe(e,t),Me.test(n)?w(e).position()[t]+"px":n})}),w.each({Height:"height",Width:"width"},function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),u=n||(!0===i||!0===o?"margin":"border");return _(this,function(t,n,i){var o;return v(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,u):w.style(t,n,i,u)},t,a?i:void 0,a)}})}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),w.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),w.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),g(e))return r=o.call(arguments,2),i=function(){return e.apply(t||this,r.concat(o.call(arguments)))},i.guid=e.guid=e.guid||w.guid++,i},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=D,w.isFunction=g,w.isWindow=v,w.camelCase=Q,w.type=b,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},"function"==typeof define&&define.amd&&define("jquery",[],function(){return w});var vt=e.jQuery,yt=e.$;return w.noConflict=function(t){return e.$===w&&(e.$=yt),t&&e.jQuery===w&&(e.jQuery=vt),w},t||(e.jQuery=e.$=w),w});
diff --git a/public/bower_components/jquery/dist/jquery.slim.min.map b/public/bower_components/jquery/dist/jquery.slim.min.map
new file mode 100644
index 0000000..a529d88
--- /dev/null
+++ b/public/bower_components/jquery/dist/jquery.slim.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","concat","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","call","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","noModule","DOMEval","code","doc","node","i","script","createElement","text","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","rtrim","prototype","jquery","constructor","length","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","apply","arguments","first","eq","last","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","isArrayLike","trim","makeArray","results","inArray","second","grep","invert","callbackInverse","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","pop","push_native","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","getAttribute","setAttribute","toSelector","join","testContext","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","val","specified","escape","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","targets","l","closest","index","prevAll","add","addBack","sibling","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","createOptions","object","flag","Callbacks","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","readyWait","wait","completed","removeEventListener","readyState","doScroll","access","chainable","emptyGet","raw","bulk","rmsPrefix","rdashAlpha","fcamelCase","all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","getData","JSON","parse","dataAttr","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isHiddenWithinTree","style","display","css","swap","old","adjustCSS","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","cssNumber","initialInUnit","defaultDisplayMap","getDefaultDisplay","body","showHide","show","values","hide","toggle","rcheckableType","rtagName","rscriptType","wrapMap","option","thead","col","tr","td","_default","optgroup","tbody","tfoot","colgroup","caption","th","getAll","setGlobalEval","refElements","rhtml","buildFragment","scripts","selection","ignored","wrap","fragment","createDocumentFragment","nodes","htmlPrefilter","createTextNode","div","checkClone","cloneNode","noCloneChecked","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","safeActiveElement","err","on","types","one","origFn","event","off","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","delegateType","bindType","namespace","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","fix","handlerQueue","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","preventDefault","stopPropagation","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","Event","enumerable","originalEvent","writable","load","noBubble","trigger","blur","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","stopImmediatePropagation","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rxhtmlTag","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","pdataOld","pdataCur","udataOld","udataCur","fixInput","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","rboxStyle","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","width","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","backgroundClip","clearCloneStyle","boxSizingReliable","pixelBoxStyles","pixelPosition","reliableMarginLeft","scrollboxSize","curCSS","computed","minWidth","maxWidth","getPropertyValue","addGetHookIf","conditionFn","hookFn","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","cssPrefixes","emptyStyle","vendorPropName","capName","finalPropName","cssProps","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","cssHooks","opacity","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","setProperty","isFinite","getClientRects","getBoundingClientRect","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","opt","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","removeProp","propFix","propHooks","tabindex","parseInt","for","class","stripAndCollapse","getClass","classesToArray","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","isTrigger","parentWindow","simulate","triggerHandler","attaches","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","hidden","visible","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","calculatePosition","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","hover","fnOver","fnOut","bind","unbind","delegate","undelegate","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"}
\ No newline at end of file
diff --git a/public/bower_components/jquery/external/sizzle/LICENSE.txt b/public/bower_components/jquery/external/sizzle/LICENSE.txt
new file mode 100644
index 0000000..dd7ce94
--- /dev/null
+++ b/public/bower_components/jquery/external/sizzle/LICENSE.txt
@@ -0,0 +1,36 @@
+Copyright jQuery Foundation and other contributors, https://jquery.org/
+
+This software consists of voluntary contributions made by many
+individuals. For exact contribution history, see the revision history
+available at https://github.com/jquery/sizzle
+
+The following license applies to all parts of this software except as
+documented below:
+
+====
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+====
+
+All files located in the node_modules and external directories are
+externally maintained libraries used by this software which have their
+own licenses; we recommend you read them, as their terms may differ from
+the terms above.
diff --git a/public/bower_components/jquery/external/sizzle/dist/sizzle.js b/public/bower_components/jquery/external/sizzle/dist/sizzle.js
new file mode 100644
index 0000000..bfa0793
--- /dev/null
+++ b/public/bower_components/jquery/external/sizzle/dist/sizzle.js
@@ -0,0 +1,2272 @@
+/*!
+ * Sizzle CSS Selector Engine v2.3.3
+ * https://sizzlejs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2016-08-08
+ */
+(function( window ) {
+
+var i,
+	support,
+	Expr,
+	getText,
+	isXML,
+	tokenize,
+	compile,
+	select,
+	outermostContext,
+	sortInput,
+	hasDuplicate,
+
+	// Local document vars
+	setDocument,
+	document,
+	docElem,
+	documentIsHTML,
+	rbuggyQSA,
+	rbuggyMatches,
+	matches,
+	contains,
+
+	// Instance-specific data
+	expando = "sizzle" + 1 * new Date(),
+	preferredDoc = window.document,
+	dirruns = 0,
+	done = 0,
+	classCache = createCache(),
+	tokenCache = createCache(),
+	compilerCache = createCache(),
+	sortOrder = function( a, b ) {
+		if ( a === b ) {
+			hasDuplicate = true;
+		}
+		return 0;
+	},
+
+	// Instance methods
+	hasOwn = ({}).hasOwnProperty,
+	arr = [],
+	pop = arr.pop,
+	push_native = arr.push,
+	push = arr.push,
+	slice = arr.slice,
+	// Use a stripped-down indexOf as it's faster than native
+	// https://jsperf.com/thor-indexof-vs-for/5
+	indexOf = function( list, elem ) {
+		var i = 0,
+			len = list.length;
+		for ( ; i < len; i++ ) {
+			if ( list[i] === elem ) {
+				return i;
+			}
+		}
+		return -1;
+	},
+
+	booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+	// Regular expressions
+
+	// http://www.w3.org/TR/css3-selectors/#whitespace
+	whitespace = "[\\x20\\t\\r\\n\\f]",
+
+	// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier
+	identifier = "(?:\\\\.|[\\w-]|[^\0-\\xa0])+",
+
+	// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
+	attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
+		// Operator (capture 2)
+		"*([*^$|!~]?=)" + whitespace +
+		// "Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]"
+		"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace +
+		"*\\]",
+
+	pseudos = ":(" + identifier + ")(?:\\((" +
+		// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
+		// 1. quoted (capture 3; capture 4 or capture 5)
+		"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
+		// 2. simple (capture 6)
+		"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
+		// 3. anything else (capture 2)
+		".*" +
+		")\\)|)",
+
+	// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
+	rwhitespace = new RegExp( whitespace + "+", "g" ),
+	rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ),
+
+	rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
+	rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+	rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g" ),
+
+	rpseudo = new RegExp( pseudos ),
+	ridentifier = new RegExp( "^" + identifier + "$" ),
+
+	matchExpr = {
+		"ID": new RegExp( "^#(" + identifier + ")" ),
+		"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
+		"TAG": new RegExp( "^(" + identifier + "|[*])" ),
+		"ATTR": new RegExp( "^" + attributes ),
+		"PSEUDO": new RegExp( "^" + pseudos ),
+		"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+			"*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+			"*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+		"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+		// For use in libraries implementing .is()
+		// We use this for POS matching in `select`
+		"needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+			whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+	},
+
+	rinputs = /^(?:input|select|textarea|button)$/i,
+	rheader = /^h\d$/i,
+
+	rnative = /^[^{]+\{\s*\[native \w/,
+
+	// Easily-parseable/retrievable ID or TAG or CLASS selectors
+	rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+	rsibling = /[+~]/,
+
+	// CSS escapes
+	// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+	runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+	funescape = function( _, escaped, escapedWhitespace ) {
+		var high = "0x" + escaped - 0x10000;
+		// NaN means non-codepoint
+		// Support: Firefox<24
+		// Workaround erroneous numeric interpretation of +"0x"
+		return high !== high || escapedWhitespace ?
+			escaped :
+			high < 0 ?
+				// BMP codepoint
+				String.fromCharCode( high + 0x10000 ) :
+				// Supplemental Plane codepoint (surrogate pair)
+				String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+	},
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	},
+
+	// Used for iframes
+	// See setDocument()
+	// Removing the function wrapper causes a "Permission Denied"
+	// error in IE
+	unloadHandler = function() {
+		setDocument();
+	},
+
+	disabledAncestor = addCombinator(
+		function( elem ) {
+			return elem.disabled === true && ("form" in elem || "label" in elem);
+		},
+		{ dir: "parentNode", next: "legend" }
+	);
+
+// Optimize for push.apply( _, NodeList )
+try {
+	push.apply(
+		(arr = slice.call( preferredDoc.childNodes )),
+		preferredDoc.childNodes
+	);
+	// Support: Android<4.0
+	// Detect silently failing push.apply
+	arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+	push = { apply: arr.length ?
+
+		// Leverage slice if possible
+		function( target, els ) {
+			push_native.apply( target, slice.call(els) );
+		} :
+
+		// Support: IE<9
+		// Otherwise append directly
+		function( target, els ) {
+			var j = target.length,
+				i = 0;
+			// Can't trust NodeList.length
+			while ( (target[j++] = els[i++]) ) {}
+			target.length = j - 1;
+		}
+	};
+}
+
+function Sizzle( selector, context, results, seed ) {
+	var m, i, elem, nid, match, groups, newSelector,
+		newContext = context && context.ownerDocument,
+
+		// nodeType defaults to 9, since context defaults to document
+		nodeType = context ? context.nodeType : 9;
+
+	results = results || [];
+
+	// Return early from calls with invalid selector or context
+	if ( typeof selector !== "string" || !selector ||
+		nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
+
+		return results;
+	}
+
+	// Try to shortcut find operations (as opposed to filters) in HTML documents
+	if ( !seed ) {
+
+		if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+			setDocument( context );
+		}
+		context = context || document;
+
+		if ( documentIsHTML ) {
+
+			// If the selector is sufficiently simple, try using a "get*By*" DOM method
+			// (excepting DocumentFragment context, where the methods don't exist)
+			if ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {
+
+				// ID selector
+				if ( (m = match[1]) ) {
+
+					// Document context
+					if ( nodeType === 9 ) {
+						if ( (elem = context.getElementById( m )) ) {
+
+							// Support: IE, Opera, Webkit
+							// TODO: identify versions
+							// getElementById can match elements by name instead of ID
+							if ( elem.id === m ) {
+								results.push( elem );
+								return results;
+							}
+						} else {
+							return results;
+						}
+
+					// Element context
+					} else {
+
+						// Support: IE, Opera, Webkit
+						// TODO: identify versions
+						// getElementById can match elements by name instead of ID
+						if ( newContext && (elem = newContext.getElementById( m )) &&
+							contains( context, elem ) &&
+							elem.id === m ) {
+
+							results.push( elem );
+							return results;
+						}
+					}
+
+				// Type selector
+				} else if ( match[2] ) {
+					push.apply( results, context.getElementsByTagName( selector ) );
+					return results;
+
+				// Class selector
+				} else if ( (m = match[3]) && support.getElementsByClassName &&
+					context.getElementsByClassName ) {
+
+					push.apply( results, context.getElementsByClassName( m ) );
+					return results;
+				}
+			}
+
+			// Take advantage of querySelectorAll
+			if ( support.qsa &&
+				!compilerCache[ selector + " " ] &&
+				(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+
+				if ( nodeType !== 1 ) {
+					newContext = context;
+					newSelector = selector;
+
+				// qSA looks outside Element context, which is not what we want
+				// Thanks to Andrew Dupont for this workaround technique
+				// Support: IE <=8
+				// Exclude object elements
+				} else if ( context.nodeName.toLowerCase() !== "object" ) {
+
+					// Capture the context ID, setting it first if necessary
+					if ( (nid = context.getAttribute( "id" )) ) {
+						nid = nid.replace( rcssescape, fcssescape );
+					} else {
+						context.setAttribute( "id", (nid = expando) );
+					}
+
+					// Prefix every selector in the list
+					groups = tokenize( selector );
+					i = groups.length;
+					while ( i-- ) {
+						groups[i] = "#" + nid + " " + toSelector( groups[i] );
+					}
+					newSelector = groups.join( "," );
+
+					// Expand context for sibling selectors
+					newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
+						context;
+				}
+
+				if ( newSelector ) {
+					try {
+						push.apply( results,
+							newContext.querySelectorAll( newSelector )
+						);
+						return results;
+					} catch ( qsaError ) {
+					} finally {
+						if ( nid === expando ) {
+							context.removeAttribute( "id" );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	// All others
+	return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {function(string, object)} Returns the Object data after storing it on itself with
+ *	property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ *	deleting the oldest entry
+ */
+function createCache() {
+	var keys = [];
+
+	function cache( key, value ) {
+		// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+		if ( keys.push( key + " " ) > Expr.cacheLength ) {
+			// Only keep the most recent entries
+			delete cache[ keys.shift() ];
+		}
+		return (cache[ key + " " ] = value);
+	}
+	return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+	fn[ expando ] = true;
+	return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created element and returns a boolean result
+ */
+function assert( fn ) {
+	var el = document.createElement("fieldset");
+
+	try {
+		return !!fn( el );
+	} catch (e) {
+		return false;
+	} finally {
+		// Remove from its parent by default
+		if ( el.parentNode ) {
+			el.parentNode.removeChild( el );
+		}
+		// release memory in IE
+		el = null;
+	}
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+	var arr = attrs.split("|"),
+		i = arr.length;
+
+	while ( i-- ) {
+		Expr.attrHandle[ arr[i] ] = handler;
+	}
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+	var cur = b && a,
+		diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+			a.sourceIndex - b.sourceIndex;
+
+	// Use IE sourceIndex if available on both nodes
+	if ( diff ) {
+		return diff;
+	}
+
+	// Check if b follows a
+	if ( cur ) {
+		while ( (cur = cur.nextSibling) ) {
+			if ( cur === b ) {
+				return -1;
+			}
+		}
+	}
+
+	return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+function createInputPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return name === "input" && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for buttons
+ * @param {String} type
+ */
+function createButtonPseudo( type ) {
+	return function( elem ) {
+		var name = elem.nodeName.toLowerCase();
+		return (name === "input" || name === "button") && elem.type === type;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for :enabled/:disabled
+ * @param {Boolean} disabled true for :disabled; false for :enabled
+ */
+function createDisabledPseudo( disabled ) {
+
+	// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
+	return function( elem ) {
+
+		// Only certain elements can match :enabled or :disabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
+		// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
+		if ( "form" in elem ) {
+
+			// Check for inherited disabledness on relevant non-disabled elements:
+			// * listed form-associated elements in a disabled fieldset
+			//   https://html.spec.whatwg.org/multipage/forms.html#category-listed
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
+			// * option elements in a disabled optgroup
+			//   https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
+			// All such elements have a "form" property.
+			if ( elem.parentNode && elem.disabled === false ) {
+
+				// Option elements defer to a parent optgroup if present
+				if ( "label" in elem ) {
+					if ( "label" in elem.parentNode ) {
+						return elem.parentNode.disabled === disabled;
+					} else {
+						return elem.disabled === disabled;
+					}
+				}
+
+				// Support: IE 6 - 11
+				// Use the isDisabled shortcut property to check for disabled fieldset ancestors
+				return elem.isDisabled === disabled ||
+
+					// Where there is no isDisabled, check manually
+					/* jshint -W018 */
+					elem.isDisabled !== !disabled &&
+						disabledAncestor( elem ) === disabled;
+			}
+
+			return elem.disabled === disabled;
+
+		// Try to winnow out elements that can't be disabled before trusting the disabled property.
+		// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
+		// even exist on them, let alone have a boolean value.
+		} else if ( "label" in elem ) {
+			return elem.disabled === disabled;
+		}
+
+		// Remaining elements are neither :enabled nor :disabled
+		return false;
+	};
+}
+
+/**
+ * Returns a function to use in pseudos for positionals
+ * @param {Function} fn
+ */
+function createPositionalPseudo( fn ) {
+	return markFunction(function( argument ) {
+		argument = +argument;
+		return markFunction(function( seed, matches ) {
+			var j,
+				matchIndexes = fn( [], seed.length, argument ),
+				i = matchIndexes.length;
+
+			// Match elements found at the specified indexes
+			while ( i-- ) {
+				if ( seed[ (j = matchIndexes[i]) ] ) {
+					seed[j] = !(matches[j] = seed[j]);
+				}
+			}
+		});
+	});
+}
+
+/**
+ * Checks a node for validity as a Sizzle context
+ * @param {Element|Object=} context
+ * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
+ */
+function testContext( context ) {
+	return context && typeof context.getElementsByTagName !== "undefined" && context;
+}
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Detects XML nodes
+ * @param {Element|Object} elem An element or a document
+ * @returns {Boolean} True iff elem is a non-HTML XML node
+ */
+isXML = Sizzle.isXML = function( elem ) {
+	// documentElement is verified for cases where it doesn't yet exist
+	// (such as loading iframes in IE - #4833)
+	var documentElement = elem && (elem.ownerDocument || elem).documentElement;
+	return documentElement ? documentElement.nodeName !== "HTML" : false;
+};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+	var hasCompare, subWindow,
+		doc = node ? node.ownerDocument || node : preferredDoc;
+
+	// Return early if doc is invalid or already selected
+	if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+		return document;
+	}
+
+	// Update global variables
+	document = doc;
+	docElem = document.documentElement;
+	documentIsHTML = !isXML( document );
+
+	// Support: IE 9-11, Edge
+	// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
+	if ( preferredDoc !== document &&
+		(subWindow = document.defaultView) && subWindow.top !== subWindow ) {
+
+		// Support: IE 11, Edge
+		if ( subWindow.addEventListener ) {
+			subWindow.addEventListener( "unload", unloadHandler, false );
+
+		// Support: IE 9 - 10 only
+		} else if ( subWindow.attachEvent ) {
+			subWindow.attachEvent( "onunload", unloadHandler );
+		}
+	}
+
+	/* Attributes
+	---------------------------------------------------------------------- */
+
+	// Support: IE<8
+	// Verify that getAttribute really returns attributes and not properties
+	// (excepting IE8 booleans)
+	support.attributes = assert(function( el ) {
+		el.className = "i";
+		return !el.getAttribute("className");
+	});
+
+	/* getElement(s)By*
+	---------------------------------------------------------------------- */
+
+	// Check if getElementsByTagName("*") returns only elements
+	support.getElementsByTagName = assert(function( el ) {
+		el.appendChild( document.createComment("") );
+		return !el.getElementsByTagName("*").length;
+	});
+
+	// Support: IE<9
+	support.getElementsByClassName = rnative.test( document.getElementsByClassName );
+
+	// Support: IE<10
+	// Check if getElementById returns elements by name
+	// The broken getElementById methods don't pick up programmatically-set names,
+	// so use a roundabout getElementsByName test
+	support.getById = assert(function( el ) {
+		docElem.appendChild( el ).id = expando;
+		return !document.getElementsByName || !document.getElementsByName( expando ).length;
+	});
+
+	// ID filter and find
+	if ( support.getById ) {
+		Expr.filter["ID"] = function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				return elem.getAttribute("id") === attrId;
+			};
+		};
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var elem = context.getElementById( id );
+				return elem ? [ elem ] : [];
+			}
+		};
+	} else {
+		Expr.filter["ID"] =  function( id ) {
+			var attrId = id.replace( runescape, funescape );
+			return function( elem ) {
+				var node = typeof elem.getAttributeNode !== "undefined" &&
+					elem.getAttributeNode("id");
+				return node && node.value === attrId;
+			};
+		};
+
+		// Support: IE 6 - 7 only
+		// getElementById is not reliable as a find shortcut
+		Expr.find["ID"] = function( id, context ) {
+			if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
+				var node, i, elems,
+					elem = context.getElementById( id );
+
+				if ( elem ) {
+
+					// Verify the id attribute
+					node = elem.getAttributeNode("id");
+					if ( node && node.value === id ) {
+						return [ elem ];
+					}
+
+					// Fall back on getElementsByName
+					elems = context.getElementsByName( id );
+					i = 0;
+					while ( (elem = elems[i++]) ) {
+						node = elem.getAttributeNode("id");
+						if ( node && node.value === id ) {
+							return [ elem ];
+						}
+					}
+				}
+
+				return [];
+			}
+		};
+	}
+
+	// Tag
+	Expr.find["TAG"] = support.getElementsByTagName ?
+		function( tag, context ) {
+			if ( typeof context.getElementsByTagName !== "undefined" ) {
+				return context.getElementsByTagName( tag );
+
+			// DocumentFragment nodes don't have gEBTN
+			} else if ( support.qsa ) {
+				return context.querySelectorAll( tag );
+			}
+		} :
+
+		function( tag, context ) {
+			var elem,
+				tmp = [],
+				i = 0,
+				// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
+				results = context.getElementsByTagName( tag );
+
+			// Filter out possible comments
+			if ( tag === "*" ) {
+				while ( (elem = results[i++]) ) {
+					if ( elem.nodeType === 1 ) {
+						tmp.push( elem );
+					}
+				}
+
+				return tmp;
+			}
+			return results;
+		};
+
+	// Class
+	Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+		if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
+			return context.getElementsByClassName( className );
+		}
+	};
+
+	/* QSA/matchesSelector
+	---------------------------------------------------------------------- */
+
+	// QSA and matchesSelector support
+
+	// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+	rbuggyMatches = [];
+
+	// qSa(:focus) reports false when true (Chrome 21)
+	// We allow this because of a bug in IE8/9 that throws an error
+	// whenever `document.activeElement` is accessed on an iframe
+	// So, we allow :focus to pass through QSA all the time to avoid the IE error
+	// See https://bugs.jquery.com/ticket/13378
+	rbuggyQSA = [];
+
+	if ( (support.qsa = rnative.test( document.querySelectorAll )) ) {
+		// Build QSA regex
+		// Regex strategy adopted from Diego Perini
+		assert(function( el ) {
+			// Select is set to empty string on purpose
+			// This is to test IE's treatment of not explicitly
+			// setting a boolean content attribute,
+			// since its presence should be enough
+			// https://bugs.jquery.com/ticket/12359
+			docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
+				"<select id='" + expando + "-\r\\' msallowcapture=''>" +
+				"<option selected=''></option></select>";
+
+			// Support: IE8, Opera 11-12.16
+			// Nothing should be selected when empty strings follow ^= or $= or *=
+			// The test attribute must be unknown in Opera but "safe" for WinRT
+			// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
+			if ( el.querySelectorAll("[msallowcapture^='']").length ) {
+				rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+			}
+
+			// Support: IE8
+			// Boolean attributes and "value" are not treated correctly
+			if ( !el.querySelectorAll("[selected]").length ) {
+				rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+			}
+
+			// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
+			if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
+				rbuggyQSA.push("~=");
+			}
+
+			// Webkit/Opera - :checked should return selected option elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			// IE8 throws error here and will not see later tests
+			if ( !el.querySelectorAll(":checked").length ) {
+				rbuggyQSA.push(":checked");
+			}
+
+			// Support: Safari 8+, iOS 8+
+			// https://bugs.webkit.org/show_bug.cgi?id=136851
+			// In-page `selector#id sibling-combinator selector` fails
+			if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
+				rbuggyQSA.push(".#.+[+~]");
+			}
+		});
+
+		assert(function( el ) {
+			el.innerHTML = "<a href='' disabled='disabled'></a>" +
+				"<select disabled='disabled'><option/></select>";
+
+			// Support: Windows 8 Native Apps
+			// The type and name attributes are restricted during .innerHTML assignment
+			var input = document.createElement("input");
+			input.setAttribute( "type", "hidden" );
+			el.appendChild( input ).setAttribute( "name", "D" );
+
+			// Support: IE8
+			// Enforce case-sensitivity of name attribute
+			if ( el.querySelectorAll("[name=d]").length ) {
+				rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
+			}
+
+			// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+			// IE8 throws error here and will not see later tests
+			if ( el.querySelectorAll(":enabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Support: IE9-11+
+			// IE's :disabled selector does not pick up the children of disabled fieldsets
+			docElem.appendChild( el ).disabled = true;
+			if ( el.querySelectorAll(":disabled").length !== 2 ) {
+				rbuggyQSA.push( ":enabled", ":disabled" );
+			}
+
+			// Opera 10-11 does not throw on post-comma invalid pseudos
+			el.querySelectorAll("*,:x");
+			rbuggyQSA.push(",.*:");
+		});
+	}
+
+	if ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||
+		docElem.webkitMatchesSelector ||
+		docElem.mozMatchesSelector ||
+		docElem.oMatchesSelector ||
+		docElem.msMatchesSelector) )) ) {
+
+		assert(function( el ) {
+			// Check to see if it's possible to do matchesSelector
+			// on a disconnected node (IE 9)
+			support.disconnectedMatch = matches.call( el, "*" );
+
+			// This should fail with an exception
+			// Gecko does not error, returns false instead
+			matches.call( el, "[s!='']:x" );
+			rbuggyMatches.push( "!=", pseudos );
+		});
+	}
+
+	rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+	rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+	/* Contains
+	---------------------------------------------------------------------- */
+	hasCompare = rnative.test( docElem.compareDocumentPosition );
+
+	// Element contains another
+	// Purposefully self-exclusive
+	// As in, an element does not contain itself
+	contains = hasCompare || rnative.test( docElem.contains ) ?
+		function( a, b ) {
+			var adown = a.nodeType === 9 ? a.documentElement : a,
+				bup = b && b.parentNode;
+			return a === bup || !!( bup && bup.nodeType === 1 && (
+				adown.contains ?
+					adown.contains( bup ) :
+					a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+			));
+		} :
+		function( a, b ) {
+			if ( b ) {
+				while ( (b = b.parentNode) ) {
+					if ( b === a ) {
+						return true;
+					}
+				}
+			}
+			return false;
+		};
+
+	/* Sorting
+	---------------------------------------------------------------------- */
+
+	// Document order sorting
+	sortOrder = hasCompare ?
+	function( a, b ) {
+
+		// Flag for duplicate removal
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		// Sort on method existence if only one input has compareDocumentPosition
+		var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+		if ( compare ) {
+			return compare;
+		}
+
+		// Calculate position if both inputs belong to the same document
+		compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+			a.compareDocumentPosition( b ) :
+
+			// Otherwise we know they are disconnected
+			1;
+
+		// Disconnected nodes
+		if ( compare & 1 ||
+			(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+			// Choose the first element that is related to our preferred document
+			if ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {
+				return -1;
+			}
+			if ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {
+				return 1;
+			}
+
+			// Maintain original order
+			return sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+		}
+
+		return compare & 4 ? -1 : 1;
+	} :
+	function( a, b ) {
+		// Exit early if the nodes are identical
+		if ( a === b ) {
+			hasDuplicate = true;
+			return 0;
+		}
+
+		var cur,
+			i = 0,
+			aup = a.parentNode,
+			bup = b.parentNode,
+			ap = [ a ],
+			bp = [ b ];
+
+		// Parentless nodes are either documents or disconnected
+		if ( !aup || !bup ) {
+			return a === document ? -1 :
+				b === document ? 1 :
+				aup ? -1 :
+				bup ? 1 :
+				sortInput ?
+				( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
+				0;
+
+		// If the nodes are siblings, we can do a quick check
+		} else if ( aup === bup ) {
+			return siblingCheck( a, b );
+		}
+
+		// Otherwise we need full lists of their ancestors for comparison
+		cur = a;
+		while ( (cur = cur.parentNode) ) {
+			ap.unshift( cur );
+		}
+		cur = b;
+		while ( (cur = cur.parentNode) ) {
+			bp.unshift( cur );
+		}
+
+		// Walk down the tree looking for a discrepancy
+		while ( ap[i] === bp[i] ) {
+			i++;
+		}
+
+		return i ?
+			// Do a sibling check if the nodes have a common ancestor
+			siblingCheck( ap[i], bp[i] ) :
+
+			// Otherwise nodes in our document sort first
+			ap[i] === preferredDoc ? -1 :
+			bp[i] === preferredDoc ? 1 :
+			0;
+	};
+
+	return document;
+};
+
+Sizzle.matches = function( expr, elements ) {
+	return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	// Make sure that attribute selectors are quoted
+	expr = expr.replace( rattributeQuotes, "='$1']" );
+
+	if ( support.matchesSelector && documentIsHTML &&
+		!compilerCache[ expr + " " ] &&
+		( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
+		( !rbuggyQSA     || !rbuggyQSA.test( expr ) ) ) {
+
+		try {
+			var ret = matches.call( elem, expr );
+
+			// IE 9's matchesSelector returns false on disconnected nodes
+			if ( ret || support.disconnectedMatch ||
+					// As well, disconnected nodes are said to be in a document
+					// fragment in IE 9
+					elem.document && elem.document.nodeType !== 11 ) {
+				return ret;
+			}
+		} catch (e) {}
+	}
+
+	return Sizzle( expr, document, null, [ elem ] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+	// Set document vars if needed
+	if ( ( context.ownerDocument || context ) !== document ) {
+		setDocument( context );
+	}
+	return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+	// Set document vars if needed
+	if ( ( elem.ownerDocument || elem ) !== document ) {
+		setDocument( elem );
+	}
+
+	var fn = Expr.attrHandle[ name.toLowerCase() ],
+		// Don't get fooled by Object.prototype properties (jQuery #13807)
+		val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+			fn( elem, name, !documentIsHTML ) :
+			undefined;
+
+	return val !== undefined ?
+		val :
+		support.attributes || !documentIsHTML ?
+			elem.getAttribute( name ) :
+			(val = elem.getAttributeNode(name)) && val.specified ?
+				val.value :
+				null;
+};
+
+Sizzle.escape = function( sel ) {
+	return (sel + "").replace( rcssescape, fcssescape );
+};
+
+Sizzle.error = function( msg ) {
+	throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	// Unless we *know* we can detect duplicates, assume their presence
+	hasDuplicate = !support.detectDuplicates;
+	sortInput = !support.sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( (elem = results[i++]) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+};
+
+/**
+ * Utility function for retrieving the text value of an array of DOM nodes
+ * @param {Array|Element} elem
+ */
+getText = Sizzle.getText = function( elem ) {
+	var node,
+		ret = "",
+		i = 0,
+		nodeType = elem.nodeType;
+
+	if ( !nodeType ) {
+		// If no nodeType, this is expected to be an array
+		while ( (node = elem[i++]) ) {
+			// Do not traverse comment nodes
+			ret += getText( node );
+		}
+	} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+		// Use textContent for elements
+		// innerText usage removed for consistency of new lines (jQuery #11153)
+		if ( typeof elem.textContent === "string" ) {
+			return elem.textContent;
+		} else {
+			// Traverse its children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				ret += getText( elem );
+			}
+		}
+	} else if ( nodeType === 3 || nodeType === 4 ) {
+		return elem.nodeValue;
+	}
+	// Do not include comment or processing instruction nodes
+
+	return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+	// Can be adjusted by the user
+	cacheLength: 50,
+
+	createPseudo: markFunction,
+
+	match: matchExpr,
+
+	attrHandle: {},
+
+	find: {},
+
+	relative: {
+		">": { dir: "parentNode", first: true },
+		" ": { dir: "parentNode" },
+		"+": { dir: "previousSibling", first: true },
+		"~": { dir: "previousSibling" }
+	},
+
+	preFilter: {
+		"ATTR": function( match ) {
+			match[1] = match[1].replace( runescape, funescape );
+
+			// Move the given value to match[3] whether quoted or unquoted
+			match[3] = ( match[3] || match[4] || match[5] || "" ).replace( runescape, funescape );
+
+			if ( match[2] === "~=" ) {
+				match[3] = " " + match[3] + " ";
+			}
+
+			return match.slice( 0, 4 );
+		},
+
+		"CHILD": function( match ) {
+			/* matches from matchExpr["CHILD"]
+				1 type (only|nth|...)
+				2 what (child|of-type)
+				3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+				4 xn-component of xn+y argument ([+-]?\d*n|)
+				5 sign of xn-component
+				6 x of xn-component
+				7 sign of y-component
+				8 y of y-component
+			*/
+			match[1] = match[1].toLowerCase();
+
+			if ( match[1].slice( 0, 3 ) === "nth" ) {
+				// nth-* requires argument
+				if ( !match[3] ) {
+					Sizzle.error( match[0] );
+				}
+
+				// numeric x and y parameters for Expr.filter.CHILD
+				// remember that false/true cast respectively to 0/1
+				match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+				match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+			// other types prohibit arguments
+			} else if ( match[3] ) {
+				Sizzle.error( match[0] );
+			}
+
+			return match;
+		},
+
+		"PSEUDO": function( match ) {
+			var excess,
+				unquoted = !match[6] && match[2];
+
+			if ( matchExpr["CHILD"].test( match[0] ) ) {
+				return null;
+			}
+
+			// Accept quoted arguments as-is
+			if ( match[3] ) {
+				match[2] = match[4] || match[5] || "";
+
+			// Strip excess characters from unquoted arguments
+			} else if ( unquoted && rpseudo.test( unquoted ) &&
+				// Get excess from tokenize (recursively)
+				(excess = tokenize( unquoted, true )) &&
+				// advance to the next closing parenthesis
+				(excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) {
+
+				// excess is a negative index
+				match[0] = match[0].slice( 0, excess );
+				match[2] = unquoted.slice( 0, excess );
+			}
+
+			// Return only captures needed by the pseudo filter method (type and argument)
+			return match.slice( 0, 3 );
+		}
+	},
+
+	filter: {
+
+		"TAG": function( nodeNameSelector ) {
+			var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+			return nodeNameSelector === "*" ?
+				function() { return true; } :
+				function( elem ) {
+					return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+				};
+		},
+
+		"CLASS": function( className ) {
+			var pattern = classCache[ className + " " ];
+
+			return pattern ||
+				(pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+				classCache( className, function( elem ) {
+					return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== "undefined" && elem.getAttribute("class") || "" );
+				});
+		},
+
+		"ATTR": function( name, operator, check ) {
+			return function( elem ) {
+				var result = Sizzle.attr( elem, name );
+
+				if ( result == null ) {
+					return operator === "!=";
+				}
+				if ( !operator ) {
+					return true;
+				}
+
+				result += "";
+
+				return operator === "=" ? result === check :
+					operator === "!=" ? result !== check :
+					operator === "^=" ? check && result.indexOf( check ) === 0 :
+					operator === "*=" ? check && result.indexOf( check ) > -1 :
+					operator === "$=" ? check && result.slice( -check.length ) === check :
+					operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
+					operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+					false;
+			};
+		},
+
+		"CHILD": function( type, what, argument, first, last ) {
+			var simple = type.slice( 0, 3 ) !== "nth",
+				forward = type.slice( -4 ) !== "last",
+				ofType = what === "of-type";
+
+			return first === 1 && last === 0 ?
+
+				// Shortcut for :nth-*(n)
+				function( elem ) {
+					return !!elem.parentNode;
+				} :
+
+				function( elem, context, xml ) {
+					var cache, uniqueCache, outerCache, node, nodeIndex, start,
+						dir = simple !== forward ? "nextSibling" : "previousSibling",
+						parent = elem.parentNode,
+						name = ofType && elem.nodeName.toLowerCase(),
+						useCache = !xml && !ofType,
+						diff = false;
+
+					if ( parent ) {
+
+						// :(first|last|only)-(child|of-type)
+						if ( simple ) {
+							while ( dir ) {
+								node = elem;
+								while ( (node = node[ dir ]) ) {
+									if ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) {
+
+										return false;
+									}
+								}
+								// Reverse direction for :only-* (if we haven't yet done so)
+								start = dir = type === "only" && !start && "nextSibling";
+							}
+							return true;
+						}
+
+						start = [ forward ? parent.firstChild : parent.lastChild ];
+
+						// non-xml :nth-child(...) stores cache data on `parent`
+						if ( forward && useCache ) {
+
+							// Seek `elem` from a previously-cached index
+
+							// ...in a gzip-friendly way
+							node = parent;
+							outerCache = node[ expando ] || (node[ expando ] = {});
+
+							// Support: IE <9 only
+							// Defend against cloned attroperties (jQuery gh-1709)
+							uniqueCache = outerCache[ node.uniqueID ] ||
+								(outerCache[ node.uniqueID ] = {});
+
+							cache = uniqueCache[ type ] || [];
+							nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+							diff = nodeIndex && cache[ 2 ];
+							node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+							while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+								// Fallback to seeking `elem` from the start
+								(diff = nodeIndex = 0) || start.pop()) ) {
+
+								// When found, cache indexes on `parent` and break
+								if ( node.nodeType === 1 && ++diff && node === elem ) {
+									uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
+									break;
+								}
+							}
+
+						} else {
+							// Use previously-cached element index if available
+							if ( useCache ) {
+								// ...in a gzip-friendly way
+								node = elem;
+								outerCache = node[ expando ] || (node[ expando ] = {});
+
+								// Support: IE <9 only
+								// Defend against cloned attroperties (jQuery gh-1709)
+								uniqueCache = outerCache[ node.uniqueID ] ||
+									(outerCache[ node.uniqueID ] = {});
+
+								cache = uniqueCache[ type ] || [];
+								nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
+								diff = nodeIndex;
+							}
+
+							// xml :nth-child(...)
+							// or :nth-last-child(...) or :nth(-last)?-of-type(...)
+							if ( diff === false ) {
+								// Use the same loop as above to seek `elem` from the start
+								while ( (node = ++nodeIndex && node && node[ dir ] ||
+									(diff = nodeIndex = 0) || start.pop()) ) {
+
+									if ( ( ofType ?
+										node.nodeName.toLowerCase() === name :
+										node.nodeType === 1 ) &&
+										++diff ) {
+
+										// Cache the index of each encountered element
+										if ( useCache ) {
+											outerCache = node[ expando ] || (node[ expando ] = {});
+
+											// Support: IE <9 only
+											// Defend against cloned attroperties (jQuery gh-1709)
+											uniqueCache = outerCache[ node.uniqueID ] ||
+												(outerCache[ node.uniqueID ] = {});
+
+											uniqueCache[ type ] = [ dirruns, diff ];
+										}
+
+										if ( node === elem ) {
+											break;
+										}
+									}
+								}
+							}
+						}
+
+						// Incorporate the offset, then check against cycle size
+						diff -= last;
+						return diff === first || ( diff % first === 0 && diff / first >= 0 );
+					}
+				};
+		},
+
+		"PSEUDO": function( pseudo, argument ) {
+			// pseudo-class names are case-insensitive
+			// http://www.w3.org/TR/selectors/#pseudo-classes
+			// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
+			// Remember that setFilters inherits from pseudos
+			var args,
+				fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
+					Sizzle.error( "unsupported pseudo: " + pseudo );
+
+			// The user may use createPseudo to indicate that
+			// arguments are needed to create the filter function
+			// just as Sizzle does
+			if ( fn[ expando ] ) {
+				return fn( argument );
+			}
+
+			// But maintain support for old signatures
+			if ( fn.length > 1 ) {
+				args = [ pseudo, pseudo, "", argument ];
+				return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
+					markFunction(function( seed, matches ) {
+						var idx,
+							matched = fn( seed, argument ),
+							i = matched.length;
+						while ( i-- ) {
+							idx = indexOf( seed, matched[i] );
+							seed[ idx ] = !( matches[ idx ] = matched[i] );
+						}
+					}) :
+					function( elem ) {
+						return fn( elem, 0, args );
+					};
+			}
+
+			return fn;
+		}
+	},
+
+	pseudos: {
+		// Potentially complex pseudos
+		"not": markFunction(function( selector ) {
+			// Trim the selector passed to compile
+			// to avoid treating leading and trailing
+			// spaces as combinators
+			var input = [],
+				results = [],
+				matcher = compile( selector.replace( rtrim, "$1" ) );
+
+			return matcher[ expando ] ?
+				markFunction(function( seed, matches, context, xml ) {
+					var elem,
+						unmatched = matcher( seed, null, xml, [] ),
+						i = seed.length;
+
+					// Match elements unmatched by `matcher`
+					while ( i-- ) {
+						if ( (elem = unmatched[i]) ) {
+							seed[i] = !(matches[i] = elem);
+						}
+					}
+				}) :
+				function( elem, context, xml ) {
+					input[0] = elem;
+					matcher( input, null, xml, results );
+					// Don't keep the element (issue #299)
+					input[0] = null;
+					return !results.pop();
+				};
+		}),
+
+		"has": markFunction(function( selector ) {
+			return function( elem ) {
+				return Sizzle( selector, elem ).length > 0;
+			};
+		}),
+
+		"contains": markFunction(function( text ) {
+			text = text.replace( runescape, funescape );
+			return function( elem ) {
+				return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;
+			};
+		}),
+
+		// "Whether an element is represented by a :lang() selector
+		// is based solely on the element's language value
+		// being equal to the identifier C,
+		// or beginning with the identifier C immediately followed by "-".
+		// The matching of C against the element's language value is performed case-insensitively.
+		// The identifier C does not have to be a valid language name."
+		// http://www.w3.org/TR/selectors/#lang-pseudo
+		"lang": markFunction( function( lang ) {
+			// lang value must be a valid identifier
+			if ( !ridentifier.test(lang || "") ) {
+				Sizzle.error( "unsupported lang: " + lang );
+			}
+			lang = lang.replace( runescape, funescape ).toLowerCase();
+			return function( elem ) {
+				var elemLang;
+				do {
+					if ( (elemLang = documentIsHTML ?
+						elem.lang :
+						elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+						elemLang = elemLang.toLowerCase();
+						return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+					}
+				} while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+				return false;
+			};
+		}),
+
+		// Miscellaneous
+		"target": function( elem ) {
+			var hash = window.location && window.location.hash;
+			return hash && hash.slice( 1 ) === elem.id;
+		},
+
+		"root": function( elem ) {
+			return elem === docElem;
+		},
+
+		"focus": function( elem ) {
+			return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+		},
+
+		// Boolean properties
+		"enabled": createDisabledPseudo( false ),
+		"disabled": createDisabledPseudo( true ),
+
+		"checked": function( elem ) {
+			// In CSS3, :checked should return both checked and selected elements
+			// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+			var nodeName = elem.nodeName.toLowerCase();
+			return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected);
+		},
+
+		"selected": function( elem ) {
+			// Accessing this property makes selected-by-default
+			// options in Safari work properly
+			if ( elem.parentNode ) {
+				elem.parentNode.selectedIndex;
+			}
+
+			return elem.selected === true;
+		},
+
+		// Contents
+		"empty": function( elem ) {
+			// http://www.w3.org/TR/selectors/#empty-pseudo
+			// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
+			//   but not by others (comment: 8; processing instruction: 7; etc.)
+			// nodeType < 6 works because attributes (2) do not appear as children
+			for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+				if ( elem.nodeType < 6 ) {
+					return false;
+				}
+			}
+			return true;
+		},
+
+		"parent": function( elem ) {
+			return !Expr.pseudos["empty"]( elem );
+		},
+
+		// Element/input types
+		"header": function( elem ) {
+			return rheader.test( elem.nodeName );
+		},
+
+		"input": function( elem ) {
+			return rinputs.test( elem.nodeName );
+		},
+
+		"button": function( elem ) {
+			var name = elem.nodeName.toLowerCase();
+			return name === "input" && elem.type === "button" || name === "button";
+		},
+
+		"text": function( elem ) {
+			var attr;
+			return elem.nodeName.toLowerCase() === "input" &&
+				elem.type === "text" &&
+
+				// Support: IE<8
+				// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
+				( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === "text" );
+		},
+
+		// Position-in-collection
+		"first": createPositionalPseudo(function() {
+			return [ 0 ];
+		}),
+
+		"last": createPositionalPseudo(function( matchIndexes, length ) {
+			return [ length - 1 ];
+		}),
+
+		"eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			return [ argument < 0 ? argument + length : argument ];
+		}),
+
+		"even": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 0;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"odd": createPositionalPseudo(function( matchIndexes, length ) {
+			var i = 1;
+			for ( ; i < length; i += 2 ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; --i >= 0; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		}),
+
+		"gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+			var i = argument < 0 ? argument + length : argument;
+			for ( ; ++i < length; ) {
+				matchIndexes.push( i );
+			}
+			return matchIndexes;
+		})
+	}
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+	Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+	Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
+	var matched, match, tokens, type,
+		soFar, groups, preFilters,
+		cached = tokenCache[ selector + " " ];
+
+	if ( cached ) {
+		return parseOnly ? 0 : cached.slice( 0 );
+	}
+
+	soFar = selector;
+	groups = [];
+	preFilters = Expr.preFilter;
+
+	while ( soFar ) {
+
+		// Comma and first run
+		if ( !matched || (match = rcomma.exec( soFar )) ) {
+			if ( match ) {
+				// Don't consume trailing commas as valid
+				soFar = soFar.slice( match[0].length ) || soFar;
+			}
+			groups.push( (tokens = []) );
+		}
+
+		matched = false;
+
+		// Combinators
+		if ( (match = rcombinators.exec( soFar )) ) {
+			matched = match.shift();
+			tokens.push({
+				value: matched,
+				// Cast descendant combinators to space
+				type: match[0].replace( rtrim, " " )
+			});
+			soFar = soFar.slice( matched.length );
+		}
+
+		// Filters
+		for ( type in Expr.filter ) {
+			if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+				(match = preFilters[ type ]( match ))) ) {
+				matched = match.shift();
+				tokens.push({
+					value: matched,
+					type: type,
+					matches: match
+				});
+				soFar = soFar.slice( matched.length );
+			}
+		}
+
+		if ( !matched ) {
+			break;
+		}
+	}
+
+	// Return the length of the invalid excess
+	// if we're just parsing
+	// Otherwise, throw an error or return tokens
+	return parseOnly ?
+		soFar.length :
+		soFar ?
+			Sizzle.error( selector ) :
+			// Cache the tokens
+			tokenCache( selector, groups ).slice( 0 );
+};
+
+function toSelector( tokens ) {
+	var i = 0,
+		len = tokens.length,
+		selector = "";
+	for ( ; i < len; i++ ) {
+		selector += tokens[i].value;
+	}
+	return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+	var dir = combinator.dir,
+		skip = combinator.next,
+		key = skip || dir,
+		checkNonElements = base && key === "parentNode",
+		doneName = done++;
+
+	return combinator.first ?
+		// Check against closest ancestor/preceding element
+		function( elem, context, xml ) {
+			while ( (elem = elem[ dir ]) ) {
+				if ( elem.nodeType === 1 || checkNonElements ) {
+					return matcher( elem, context, xml );
+				}
+			}
+			return false;
+		} :
+
+		// Check against all ancestor/preceding elements
+		function( elem, context, xml ) {
+			var oldCache, uniqueCache, outerCache,
+				newCache = [ dirruns, doneName ];
+
+			// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
+			if ( xml ) {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						if ( matcher( elem, context, xml ) ) {
+							return true;
+						}
+					}
+				}
+			} else {
+				while ( (elem = elem[ dir ]) ) {
+					if ( elem.nodeType === 1 || checkNonElements ) {
+						outerCache = elem[ expando ] || (elem[ expando ] = {});
+
+						// Support: IE <9 only
+						// Defend against cloned attroperties (jQuery gh-1709)
+						uniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});
+
+						if ( skip && skip === elem.nodeName.toLowerCase() ) {
+							elem = elem[ dir ] || elem;
+						} else if ( (oldCache = uniqueCache[ key ]) &&
+							oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
+
+							// Assign to newCache so results back-propagate to previous elements
+							return (newCache[ 2 ] = oldCache[ 2 ]);
+						} else {
+							// Reuse newcache so results back-propagate to previous elements
+							uniqueCache[ key ] = newCache;
+
+							// A match means we're done; a fail means we have to keep checking
+							if ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {
+								return true;
+							}
+						}
+					}
+				}
+			}
+			return false;
+		};
+}
+
+function elementMatcher( matchers ) {
+	return matchers.length > 1 ?
+		function( elem, context, xml ) {
+			var i = matchers.length;
+			while ( i-- ) {
+				if ( !matchers[i]( elem, context, xml ) ) {
+					return false;
+				}
+			}
+			return true;
+		} :
+		matchers[0];
+}
+
+function multipleContexts( selector, contexts, results ) {
+	var i = 0,
+		len = contexts.length;
+	for ( ; i < len; i++ ) {
+		Sizzle( selector, contexts[i], results );
+	}
+	return results;
+}
+
+function condense( unmatched, map, filter, context, xml ) {
+	var elem,
+		newUnmatched = [],
+		i = 0,
+		len = unmatched.length,
+		mapped = map != null;
+
+	for ( ; i < len; i++ ) {
+		if ( (elem = unmatched[i]) ) {
+			if ( !filter || filter( elem, context, xml ) ) {
+				newUnmatched.push( elem );
+				if ( mapped ) {
+					map.push( i );
+				}
+			}
+		}
+	}
+
+	return newUnmatched;
+}
+
+function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
+	if ( postFilter && !postFilter[ expando ] ) {
+		postFilter = setMatcher( postFilter );
+	}
+	if ( postFinder && !postFinder[ expando ] ) {
+		postFinder = setMatcher( postFinder, postSelector );
+	}
+	return markFunction(function( seed, results, context, xml ) {
+		var temp, i, elem,
+			preMap = [],
+			postMap = [],
+			preexisting = results.length,
+
+			// Get initial elements from seed or context
+			elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+			// Prefilter to get matcher input, preserving a map for seed-results synchronization
+			matcherIn = preFilter && ( seed || !selector ) ?
+				condense( elems, preMap, preFilter, context, xml ) :
+				elems,
+
+			matcherOut = matcher ?
+				// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
+				postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
+
+					// ...intermediate processing is necessary
+					[] :
+
+					// ...otherwise use results directly
+					results :
+				matcherIn;
+
+		// Find primary matches
+		if ( matcher ) {
+			matcher( matcherIn, matcherOut, context, xml );
+		}
+
+		// Apply postFilter
+		if ( postFilter ) {
+			temp = condense( matcherOut, postMap );
+			postFilter( temp, [], context, xml );
+
+			// Un-match failing elements by moving them back to matcherIn
+			i = temp.length;
+			while ( i-- ) {
+				if ( (elem = temp[i]) ) {
+					matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+				}
+			}
+		}
+
+		if ( seed ) {
+			if ( postFinder || preFilter ) {
+				if ( postFinder ) {
+					// Get the final matcherOut by condensing this intermediate into postFinder contexts
+					temp = [];
+					i = matcherOut.length;
+					while ( i-- ) {
+						if ( (elem = matcherOut[i]) ) {
+							// Restore matcherIn since elem is not yet a final match
+							temp.push( (matcherIn[i] = elem) );
+						}
+					}
+					postFinder( null, (matcherOut = []), temp, xml );
+				}
+
+				// Move matched elements from seed to results to keep them synchronized
+				i = matcherOut.length;
+				while ( i-- ) {
+					if ( (elem = matcherOut[i]) &&
+						(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {
+
+						seed[temp] = !(results[temp] = elem);
+					}
+				}
+			}
+
+		// Add elements to results, through postFinder if defined
+		} else {
+			matcherOut = condense(
+				matcherOut === results ?
+					matcherOut.splice( preexisting, matcherOut.length ) :
+					matcherOut
+			);
+			if ( postFinder ) {
+				postFinder( null, results, matcherOut, xml );
+			} else {
+				push.apply( results, matcherOut );
+			}
+		}
+	});
+}
+
+function matcherFromTokens( tokens ) {
+	var checkContext, matcher, j,
+		len = tokens.length,
+		leadingRelative = Expr.relative[ tokens[0].type ],
+		implicitRelative = leadingRelative || Expr.relative[" "],
+		i = leadingRelative ? 1 : 0,
+
+		// The foundational matcher ensures that elements are reachable from top-level context(s)
+		matchContext = addCombinator( function( elem ) {
+			return elem === checkContext;
+		}, implicitRelative, true ),
+		matchAnyContext = addCombinator( function( elem ) {
+			return indexOf( checkContext, elem ) > -1;
+		}, implicitRelative, true ),
+		matchers = [ function( elem, context, xml ) {
+			var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
+				(checkContext = context).nodeType ?
+					matchContext( elem, context, xml ) :
+					matchAnyContext( elem, context, xml ) );
+			// Avoid hanging onto element (issue #299)
+			checkContext = null;
+			return ret;
+		} ];
+
+	for ( ; i < len; i++ ) {
+		if ( (matcher = Expr.relative[ tokens[i].type ]) ) {
+			matchers = [ addCombinator(elementMatcher( matchers ), matcher) ];
+		} else {
+			matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );
+
+			// Return special upon seeing a positional matcher
+			if ( matcher[ expando ] ) {
+				// Find the next relative operator (if any) for proper handling
+				j = ++i;
+				for ( ; j < len; j++ ) {
+					if ( Expr.relative[ tokens[j].type ] ) {
+						break;
+					}
+				}
+				return setMatcher(
+					i > 1 && elementMatcher( matchers ),
+					i > 1 && toSelector(
+						// If the preceding token was a descendant combinator, insert an implicit any-element `*`
+						tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+					).replace( rtrim, "$1" ),
+					matcher,
+					i < j && matcherFromTokens( tokens.slice( i, j ) ),
+					j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+					j < len && toSelector( tokens )
+				);
+			}
+			matchers.push( matcher );
+		}
+	}
+
+	return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+	var bySet = setMatchers.length > 0,
+		byElement = elementMatchers.length > 0,
+		superMatcher = function( seed, context, xml, results, outermost ) {
+			var elem, j, matcher,
+				matchedCount = 0,
+				i = "0",
+				unmatched = seed && [],
+				setMatched = [],
+				contextBackup = outermostContext,
+				// We must always have either seed elements or outermost context
+				elems = seed || byElement && Expr.find["TAG"]( "*", outermost ),
+				// Use integer dirruns iff this is the outermost matcher
+				dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),
+				len = elems.length;
+
+			if ( outermost ) {
+				outermostContext = context === document || context || outermost;
+			}
+
+			// Add elements passing elementMatchers directly to results
+			// Support: IE<9, Safari
+			// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
+			for ( ; i !== len && (elem = elems[i]) != null; i++ ) {
+				if ( byElement && elem ) {
+					j = 0;
+					if ( !context && elem.ownerDocument !== document ) {
+						setDocument( elem );
+						xml = !documentIsHTML;
+					}
+					while ( (matcher = elementMatchers[j++]) ) {
+						if ( matcher( elem, context || document, xml) ) {
+							results.push( elem );
+							break;
+						}
+					}
+					if ( outermost ) {
+						dirruns = dirrunsUnique;
+					}
+				}
+
+				// Track unmatched elements for set filters
+				if ( bySet ) {
+					// They will have gone through all possible matchers
+					if ( (elem = !matcher && elem) ) {
+						matchedCount--;
+					}
+
+					// Lengthen the array for every element, matched or not
+					if ( seed ) {
+						unmatched.push( elem );
+					}
+				}
+			}
+
+			// `i` is now the count of elements visited above, and adding it to `matchedCount`
+			// makes the latter nonnegative.
+			matchedCount += i;
+
+			// Apply set filters to unmatched elements
+			// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
+			// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
+			// no element matchers and no seed.
+			// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
+			// case, which will result in a "00" `matchedCount` that differs from `i` but is also
+			// numerically zero.
+			if ( bySet && i !== matchedCount ) {
+				j = 0;
+				while ( (matcher = setMatchers[j++]) ) {
+					matcher( unmatched, setMatched, context, xml );
+				}
+
+				if ( seed ) {
+					// Reintegrate element matches to eliminate the need for sorting
+					if ( matchedCount > 0 ) {
+						while ( i-- ) {
+							if ( !(unmatched[i] || setMatched[i]) ) {
+								setMatched[i] = pop.call( results );
+							}
+						}
+					}
+
+					// Discard index placeholder values to get only actual matches
+					setMatched = condense( setMatched );
+				}
+
+				// Add matches to results
+				push.apply( results, setMatched );
+
+				// Seedless set matches succeeding multiple successful matchers stipulate sorting
+				if ( outermost && !seed && setMatched.length > 0 &&
+					( matchedCount + setMatchers.length ) > 1 ) {
+
+					Sizzle.uniqueSort( results );
+				}
+			}
+
+			// Override manipulation of globals by nested matchers
+			if ( outermost ) {
+				dirruns = dirrunsUnique;
+				outermostContext = contextBackup;
+			}
+
+			return unmatched;
+		};
+
+	return bySet ?
+		markFunction( superMatcher ) :
+		superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
+	var i,
+		setMatchers = [],
+		elementMatchers = [],
+		cached = compilerCache[ selector + " " ];
+
+	if ( !cached ) {
+		// Generate a function of recursive functions that can be used to check each element
+		if ( !match ) {
+			match = tokenize( selector );
+		}
+		i = match.length;
+		while ( i-- ) {
+			cached = matcherFromTokens( match[i] );
+			if ( cached[ expando ] ) {
+				setMatchers.push( cached );
+			} else {
+				elementMatchers.push( cached );
+			}
+		}
+
+		// Cache the compiled function
+		cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );
+
+		// Save selector and tokenization
+		cached.selector = selector;
+	}
+	return cached;
+};
+
+/**
+ * A low-level selection function that works with Sizzle's compiled
+ *  selector functions
+ * @param {String|Function} selector A selector or a pre-compiled
+ *  selector function built with Sizzle.compile
+ * @param {Element} context
+ * @param {Array} [results]
+ * @param {Array} [seed] A set of elements to match against
+ */
+select = Sizzle.select = function( selector, context, results, seed ) {
+	var i, tokens, token, type, find,
+		compiled = typeof selector === "function" && selector,
+		match = !seed && tokenize( (selector = compiled.selector || selector) );
+
+	results = results || [];
+
+	// Try to minimize operations if there is only one selector in the list and no seed
+	// (the latter of which guarantees us context)
+	if ( match.length === 1 ) {
+
+		// Reduce context if the leading compound selector is an ID
+		tokens = match[0] = match[0].slice( 0 );
+		if ( tokens.length > 2 && (token = tokens[0]).type === "ID" &&
+				context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {
+
+			context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+			if ( !context ) {
+				return results;
+
+			// Precompiled matchers will still verify ancestry, so step up a level
+			} else if ( compiled ) {
+				context = context.parentNode;
+			}
+
+			selector = selector.slice( tokens.shift().value.length );
+		}
+
+		// Fetch a seed set for right-to-left matching
+		i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+		while ( i-- ) {
+			token = tokens[i];
+
+			// Abort if we hit a combinator
+			if ( Expr.relative[ (type = token.type) ] ) {
+				break;
+			}
+			if ( (find = Expr.find[ type ]) ) {
+				// Search, expanding context for leading sibling combinators
+				if ( (seed = find(
+					token.matches[0].replace( runescape, funescape ),
+					rsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context
+				)) ) {
+
+					// If seed is empty or no tokens remain, we can return early
+					tokens.splice( i, 1 );
+					selector = seed.length && toSelector( tokens );
+					if ( !selector ) {
+						push.apply( results, seed );
+						return results;
+					}
+
+					break;
+				}
+			}
+		}
+	}
+
+	// Compile and execute a filtering function if one is not provided
+	// Provide `match` to avoid retokenization if we modified the selector above
+	( compiled || compile( selector, match ) )(
+		seed,
+		context,
+		!documentIsHTML,
+		results,
+		!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
+	);
+	return results;
+};
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome 14-35+
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = !!hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( el ) {
+	// Should return 1, but returns 4 (following)
+	return el.compareDocumentPosition( document.createElement("fieldset") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( el ) {
+	el.innerHTML = "<a href='#'></a>";
+	return el.firstChild.getAttribute("href") === "#" ;
+}) ) {
+	addHandle( "type|href|height|width", function( elem, name, isXML ) {
+		if ( !isXML ) {
+			return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+		}
+	});
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( el ) {
+	el.innerHTML = "<input/>";
+	el.firstChild.setAttribute( "value", "" );
+	return el.firstChild.getAttribute( "value" ) === "";
+}) ) {
+	addHandle( "value", function( elem, name, isXML ) {
+		if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+			return elem.defaultValue;
+		}
+	});
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( el ) {
+	return el.getAttribute("disabled") == null;
+}) ) {
+	addHandle( booleans, function( elem, name, isXML ) {
+		var val;
+		if ( !isXML ) {
+			return elem[ name ] === true ? name.toLowerCase() :
+					(val = elem.getAttributeNode( name )) && val.specified ?
+					val.value :
+				null;
+		}
+	});
+}
+
+// EXPOSE
+var _sizzle = window.Sizzle;
+
+Sizzle.noConflict = function() {
+	if ( window.Sizzle === Sizzle ) {
+		window.Sizzle = _sizzle;
+	}
+
+	return Sizzle;
+};
+
+if ( typeof define === "function" && define.amd ) {
+	define(function() { return Sizzle; });
+// Sizzle requires that there be a global window in Common-JS like environments
+} else if ( typeof module !== "undefined" && module.exports ) {
+	module.exports = Sizzle;
+} else {
+	window.Sizzle = Sizzle;
+}
+// EXPOSE
+
+})( window );
diff --git a/public/bower_components/jquery/external/sizzle/dist/sizzle.min.js b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.js
new file mode 100644
index 0000000..be03278
--- /dev/null
+++ b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.js
@@ -0,0 +1,3 @@
+/*! Sizzle v2.3.3 | (c) jQuery Foundation, Inc. | jquery.org/license */
+!function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\0-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c<b;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;c<b;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=c<0?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=ma(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=na(b);function ra(){}ra.prototype=d.filters=d.pseudos,d.setFilters=new ra,g=ga.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=Q.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=R.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(P," ")}),h=h.slice(c.length));for(g in d.filter)!(e=V[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?ga.error(a):z(a,i).slice(0)};function sa(a){for(var b=0,c=a.length,d="";b<c;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e);return!1}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}return!1}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d<e;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;h<i;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i<f;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;e<f;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i<e&&ya(a.slice(i,e)),e<f&&ya(a=a.slice(e)),e<f&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null});var Aa=a.Sizzle;ga.noConflict=function(){return a.Sizzle===ga&&(a.Sizzle=Aa),ga},"function"==typeof define&&define.amd?define(function(){return ga}):"undefined"!=typeof module&&module.exports?module.exports=ga:a.Sizzle=ga}(window);
+//# sourceMappingURL=sizzle.min.map
\ No newline at end of file
diff --git a/public/bower_components/jquery/external/sizzle/dist/sizzle.min.map b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.map
new file mode 100644
index 0000000..031c1b7
--- /dev/null
+++ b/public/bower_components/jquery/external/sizzle/dist/sizzle.min.map
@@ -0,0 +1 @@
+{"version":3,"sources":["sizzle.js"],"names":["window","i","support","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","document","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","matches","contains","expando","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","sortOrder","a","b","hasOwn","hasOwnProperty","arr","pop","push_native","push","slice","indexOf","list","elem","len","length","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rattributeQuotes","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","_","escaped","escapedWhitespace","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","toString","unloadHandler","disabledAncestor","addCombinator","disabled","dir","next","apply","call","childNodes","nodeType","e","target","els","j","Sizzle","selector","context","results","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","nodeName","toLowerCase","getAttribute","replace","setAttribute","toSelector","join","testContext","parentNode","querySelectorAll","qsaError","removeAttribute","keys","cache","key","value","cacheLength","shift","markFunction","fn","assert","el","createElement","removeChild","addHandle","attrs","handler","split","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","type","name","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","documentElement","node","hasCompare","subWindow","doc","defaultView","top","addEventListener","attachEvent","className","appendChild","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","elems","tag","tmp","innerHTML","input","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","ret","attr","val","undefined","specified","escape","sel","error","msg","Error","uniqueSort","duplicates","detectDuplicates","sortStable","sort","splice","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">","first"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","last","simple","forward","ofType","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","text","innerText","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","eq","even","odd","lt","gt","radio","checkbox","file","password","image","submit","reset","prototype","filters","parseOnly","tokens","soFar","preFilters","cached","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","multipleContexts","contexts","condense","map","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","concat","matcherFromGroupMatchers","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","Math","random","token","compiled","defaultValue","_sizzle","noConflict","define","amd","module","exports"],"mappings":";CAUA,SAAWA,GAEX,GAAIC,GACHC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAGAC,EAAU,SAAW,EAAI,GAAIC,MAC7BC,EAAetB,EAAOa,SACtBU,EAAU,EACVC,EAAO,EACPC,EAAaC,KACbC,EAAaD,KACbE,EAAgBF,KAChBG,EAAY,SAAUC,EAAGC,GAIxB,MAHKD,KAAMC,IACVpB,GAAe,GAET,GAIRqB,KAAcC,eACdC,KACAC,EAAMD,EAAIC,IACVC,EAAcF,EAAIG,KAClBA,EAAOH,EAAIG,KACXC,EAAQJ,EAAII,MAGZC,EAAU,SAAUC,EAAMC,GAGzB,IAFA,GAAIxC,GAAI,EACPyC,EAAMF,EAAKG,OACJ1C,EAAIyC,EAAKzC,IAChB,GAAKuC,EAAKvC,KAAOwC,EAChB,MAAOxC,EAGT,WAGD2C,EAAW,6HAKXC,EAAa,sBAGbC,EAAa,gCAGbC,EAAa,MAAQF,EAAa,KAAOC,EAAa,OAASD,EAE9D,gBAAkBA,EAElB,2DAA6DC,EAAa,OAASD,EACnF,OAEDG,EAAU,KAAOF,EAAa,wFAKAC,EAAa,eAM3CE,EAAc,GAAIC,QAAQL,EAAa,IAAK,KAC5CM,EAAQ,GAAID,QAAQ,IAAML,EAAa,8BAAgCA,EAAa,KAAM,KAE1FO,EAAS,GAAIF,QAAQ,IAAML,EAAa,KAAOA,EAAa,KAC5DQ,EAAe,GAAIH,QAAQ,IAAML,EAAa,WAAaA,EAAa,IAAMA,EAAa,KAE3FS,EAAmB,GAAIJ,QAAQ,IAAML,EAAa,iBAAmBA,EAAa,OAAQ,KAE1FU,EAAU,GAAIL,QAAQF,GACtBQ,EAAc,GAAIN,QAAQ,IAAMJ,EAAa,KAE7CW,GACCC,GAAM,GAAIR,QAAQ,MAAQJ,EAAa,KACvCa,MAAS,GAAIT,QAAQ,QAAUJ,EAAa,KAC5Cc,IAAO,GAAIV,QAAQ,KAAOJ,EAAa,SACvCe,KAAQ,GAAIX,QAAQ,IAAMH,GAC1Be,OAAU,GAAIZ,QAAQ,IAAMF,GAC5Be,MAAS,GAAIb,QAAQ,yDAA2DL,EAC/E,+BAAiCA,EAAa,cAAgBA,EAC9D,aAAeA,EAAa,SAAU,KACvCmB,KAAQ,GAAId,QAAQ,OAASN,EAAW,KAAM,KAG9CqB,aAAgB,GAAIf,QAAQ,IAAML,EAAa,mDAC9CA,EAAa,mBAAqBA,EAAa,mBAAoB,MAGrEqB,EAAU,sCACVC,EAAU,SAEVC,EAAU,yBAGVC,EAAa,mCAEbC,EAAW,OAIXC,EAAY,GAAIrB,QAAQ,qBAAuBL,EAAa,MAAQA,EAAa,OAAQ,MACzF2B,GAAY,SAAUC,EAAGC,EAASC,GACjC,GAAIC,GAAO,KAAOF,EAAU,KAI5B,OAAOE,KAASA,GAAQD,EACvBD,EACAE,EAAO,EAENC,OAAOC,aAAcF,EAAO,OAE5BC,OAAOC,aAAcF,GAAQ,GAAK,MAAe,KAAPA,EAAe,QAK5DG,GAAa,sDACbC,GAAa,SAAUC,EAAIC,GAC1B,MAAKA,GAGQ,OAAPD,EACG,SAIDA,EAAG3C,MAAO,MAAU,KAAO2C,EAAGE,WAAYF,EAAGtC,OAAS,GAAIyC,SAAU,IAAO,IAI5E,KAAOH,GAOfI,GAAgB,WACfzE,KAGD0E,GAAmBC,GAClB,SAAU9C,GACT,MAAOA,GAAK+C,YAAa,IAAS,QAAU/C,IAAQ,SAAWA,MAE9DgD,IAAK,aAAcC,KAAM,UAI7B,KACCrD,EAAKsD,MACHzD,EAAMI,EAAMsD,KAAMtE,EAAauE,YAChCvE,EAAauE,YAId3D,EAAKZ,EAAauE,WAAWlD,QAASmD,SACrC,MAAQC,IACT1D,GAASsD,MAAOzD,EAAIS,OAGnB,SAAUqD,EAAQC,GACjB7D,EAAYuD,MAAOK,EAAQ1D,EAAMsD,KAAKK,KAKvC,SAAUD,EAAQC,GACjB,GAAIC,GAAIF,EAAOrD,OACd1C,EAAI,CAEL,OAAS+F,EAAOE,KAAOD,EAAIhG,MAC3B+F,EAAOrD,OAASuD,EAAI,IAKvB,QAASC,IAAQC,EAAUC,EAASC,EAASC,GAC5C,GAAIC,GAAGvG,EAAGwC,EAAMgE,EAAKC,EAAOC,EAAQC,EACnCC,EAAaR,GAAWA,EAAQS,cAGhChB,EAAWO,EAAUA,EAAQP,SAAW,CAKzC,IAHAQ,EAAUA,MAGe,gBAAbF,KAA0BA,GACxB,IAAbN,GAA+B,IAAbA,GAA+B,KAAbA,EAEpC,MAAOQ,EAIR,KAAMC,KAEEF,EAAUA,EAAQS,eAAiBT,EAAU/E,KAAmBT,GACtED,EAAayF,GAEdA,EAAUA,GAAWxF,EAEhBE,GAAiB,CAIrB,GAAkB,KAAb+E,IAAoBY,EAAQrC,EAAW0C,KAAMX,IAGjD,GAAMI,EAAIE,EAAM,IAGf,GAAkB,IAAbZ,EAAiB,CACrB,KAAMrD,EAAO4D,EAAQW,eAAgBR,IAUpC,MAAOF,EALP,IAAK7D,EAAKwE,KAAOT,EAEhB,MADAF,GAAQjE,KAAMI,GACP6D,MAYT,IAAKO,IAAepE,EAAOoE,EAAWG,eAAgBR,KACrDrF,EAAUkF,EAAS5D,IACnBA,EAAKwE,KAAOT,EAGZ,MADAF,GAAQjE,KAAMI,GACP6D,MAKH,CAAA,GAAKI,EAAM,GAEjB,MADArE,GAAKsD,MAAOW,EAASD,EAAQa,qBAAsBd,IAC5CE,CAGD,KAAME,EAAIE,EAAM,KAAOxG,EAAQiH,wBACrCd,EAAQc,uBAGR,MADA9E,GAAKsD,MAAOW,EAASD,EAAQc,uBAAwBX,IAC9CF,EAKT,GAAKpG,EAAQkH,MACXxF,EAAewE,EAAW,QACzBpF,IAAcA,EAAUqG,KAAMjB,IAAc,CAE9C,GAAkB,IAAbN,EACJe,EAAaR,EACbO,EAAcR,MAMR,IAAwC,WAAnCC,EAAQiB,SAASC,cAA6B,EAGnDd,EAAMJ,EAAQmB,aAAc,OACjCf,EAAMA,EAAIgB,QAAS1C,GAAYC,IAE/BqB,EAAQqB,aAAc,KAAOjB,EAAMrF,GAIpCuF,EAASrG,EAAU8F,GACnBnG,EAAI0G,EAAOhE,MACX,OAAQ1C,IACP0G,EAAO1G,GAAK,IAAMwG,EAAM,IAAMkB,GAAYhB,EAAO1G,GAElD2G,GAAcD,EAAOiB,KAAM,KAG3Bf,EAAavC,EAAS+C,KAAMjB,IAAcyB,GAAaxB,EAAQyB,aAC9DzB,EAGF,GAAKO,EACJ,IAIC,MAHAvE,GAAKsD,MAAOW,EACXO,EAAWkB,iBAAkBnB,IAEvBN,EACN,MAAQ0B,IACR,QACIvB,IAAQrF,GACZiF,EAAQ4B,gBAAiB,QAS/B,MAAOzH,GAAQ4F,EAASqB,QAAStE,EAAO,MAAQkD,EAASC,EAASC,GASnE,QAAS7E,MACR,GAAIwG,KAEJ,SAASC,GAAOC,EAAKC,GAMpB,MAJKH,GAAK7F,KAAM+F,EAAM,KAAQjI,EAAKmI,mBAE3BH,GAAOD,EAAKK,SAEZJ,EAAOC,EAAM,KAAQC,EAE9B,MAAOF,GAOR,QAASK,IAAcC,GAEtB,MADAA,GAAIrH,IAAY,EACTqH,EAOR,QAASC,IAAQD,GAChB,GAAIE,GAAK9H,EAAS+H,cAAc,WAEhC,KACC,QAASH,EAAIE,GACZ,MAAO5C,GACR,OAAO,EACN,QAEI4C,EAAGb,YACPa,EAAGb,WAAWe,YAAaF,GAG5BA,EAAK,MASP,QAASG,IAAWC,EAAOC,GAC1B,GAAI9G,GAAM6G,EAAME,MAAM,KACrBhJ,EAAIiC,EAAIS,MAET,OAAQ1C,IACPE,EAAK+I,WAAYhH,EAAIjC,IAAO+I,EAU9B,QAASG,IAAcrH,EAAGC,GACzB,GAAIqH,GAAMrH,GAAKD,EACduH,EAAOD,GAAsB,IAAftH,EAAEgE,UAAiC,IAAf/D,EAAE+D,UACnChE,EAAEwH,YAAcvH,EAAEuH,WAGpB,IAAKD,EACJ,MAAOA,EAIR,IAAKD,EACJ,MAASA,EAAMA,EAAIG,YAClB,GAAKH,IAAQrH,EACZ,QAKH,OAAOD,GAAI,KAOZ,QAAS0H,IAAmBC,GAC3B,MAAO,UAAUhH,GAChB,GAAIiH,GAAOjH,EAAK6E,SAASC,aACzB,OAAgB,UAATmC,GAAoBjH,EAAKgH,OAASA,GAQ3C,QAASE,IAAoBF,GAC5B,MAAO,UAAUhH,GAChB,GAAIiH,GAAOjH,EAAK6E,SAASC,aACzB,QAAiB,UAATmC,GAA6B,WAATA,IAAsBjH,EAAKgH,OAASA,GAQlE,QAASG,IAAsBpE,GAG9B,MAAO,UAAU/C,GAKhB,MAAK,QAAUA,GASTA,EAAKqF,YAAcrF,EAAK+C,YAAa,EAGpC,SAAW/C,GACV,SAAWA,GAAKqF,WACbrF,EAAKqF,WAAWtC,WAAaA,EAE7B/C,EAAK+C,WAAaA,EAMpB/C,EAAKoH,aAAerE,GAI1B/C,EAAKoH,cAAgBrE,GACpBF,GAAkB7C,KAAW+C,EAGzB/C,EAAK+C,WAAaA,EAKd,SAAW/C,IACfA,EAAK+C,WAAaA,GAY5B,QAASsE,IAAwBrB,GAChC,MAAOD,IAAa,SAAUuB,GAE7B,MADAA,IAAYA,EACLvB,GAAa,SAAUjC,EAAMrF,GACnC,GAAIgF,GACH8D,EAAevB,KAAQlC,EAAK5D,OAAQoH,GACpC9J,EAAI+J,EAAarH,MAGlB,OAAQ1C,IACFsG,EAAOL,EAAI8D,EAAa/J,MAC5BsG,EAAKL,KAAOhF,EAAQgF,GAAKK,EAAKL,SAYnC,QAAS2B,IAAaxB,GACrB,MAAOA,IAAmD,mBAAjCA,GAAQa,sBAAwCb,EAI1EnG,EAAUiG,GAAOjG,WAOjBG,EAAQ8F,GAAO9F,MAAQ,SAAUoC,GAGhC,GAAIwH,GAAkBxH,IAASA,EAAKqE,eAAiBrE,GAAMwH,eAC3D,SAAOA,GAA+C,SAA7BA,EAAgB3C,UAQ1C1G,EAAcuF,GAAOvF,YAAc,SAAUsJ,GAC5C,GAAIC,GAAYC,EACfC,EAAMH,EAAOA,EAAKpD,eAAiBoD,EAAO5I,CAG3C,OAAK+I,KAAQxJ,GAA6B,IAAjBwJ,EAAIvE,UAAmBuE,EAAIJ,iBAKpDpJ,EAAWwJ,EACXvJ,EAAUD,EAASoJ,gBACnBlJ,GAAkBV,EAAOQ,GAIpBS,IAAiBT,IACpBuJ,EAAYvJ,EAASyJ,cAAgBF,EAAUG,MAAQH,IAGnDA,EAAUI,iBACdJ,EAAUI,iBAAkB,SAAUnF,IAAe,GAG1C+E,EAAUK,aACrBL,EAAUK,YAAa,WAAYpF,KAUrCnF,EAAQ6C,WAAa2F,GAAO,SAAUC,GAErC,MADAA,GAAG+B,UAAY,KACP/B,EAAGnB,aAAa,eAOzBtH,EAAQgH,qBAAuBwB,GAAO,SAAUC,GAE/C,MADAA,GAAGgC,YAAa9J,EAAS+J,cAAc,MAC/BjC,EAAGzB,qBAAqB,KAAKvE,SAItCzC,EAAQiH,uBAAyB/C,EAAQiD,KAAMxG,EAASsG,wBAMxDjH,EAAQ2K,QAAUnC,GAAO,SAAUC,GAElC,MADA7H,GAAQ6J,YAAahC,GAAK1B,GAAK7F,GACvBP,EAASiK,oBAAsBjK,EAASiK,kBAAmB1J,GAAUuB,SAIzEzC,EAAQ2K,SACZ1K,EAAK4K,OAAW,GAAI,SAAU9D,GAC7B,GAAI+D,GAAS/D,EAAGQ,QAASlD,EAAWC,GACpC,OAAO,UAAU/B,GAChB,MAAOA,GAAK+E,aAAa,QAAUwD,IAGrC7K,EAAK8K,KAAS,GAAI,SAAUhE,EAAIZ,GAC/B,GAAuC,mBAA3BA,GAAQW,gBAAkCjG,EAAiB,CACtE,GAAI0B,GAAO4D,EAAQW,eAAgBC,EACnC,OAAOxE,IAASA,UAIlBtC,EAAK4K,OAAW,GAAK,SAAU9D,GAC9B,GAAI+D,GAAS/D,EAAGQ,QAASlD,EAAWC,GACpC,OAAO,UAAU/B,GAChB,GAAIyH,GAAwC,mBAA1BzH,GAAKyI,kBACtBzI,EAAKyI,iBAAiB,KACvB,OAAOhB,IAAQA,EAAK7B,QAAU2C,IAMhC7K,EAAK8K,KAAS,GAAI,SAAUhE,EAAIZ,GAC/B,GAAuC,mBAA3BA,GAAQW,gBAAkCjG,EAAiB,CACtE,GAAImJ,GAAMjK,EAAGkL,EACZ1I,EAAO4D,EAAQW,eAAgBC,EAEhC,IAAKxE,EAAO,CAIX,GADAyH,EAAOzH,EAAKyI,iBAAiB,MACxBhB,GAAQA,EAAK7B,QAAUpB,EAC3B,OAASxE,EAIV0I,GAAQ9E,EAAQyE,kBAAmB7D,GACnChH,EAAI,CACJ,OAASwC,EAAO0I,EAAMlL,KAErB,GADAiK,EAAOzH,EAAKyI,iBAAiB,MACxBhB,GAAQA,EAAK7B,QAAUpB,EAC3B,OAASxE,GAKZ,YAMHtC,EAAK8K,KAAU,IAAI/K,EAAQgH,qBAC1B,SAAUkE,EAAK/E,GACd,MAA6C,mBAAjCA,GAAQa,qBACZb,EAAQa,qBAAsBkE,GAG1BlL,EAAQkH,IACZf,EAAQ0B,iBAAkBqD,GAD3B,QAKR,SAAUA,EAAK/E,GACd,GAAI5D,GACH4I,KACApL,EAAI,EAEJqG,EAAUD,EAAQa,qBAAsBkE,EAGzC,IAAa,MAARA,EAAc,CAClB,MAAS3I,EAAO6D,EAAQrG,KACA,IAAlBwC,EAAKqD,UACTuF,EAAIhJ,KAAMI,EAIZ,OAAO4I,GAER,MAAO/E,IAITnG,EAAK8K,KAAY,MAAI/K,EAAQiH,wBAA0B,SAAUuD,EAAWrE,GAC3E,GAA+C,mBAAnCA,GAAQc,wBAA0CpG,EAC7D,MAAOsF,GAAQc,uBAAwBuD,IAUzCzJ,KAOAD,MAEMd,EAAQkH,IAAMhD,EAAQiD,KAAMxG,EAASkH,qBAG1CW,GAAO,SAAUC,GAMhB7H,EAAQ6J,YAAahC,GAAK2C,UAAY,UAAYlK,EAAU,qBAC1CA,EAAU,kEAOvBuH,EAAGZ,iBAAiB,wBAAwBpF,QAChD3B,EAAUqB,KAAM,SAAWQ,EAAa,gBAKnC8F,EAAGZ,iBAAiB,cAAcpF,QACvC3B,EAAUqB,KAAM,MAAQQ,EAAa,aAAeD,EAAW,KAI1D+F,EAAGZ,iBAAkB,QAAU3G,EAAU,MAAOuB,QACrD3B,EAAUqB,KAAK,MAMVsG,EAAGZ,iBAAiB,YAAYpF,QACrC3B,EAAUqB,KAAK,YAMVsG,EAAGZ,iBAAkB,KAAO3G,EAAU,MAAOuB,QAClD3B,EAAUqB,KAAK,cAIjBqG,GAAO,SAAUC,GAChBA,EAAG2C,UAAY,mFAKf,IAAIC,GAAQ1K,EAAS+H,cAAc,QACnC2C,GAAM7D,aAAc,OAAQ,UAC5BiB,EAAGgC,YAAaY,GAAQ7D,aAAc,OAAQ,KAIzCiB,EAAGZ,iBAAiB,YAAYpF,QACpC3B,EAAUqB,KAAM,OAASQ,EAAa,eAKS,IAA3C8F,EAAGZ,iBAAiB,YAAYpF,QACpC3B,EAAUqB,KAAM,WAAY,aAK7BvB,EAAQ6J,YAAahC,GAAKnD,UAAW,EACY,IAA5CmD,EAAGZ,iBAAiB,aAAapF,QACrC3B,EAAUqB,KAAM,WAAY,aAI7BsG,EAAGZ,iBAAiB,QACpB/G,EAAUqB,KAAK,YAIXnC,EAAQsL,gBAAkBpH,EAAQiD,KAAOnG,EAAUJ,EAAQI,SAChEJ,EAAQ2K,uBACR3K,EAAQ4K,oBACR5K,EAAQ6K,kBACR7K,EAAQ8K,qBAERlD,GAAO,SAAUC,GAGhBzI,EAAQ2L,kBAAoB3K,EAAQ0E,KAAM+C,EAAI,KAI9CzH,EAAQ0E,KAAM+C,EAAI,aAClB1H,EAAcoB,KAAM,KAAMW,KAI5BhC,EAAYA,EAAU2B,QAAU,GAAIO,QAAQlC,EAAU4G,KAAK,MAC3D3G,EAAgBA,EAAc0B,QAAU,GAAIO,QAAQjC,EAAc2G,KAAK,MAIvEuC,EAAa/F,EAAQiD,KAAMvG,EAAQgL,yBAKnC3K,EAAWgJ,GAAc/F,EAAQiD,KAAMvG,EAAQK,UAC9C,SAAUW,EAAGC,GACZ,GAAIgK,GAAuB,IAAfjK,EAAEgE,SAAiBhE,EAAEmI,gBAAkBnI,EAClDkK,EAAMjK,GAAKA,EAAE+F,UACd,OAAOhG,KAAMkK,MAAWA,GAAwB,IAAjBA,EAAIlG,YAClCiG,EAAM5K,SACL4K,EAAM5K,SAAU6K,GAChBlK,EAAEgK,yBAA8D,GAAnChK,EAAEgK,wBAAyBE,MAG3D,SAAUlK,EAAGC,GACZ,GAAKA,EACJ,MAASA,EAAIA,EAAE+F,WACd,GAAK/F,IAAMD,EACV,OAAO,CAIV,QAAO,GAOTD,EAAYsI,EACZ,SAAUrI,EAAGC,GAGZ,GAAKD,IAAMC,EAEV,MADApB,IAAe,EACR,CAIR,IAAIsL,IAAWnK,EAAEgK,yBAA2B/J,EAAE+J,uBAC9C,OAAKG,GACGA,GAIRA,GAAYnK,EAAEgF,eAAiBhF,MAAUC,EAAE+E,eAAiB/E,GAC3DD,EAAEgK,wBAAyB/J,GAG3B,EAGc,EAAVkK,IACF/L,EAAQgM,cAAgBnK,EAAE+J,wBAAyBhK,KAAQmK,EAGxDnK,IAAMjB,GAAYiB,EAAEgF,gBAAkBxF,GAAgBH,EAASG,EAAcQ,MAG7EC,IAAMlB,GAAYkB,EAAE+E,gBAAkBxF,GAAgBH,EAASG,EAAcS,GAC1E,EAIDrB,EACJ6B,EAAS7B,EAAWoB,GAAMS,EAAS7B,EAAWqB,GAChD,EAGe,EAAVkK,KAAmB,IAE3B,SAAUnK,EAAGC,GAEZ,GAAKD,IAAMC,EAEV,MADApB,IAAe,EACR,CAGR,IAAIyI,GACHnJ,EAAI,EACJkM,EAAMrK,EAAEgG,WACRkE,EAAMjK,EAAE+F,WACRsE,GAAOtK,GACPuK,GAAOtK,EAGR,KAAMoK,IAAQH,EACb,MAAOlK,KAAMjB,KACZkB,IAAMlB,EAAW,EACjBsL,KACAH,EAAM,EACNtL,EACE6B,EAAS7B,EAAWoB,GAAMS,EAAS7B,EAAWqB,GAChD,CAGK,IAAKoK,IAAQH,EACnB,MAAO7C,IAAcrH,EAAGC,EAIzBqH,GAAMtH,CACN,OAASsH,EAAMA,EAAItB,WAClBsE,EAAGE,QAASlD,EAEbA,GAAMrH,CACN,OAASqH,EAAMA,EAAItB,WAClBuE,EAAGC,QAASlD,EAIb,OAAQgD,EAAGnM,KAAOoM,EAAGpM,GACpBA,GAGD,OAAOA,GAENkJ,GAAciD,EAAGnM,GAAIoM,EAAGpM,IAGxBmM,EAAGnM,KAAOqB,KACV+K,EAAGpM,KAAOqB,EAAe,EACzB,GAGKT,GA3YCA,GA8YTsF,GAAOjF,QAAU,SAAUqL,EAAMC,GAChC,MAAOrG,IAAQoG,EAAM,KAAM,KAAMC,IAGlCrG,GAAOqF,gBAAkB,SAAU/I,EAAM8J,GASxC,IAPO9J,EAAKqE,eAAiBrE,KAAW5B,GACvCD,EAAa6B,GAId8J,EAAOA,EAAK9E,QAASnE,EAAkB,UAElCpD,EAAQsL,iBAAmBzK,IAC9Ba,EAAe2K,EAAO,QACpBtL,IAAkBA,EAAcoG,KAAMkF,OACtCvL,IAAkBA,EAAUqG,KAAMkF,IAErC,IACC,GAAIE,GAAMvL,EAAQ0E,KAAMnD,EAAM8J,EAG9B,IAAKE,GAAOvM,EAAQ2L,mBAGlBpJ,EAAK5B,UAAuC,KAA3B4B,EAAK5B,SAASiF,SAChC,MAAO2G,GAEP,MAAO1G,IAGV,MAAOI,IAAQoG,EAAM1L,EAAU,MAAQ4B,IAASE,OAAS,GAG1DwD,GAAOhF,SAAW,SAAUkF,EAAS5D,GAKpC,OAHO4D,EAAQS,eAAiBT,KAAcxF,GAC7CD,EAAayF,GAEPlF,EAAUkF,EAAS5D,IAG3B0D,GAAOuG,KAAO,SAAUjK,EAAMiH,IAEtBjH,EAAKqE,eAAiBrE,KAAW5B,GACvCD,EAAa6B,EAGd,IAAIgG,GAAKtI,EAAK+I,WAAYQ,EAAKnC,eAE9BoF,EAAMlE,GAAMzG,EAAO4D,KAAMzF,EAAK+I,WAAYQ,EAAKnC,eAC9CkB,EAAIhG,EAAMiH,GAAO3I,GACjB6L,MAEF,OAAeA,UAARD,EACNA,EACAzM,EAAQ6C,aAAehC,EACtB0B,EAAK+E,aAAckC,IAClBiD,EAAMlK,EAAKyI,iBAAiBxB,KAAUiD,EAAIE,UAC1CF,EAAItE,MACJ,MAGJlC,GAAO2G,OAAS,SAAUC,GACzB,OAAQA,EAAM,IAAItF,QAAS1C,GAAYC,KAGxCmB,GAAO6G,MAAQ,SAAUC,GACxB,KAAM,IAAIC,OAAO,0CAA4CD,IAO9D9G,GAAOgH,WAAa,SAAU7G,GAC7B,GAAI7D,GACH2K,KACAlH,EAAI,EACJjG,EAAI,CAOL,IAJAU,GAAgBT,EAAQmN,iBACxB3M,GAAaR,EAAQoN,YAAchH,EAAQhE,MAAO,GAClDgE,EAAQiH,KAAM1L,GAETlB,EAAe,CACnB,MAAS8B,EAAO6D,EAAQrG,KAClBwC,IAAS6D,EAASrG,KACtBiG,EAAIkH,EAAW/K,KAAMpC,GAGvB,OAAQiG,IACPI,EAAQkH,OAAQJ,EAAYlH,GAAK,GAQnC,MAFAxF,GAAY,KAEL4F,GAORlG,EAAU+F,GAAO/F,QAAU,SAAUqC,GACpC,GAAIyH,GACHuC,EAAM,GACNxM,EAAI,EACJ6F,EAAWrD,EAAKqD,QAEjB,IAAMA,GAMC,GAAkB,IAAbA,GAA+B,IAAbA,GAA+B,KAAbA,EAAkB,CAGjE,GAAiC,gBAArBrD,GAAKgL,YAChB,MAAOhL,GAAKgL,WAGZ,KAAMhL,EAAOA,EAAKiL,WAAYjL,EAAMA,EAAOA,EAAK8G,YAC/CkD,GAAOrM,EAASqC,OAGZ,IAAkB,IAAbqD,GAA+B,IAAbA,EAC7B,MAAOrD,GAAKkL,cAhBZ,OAASzD,EAAOzH,EAAKxC,KAEpBwM,GAAOrM,EAAS8J,EAkBlB,OAAOuC,IAGRtM,EAAOgG,GAAOyH,WAGbtF,YAAa,GAEbuF,aAAcrF,GAEd9B,MAAOjD,EAEPyF,cAEA+B,QAEA6C,UACCC,KAAOtI,IAAK,aAAcuI,OAAO,GACjCC,KAAOxI,IAAK,cACZyI,KAAOzI,IAAK,kBAAmBuI,OAAO,GACtCG,KAAO1I,IAAK,oBAGb2I,WACCvK,KAAQ,SAAU6C,GAUjB,MATAA,GAAM,GAAKA,EAAM,GAAGe,QAASlD,EAAWC,IAGxCkC,EAAM,IAAOA,EAAM,IAAMA,EAAM,IAAMA,EAAM,IAAM,IAAKe,QAASlD,EAAWC,IAExD,OAAbkC,EAAM,KACVA,EAAM,GAAK,IAAMA,EAAM,GAAK,KAGtBA,EAAMpE,MAAO,EAAG,IAGxByB,MAAS,SAAU2C,GA6BlB,MAlBAA,GAAM,GAAKA,EAAM,GAAGa,cAEY,QAA3Bb,EAAM,GAAGpE,MAAO,EAAG,IAEjBoE,EAAM,IACXP,GAAO6G,MAAOtG,EAAM,IAKrBA,EAAM,KAAQA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAAK,GAAmB,SAAbA,EAAM,IAA8B,QAAbA,EAAM,KACzFA,EAAM,KAAUA,EAAM,GAAKA,EAAM,IAAqB,QAAbA,EAAM,KAGpCA,EAAM,IACjBP,GAAO6G,MAAOtG,EAAM,IAGdA,GAGR5C,OAAU,SAAU4C,GACnB,GAAI2H,GACHC,GAAY5H,EAAM,IAAMA,EAAM,EAE/B,OAAKjD,GAAiB,MAAE4D,KAAMX,EAAM,IAC5B,MAIHA,EAAM,GACVA,EAAM,GAAKA,EAAM,IAAMA,EAAM,IAAM,GAGxB4H,GAAY/K,EAAQ8D,KAAMiH,KAEpCD,EAAS/N,EAAUgO,GAAU,MAE7BD,EAASC,EAAS/L,QAAS,IAAK+L,EAAS3L,OAAS0L,GAAWC,EAAS3L,UAGvE+D,EAAM,GAAKA,EAAM,GAAGpE,MAAO,EAAG+L,GAC9B3H,EAAM,GAAK4H,EAAShM,MAAO,EAAG+L,IAIxB3H,EAAMpE,MAAO,EAAG,MAIzByI,QAECnH,IAAO,SAAU2K,GAChB,GAAIjH,GAAWiH,EAAiB9G,QAASlD,EAAWC,IAAY+C,aAChE,OAA4B,MAArBgH,EACN,WAAa,OAAO,GACpB,SAAU9L,GACT,MAAOA,GAAK6E,UAAY7E,EAAK6E,SAASC,gBAAkBD,IAI3D3D,MAAS,SAAU+G,GAClB,GAAI8D,GAAU/M,EAAYiJ,EAAY,IAEtC,OAAO8D,KACLA,EAAU,GAAItL,QAAQ,MAAQL,EAAa,IAAM6H,EAAY,IAAM7H,EAAa,SACjFpB,EAAYiJ,EAAW,SAAUjI,GAChC,MAAO+L,GAAQnH,KAAgC,gBAAnB5E,GAAKiI,WAA0BjI,EAAKiI,WAA0C,mBAAtBjI,GAAK+E,cAAgC/E,EAAK+E,aAAa,UAAY,OAI1J3D,KAAQ,SAAU6F,EAAM+E,EAAUC,GACjC,MAAO,UAAUjM,GAChB,GAAIkM,GAASxI,GAAOuG,KAAMjK,EAAMiH,EAEhC,OAAe,OAAViF,EACgB,OAAbF,GAEFA,IAINE,GAAU,GAEU,MAAbF,EAAmBE,IAAWD,EACvB,OAAbD,EAAoBE,IAAWD,EAClB,OAAbD,EAAoBC,GAAqC,IAA5BC,EAAOpM,QAASmM,GAChC,OAAbD,EAAoBC,GAASC,EAAOpM,QAASmM,MAChC,OAAbD,EAAoBC,GAASC,EAAOrM,OAAQoM,EAAM/L,UAAa+L,EAClD,OAAbD,GAAsB,IAAME,EAAOlH,QAASxE,EAAa,KAAQ,KAAMV,QAASmM,MACnE,OAAbD,IAAoBE,IAAWD,GAASC,EAAOrM,MAAO,EAAGoM,EAAM/L,OAAS,KAAQ+L,EAAQ,QAK3F3K,MAAS,SAAU0F,EAAMmF,EAAM7E,EAAUiE,EAAOa,GAC/C,GAAIC,GAAgC,QAAvBrF,EAAKnH,MAAO,EAAG,GAC3ByM,EAA+B,SAArBtF,EAAKnH,UACf0M,EAAkB,YAATJ,CAEV,OAAiB,KAAVZ,GAAwB,IAATa,EAGrB,SAAUpM,GACT,QAASA,EAAKqF,YAGf,SAAUrF,EAAM4D,EAAS4I,GACxB,GAAI9G,GAAO+G,EAAaC,EAAYjF,EAAMkF,EAAWC,EACpD5J,EAAMqJ,IAAWC,EAAU,cAAgB,kBAC3CO,EAAS7M,EAAKqF,WACd4B,EAAOsF,GAAUvM,EAAK6E,SAASC,cAC/BgI,GAAYN,IAAQD,EACpB3F,GAAO,CAER,IAAKiG,EAAS,CAGb,GAAKR,EAAS,CACb,MAAQrJ,EAAM,CACbyE,EAAOzH,CACP,OAASyH,EAAOA,EAAMzE,GACrB,GAAKuJ,EACJ9E,EAAK5C,SAASC,gBAAkBmC,EACd,IAAlBQ,EAAKpE,SAEL,OAAO,CAITuJ,GAAQ5J,EAAe,SAATgE,IAAoB4F,GAAS,cAE5C,OAAO,EAMR,GAHAA,GAAUN,EAAUO,EAAO5B,WAAa4B,EAAOE,WAG1CT,GAAWQ,EAAW,CAK1BrF,EAAOoF,EACPH,EAAajF,EAAM9I,KAAc8I,EAAM9I,OAIvC8N,EAAcC,EAAYjF,EAAKuF,YAC7BN,EAAYjF,EAAKuF,cAEnBtH,EAAQ+G,EAAazF,OACrB2F,EAAYjH,EAAO,KAAQ5G,GAAW4G,EAAO,GAC7CkB,EAAO+F,GAAajH,EAAO,GAC3B+B,EAAOkF,GAAaE,EAAOzJ,WAAYuJ,EAEvC,OAASlF,IAASkF,GAAalF,GAAQA,EAAMzE,KAG3C4D,EAAO+F,EAAY,IAAMC,EAAMlN,MAGhC,GAAuB,IAAlB+H,EAAKpE,YAAoBuD,GAAQa,IAASzH,EAAO,CACrDyM,EAAazF,IAAWlI,EAAS6N,EAAW/F,EAC5C,YAuBF,IAjBKkG,IAEJrF,EAAOzH,EACP0M,EAAajF,EAAM9I,KAAc8I,EAAM9I,OAIvC8N,EAAcC,EAAYjF,EAAKuF,YAC7BN,EAAYjF,EAAKuF,cAEnBtH,EAAQ+G,EAAazF,OACrB2F,EAAYjH,EAAO,KAAQ5G,GAAW4G,EAAO,GAC7CkB,EAAO+F,GAKH/F,KAAS,EAEb,MAASa,IAASkF,GAAalF,GAAQA,EAAMzE,KAC3C4D,EAAO+F,EAAY,IAAMC,EAAMlN,MAEhC,IAAO6M,EACN9E,EAAK5C,SAASC,gBAAkBmC,EACd,IAAlBQ,EAAKpE,aACHuD,IAGGkG,IACJJ,EAAajF,EAAM9I,KAAc8I,EAAM9I,OAIvC8N,EAAcC,EAAYjF,EAAKuF,YAC7BN,EAAYjF,EAAKuF,cAEnBP,EAAazF,IAAWlI,EAAS8H,IAG7Ba,IAASzH,GACb,KASL,OADA4G,IAAQwF,EACDxF,IAAS2E,GAAW3E,EAAO2E,IAAU,GAAK3E,EAAO2E,GAAS,KAKrElK,OAAU,SAAU4L,EAAQ3F,GAK3B,GAAI4F,GACHlH,EAAKtI,EAAK6C,QAAS0M,IAAYvP,EAAKyP,WAAYF,EAAOnI,gBACtDpB,GAAO6G,MAAO,uBAAyB0C,EAKzC,OAAKjH,GAAIrH,GACDqH,EAAIsB,GAIPtB,EAAG9F,OAAS,GAChBgN,GAASD,EAAQA,EAAQ,GAAI3F,GACtB5J,EAAKyP,WAAW3N,eAAgByN,EAAOnI,eAC7CiB,GAAa,SAAUjC,EAAMrF,GAC5B,GAAI2O,GACHC,EAAUrH,EAAIlC,EAAMwD,GACpB9J,EAAI6P,EAAQnN,MACb,OAAQ1C,IACP4P,EAAMtN,EAASgE,EAAMuJ,EAAQ7P,IAC7BsG,EAAMsJ,KAAW3O,EAAS2O,GAAQC,EAAQ7P,MAG5C,SAAUwC,GACT,MAAOgG,GAAIhG,EAAM,EAAGkN,KAIhBlH,IAITzF,SAEC+M,IAAOvH,GAAa,SAAUpC,GAI7B,GAAImF,MACHjF,KACA0J,EAAUzP,EAAS6F,EAASqB,QAAStE,EAAO,MAE7C,OAAO6M,GAAS5O,GACfoH,GAAa,SAAUjC,EAAMrF,EAASmF,EAAS4I,GAC9C,GAAIxM,GACHwN,EAAYD,EAASzJ,EAAM,KAAM0I,MACjChP,EAAIsG,EAAK5D,MAGV,OAAQ1C,KACDwC,EAAOwN,EAAUhQ,MACtBsG,EAAKtG,KAAOiB,EAAQjB,GAAKwC,MAI5B,SAAUA,EAAM4D,EAAS4I,GAKxB,MAJA1D,GAAM,GAAK9I,EACXuN,EAASzE,EAAO,KAAM0D,EAAK3I,GAE3BiF,EAAM,GAAK,MACHjF,EAAQnE,SAInB+N,IAAO1H,GAAa,SAAUpC,GAC7B,MAAO,UAAU3D,GAChB,MAAO0D,IAAQC,EAAU3D,GAAOE,OAAS,KAI3CxB,SAAYqH,GAAa,SAAU2H,GAElC,MADAA,GAAOA,EAAK1I,QAASlD,EAAWC,IACzB,SAAU/B,GAChB,OAASA,EAAKgL,aAAehL,EAAK2N,WAAahQ,EAASqC,IAASF,QAAS4N,SAW5EE,KAAQ7H,GAAc,SAAU6H,GAM/B,MAJM7M,GAAY6D,KAAKgJ,GAAQ,KAC9BlK,GAAO6G,MAAO,qBAAuBqD,GAEtCA,EAAOA,EAAK5I,QAASlD,EAAWC,IAAY+C,cACrC,SAAU9E,GAChB,GAAI6N,EACJ,GACC,IAAMA,EAAWvP,EAChB0B,EAAK4N,KACL5N,EAAK+E,aAAa,aAAe/E,EAAK+E,aAAa,QAGnD,MADA8I,GAAWA,EAAS/I,cACb+I,IAAaD,GAA2C,IAAnCC,EAAS/N,QAAS8N,EAAO,YAE5C5N,EAAOA,EAAKqF,aAAiC,IAAlBrF,EAAKqD,SAC3C,QAAO,KAKTE,OAAU,SAAUvD,GACnB,GAAI8N,GAAOvQ,EAAOwQ,UAAYxQ,EAAOwQ,SAASD,IAC9C,OAAOA,IAAQA,EAAKjO,MAAO,KAAQG,EAAKwE,IAGzCwJ,KAAQ,SAAUhO,GACjB,MAAOA,KAAS3B,GAGjB4P,MAAS,SAAUjO,GAClB,MAAOA,KAAS5B,EAAS8P,iBAAmB9P,EAAS+P,UAAY/P,EAAS+P,gBAAkBnO,EAAKgH,MAAQhH,EAAKoO,OAASpO,EAAKqO,WAI7HC,QAAWnH,IAAsB,GACjCpE,SAAYoE,IAAsB,GAElCoH,QAAW,SAAUvO,GAGpB,GAAI6E,GAAW7E,EAAK6E,SAASC,aAC7B,OAAqB,UAAbD,KAA0B7E,EAAKuO,SAA0B,WAAb1J,KAA2B7E,EAAKwO,UAGrFA,SAAY,SAAUxO,GAOrB,MAJKA,GAAKqF,YACTrF,EAAKqF,WAAWoJ,cAGVzO,EAAKwO,YAAa,GAI1BE,MAAS,SAAU1O,GAKlB,IAAMA,EAAOA,EAAKiL,WAAYjL,EAAMA,EAAOA,EAAK8G,YAC/C,GAAK9G,EAAKqD,SAAW,EACpB,OAAO,CAGT,QAAO,GAGRwJ,OAAU,SAAU7M,GACnB,OAAQtC,EAAK6C,QAAe,MAAGP,IAIhC2O,OAAU,SAAU3O,GACnB,MAAO0B,GAAQkD,KAAM5E,EAAK6E,WAG3BiE,MAAS,SAAU9I,GAClB,MAAOyB,GAAQmD,KAAM5E,EAAK6E,WAG3B+J,OAAU,SAAU5O,GACnB,GAAIiH,GAAOjH,EAAK6E,SAASC,aACzB,OAAgB,UAATmC,GAAkC,WAAdjH,EAAKgH,MAA8B,WAATC,GAGtDyG,KAAQ,SAAU1N,GACjB,GAAIiK,EACJ,OAAuC,UAAhCjK,EAAK6E,SAASC,eACN,SAAd9E,EAAKgH,OAImC,OAArCiD,EAAOjK,EAAK+E,aAAa,UAA2C,SAAvBkF,EAAKnF,gBAIvDyG,MAASlE,GAAuB,WAC/B,OAAS,KAGV+E,KAAQ/E,GAAuB,SAAUE,EAAcrH,GACtD,OAASA,EAAS,KAGnB2O,GAAMxH,GAAuB,SAAUE,EAAcrH,EAAQoH,GAC5D,OAASA,EAAW,EAAIA,EAAWpH,EAASoH,KAG7CwH,KAAQzH,GAAuB,SAAUE,EAAcrH,GAEtD,IADA,GAAI1C,GAAI,EACAA,EAAI0C,EAAQ1C,GAAK,EACxB+J,EAAa3H,KAAMpC,EAEpB,OAAO+J,KAGRwH,IAAO1H,GAAuB,SAAUE,EAAcrH,GAErD,IADA,GAAI1C,GAAI,EACAA,EAAI0C,EAAQ1C,GAAK,EACxB+J,EAAa3H,KAAMpC,EAEpB,OAAO+J,KAGRyH,GAAM3H,GAAuB,SAAUE,EAAcrH,EAAQoH,GAE5D,IADA,GAAI9J,GAAI8J,EAAW,EAAIA,EAAWpH,EAASoH,IACjC9J,GAAK,GACd+J,EAAa3H,KAAMpC,EAEpB,OAAO+J,KAGR0H,GAAM5H,GAAuB,SAAUE,EAAcrH,EAAQoH,GAE5D,IADA,GAAI9J,GAAI8J,EAAW,EAAIA,EAAWpH,EAASoH,IACjC9J,EAAI0C,GACbqH,EAAa3H,KAAMpC,EAEpB,OAAO+J,OAKV7J,EAAK6C,QAAa,IAAI7C,EAAK6C,QAAY,EAGvC,KAAM/C,KAAO0R,OAAO,EAAMC,UAAU,EAAMC,MAAM,EAAMC,UAAU,EAAMC,OAAO,GAC5E5R,EAAK6C,QAAS/C,GAAMuJ,GAAmBvJ,EAExC,KAAMA,KAAO+R,QAAQ,EAAMC,OAAO,GACjC9R,EAAK6C,QAAS/C,GAAM0J,GAAoB1J,EAIzC,SAAS2P,OACTA,GAAWsC,UAAY/R,EAAKgS,QAAUhS,EAAK6C,QAC3C7C,EAAKyP,WAAa,GAAIA,IAEtBtP,EAAW6F,GAAO7F,SAAW,SAAU8F,EAAUgM,GAChD,GAAItC,GAASpJ,EAAO2L,EAAQ5I,EAC3B6I,EAAO3L,EAAQ4L,EACfC,EAAS7Q,EAAYyE,EAAW,IAEjC,IAAKoM,EACJ,MAAOJ,GAAY,EAAII,EAAOlQ,MAAO,EAGtCgQ,GAAQlM,EACRO,KACA4L,EAAapS,EAAKiO,SAElB,OAAQkE,EAAQ,CAGTxC,KAAYpJ,EAAQtD,EAAO2D,KAAMuL,MACjC5L,IAEJ4L,EAAQA,EAAMhQ,MAAOoE,EAAM,GAAG/D,SAAY2P,GAE3C3L,EAAOtE,KAAOgQ,OAGfvC,GAAU,GAGJpJ,EAAQrD,EAAa0D,KAAMuL,MAChCxC,EAAUpJ,EAAM6B,QAChB8J,EAAOhQ,MACNgG,MAAOyH,EAEPrG,KAAM/C,EAAM,GAAGe,QAAStE,EAAO,OAEhCmP,EAAQA,EAAMhQ,MAAOwN,EAAQnN,QAI9B,KAAM8G,IAAQtJ,GAAK4K,SACZrE,EAAQjD,EAAWgG,GAAO1C,KAAMuL,KAAcC,EAAY9I,MAC9D/C,EAAQ6L,EAAY9I,GAAQ/C,MAC7BoJ,EAAUpJ,EAAM6B,QAChB8J,EAAOhQ,MACNgG,MAAOyH,EACPrG,KAAMA,EACNvI,QAASwF,IAEV4L,EAAQA,EAAMhQ,MAAOwN,EAAQnN,QAI/B,KAAMmN,EACL,MAOF,MAAOsC,GACNE,EAAM3P,OACN2P,EACCnM,GAAO6G,MAAO5G,GAEdzE,EAAYyE,EAAUO,GAASrE,MAAO,GAGzC,SAASqF,IAAY0K,GAIpB,IAHA,GAAIpS,GAAI,EACPyC,EAAM2P,EAAO1P,OACbyD,EAAW,GACJnG,EAAIyC,EAAKzC,IAChBmG,GAAYiM,EAAOpS,GAAGoI,KAEvB,OAAOjC,GAGR,QAASb,IAAeyK,EAASyC,EAAYC,GAC5C,GAAIjN,GAAMgN,EAAWhN,IACpBkN,EAAOF,EAAW/M,KAClB0C,EAAMuK,GAAQlN,EACdmN,EAAmBF,GAAgB,eAARtK,EAC3ByK,EAAWrR,GAEZ,OAAOiR,GAAWzE,MAEjB,SAAUvL,EAAM4D,EAAS4I,GACxB,MAASxM,EAAOA,EAAMgD,GACrB,GAAuB,IAAlBhD,EAAKqD,UAAkB8M,EAC3B,MAAO5C,GAASvN,EAAM4D,EAAS4I,EAGjC,QAAO,GAIR,SAAUxM,EAAM4D,EAAS4I,GACxB,GAAI6D,GAAU5D,EAAaC,EAC1B4D,GAAaxR,EAASsR,EAGvB,IAAK5D,GACJ,MAASxM,EAAOA,EAAMgD,GACrB,IAAuB,IAAlBhD,EAAKqD,UAAkB8M,IACtB5C,EAASvN,EAAM4D,EAAS4I,GAC5B,OAAO,MAKV,OAASxM,EAAOA,EAAMgD,GACrB,GAAuB,IAAlBhD,EAAKqD,UAAkB8M,EAO3B,GANAzD,EAAa1M,EAAMrB,KAAcqB,EAAMrB,OAIvC8N,EAAcC,EAAY1M,EAAKgN,YAAeN,EAAY1M,EAAKgN,cAE1DkD,GAAQA,IAASlQ,EAAK6E,SAASC,cACnC9E,EAAOA,EAAMgD,IAAShD,MAChB,CAAA,IAAMqQ,EAAW5D,EAAa9G,KACpC0K,EAAU,KAAQvR,GAAWuR,EAAU,KAAQD,EAG/C,MAAQE,GAAU,GAAMD,EAAU,EAMlC,IAHA5D,EAAa9G,GAAQ2K,EAGfA,EAAU,GAAM/C,EAASvN,EAAM4D,EAAS4I,GAC7C,OAAO,EAMZ,OAAO,GAIV,QAAS+D,IAAgBC,GACxB,MAAOA,GAAStQ,OAAS,EACxB,SAAUF,EAAM4D,EAAS4I,GACxB,GAAIhP,GAAIgT,EAAStQ,MACjB,OAAQ1C,IACP,IAAMgT,EAAShT,GAAIwC,EAAM4D,EAAS4I,GACjC,OAAO,CAGT,QAAO,GAERgE,EAAS,GAGX,QAASC,IAAkB9M,EAAU+M,EAAU7M,GAG9C,IAFA,GAAIrG,GAAI,EACPyC,EAAMyQ,EAASxQ,OACR1C,EAAIyC,EAAKzC,IAChBkG,GAAQC,EAAU+M,EAASlT,GAAIqG,EAEhC,OAAOA,GAGR,QAAS8M,IAAUnD,EAAWoD,EAAKtI,EAAQ1E,EAAS4I,GAOnD,IANA,GAAIxM,GACH6Q,KACArT,EAAI,EACJyC,EAAMuN,EAAUtN,OAChB4Q,EAAgB,MAAPF,EAEFpT,EAAIyC,EAAKzC,KACVwC,EAAOwN,EAAUhQ,MAChB8K,IAAUA,EAAQtI,EAAM4D,EAAS4I,KACtCqE,EAAajR,KAAMI,GACd8Q,GACJF,EAAIhR,KAAMpC,IAMd,OAAOqT,GAGR,QAASE,IAAYpF,EAAWhI,EAAU4J,EAASyD,EAAYC,EAAYC,GAO1E,MANKF,KAAeA,EAAYrS,KAC/BqS,EAAaD,GAAYC,IAErBC,IAAeA,EAAYtS,KAC/BsS,EAAaF,GAAYE,EAAYC,IAE/BnL,GAAa,SAAUjC,EAAMD,EAASD,EAAS4I,GACrD,GAAI2E,GAAM3T,EAAGwC,EACZoR,KACAC,KACAC,EAAczN,EAAQ3D,OAGtBwI,EAAQ5E,GAAQ2M,GAAkB9M,GAAY,IAAKC,EAAQP,UAAaO,GAAYA,MAGpF2N,GAAY5F,IAAe7H,GAASH,EAEnC+E,EADAiI,GAAUjI,EAAO0I,EAAQzF,EAAW/H,EAAS4I,GAG9CgF,EAAajE,EAEZ0D,IAAgBnN,EAAO6H,EAAY2F,GAAeN,MAMjDnN,EACD0N,CAQF,IALKhE,GACJA,EAASgE,EAAWC,EAAY5N,EAAS4I,GAIrCwE,EAAa,CACjBG,EAAOR,GAAUa,EAAYH,GAC7BL,EAAYG,KAAUvN,EAAS4I,GAG/BhP,EAAI2T,EAAKjR,MACT,OAAQ1C,KACDwC,EAAOmR,EAAK3T,MACjBgU,EAAYH,EAAQ7T,MAAS+T,EAAWF,EAAQ7T,IAAOwC,IAK1D,GAAK8D,GACJ,GAAKmN,GAActF,EAAY,CAC9B,GAAKsF,EAAa,CAEjBE,KACA3T,EAAIgU,EAAWtR,MACf,OAAQ1C,KACDwC,EAAOwR,EAAWhU,KAEvB2T,EAAKvR,KAAO2R,EAAU/T,GAAKwC,EAG7BiR,GAAY,KAAOO,KAAkBL,EAAM3E,GAI5ChP,EAAIgU,EAAWtR,MACf,OAAQ1C,KACDwC,EAAOwR,EAAWhU,MACtB2T,EAAOF,EAAanR,EAASgE,EAAM9D,GAASoR,EAAO5T,SAEpDsG,EAAKqN,KAAUtN,EAAQsN,GAAQnR,SAOlCwR,GAAab,GACZa,IAAe3N,EACd2N,EAAWzG,OAAQuG,EAAaE,EAAWtR,QAC3CsR,GAEGP,EACJA,EAAY,KAAMpN,EAAS2N,EAAYhF,GAEvC5M,EAAKsD,MAAOW,EAAS2N,KAMzB,QAASC,IAAmB7B,GAwB3B,IAvBA,GAAI8B,GAAcnE,EAAS9J,EAC1BxD,EAAM2P,EAAO1P,OACbyR,EAAkBjU,EAAK2N,SAAUuE,EAAO,GAAG5I,MAC3C4K,EAAmBD,GAAmBjU,EAAK2N,SAAS,KACpD7N,EAAImU,EAAkB,EAAI,EAG1BE,EAAe/O,GAAe,SAAU9C,GACvC,MAAOA,KAAS0R,GACdE,GAAkB,GACrBE,EAAkBhP,GAAe,SAAU9C,GAC1C,MAAOF,GAAS4R,EAAc1R,OAC5B4R,GAAkB,GACrBpB,GAAa,SAAUxQ,EAAM4D,EAAS4I,GACrC,GAAIxC,IAAS2H,IAAqBnF,GAAO5I,IAAY5F,MACnD0T,EAAe9N,GAASP,SACxBwO,EAAc7R,EAAM4D,EAAS4I,GAC7BsF,EAAiB9R,EAAM4D,EAAS4I,GAGlC,OADAkF,GAAe,KACR1H,IAGDxM,EAAIyC,EAAKzC,IAChB,GAAM+P,EAAU7P,EAAK2N,SAAUuE,EAAOpS,GAAGwJ,MACxCwJ,GAAa1N,GAAcyN,GAAgBC,GAAYjD,QACjD,CAIN,GAHAA,EAAU7P,EAAK4K,OAAQsH,EAAOpS,GAAGwJ,MAAO9D,MAAO,KAAM0M,EAAOpS,GAAGiB,SAG1D8O,EAAS5O,GAAY,CAGzB,IADA8E,IAAMjG,EACEiG,EAAIxD,EAAKwD,IAChB,GAAK/F,EAAK2N,SAAUuE,EAAOnM,GAAGuD,MAC7B,KAGF,OAAO+J,IACNvT,EAAI,GAAK+S,GAAgBC,GACzBhT,EAAI,GAAK0H,GAER0K,EAAO/P,MAAO,EAAGrC,EAAI,GAAIuU,QAASnM,MAAgC,MAAzBgK,EAAQpS,EAAI,GAAIwJ,KAAe,IAAM,MAC7EhC,QAAStE,EAAO,MAClB6M,EACA/P,EAAIiG,GAAKgO,GAAmB7B,EAAO/P,MAAOrC,EAAGiG,IAC7CA,EAAIxD,GAAOwR,GAAoB7B,EAASA,EAAO/P,MAAO4D,IACtDA,EAAIxD,GAAOiF,GAAY0K,IAGzBY,EAAS5Q,KAAM2N,GAIjB,MAAOgD,IAAgBC,GAGxB,QAASwB,IAA0BC,EAAiBC,GACnD,GAAIC,GAAQD,EAAYhS,OAAS,EAChCkS,EAAYH,EAAgB/R,OAAS,EACrCmS,EAAe,SAAUvO,EAAMF,EAAS4I,EAAK3I,EAASyO,GACrD,GAAItS,GAAMyD,EAAG8J,EACZgF,EAAe,EACf/U,EAAI,IACJgQ,EAAY1J,MACZ0O,KACAC,EAAgBzU,EAEhB0K,EAAQ5E,GAAQsO,GAAa1U,EAAK8K,KAAU,IAAG,IAAK8J,GAEpDI,EAAiB5T,GAA4B,MAAjB2T,EAAwB,EAAIE,KAAKC,UAAY,GACzE3S,EAAMyI,EAAMxI,MASb,KAPKoS,IACJtU,EAAmB4F,IAAYxF,GAAYwF,GAAW0O,GAM/C9U,IAAMyC,GAA4B,OAApBD,EAAO0I,EAAMlL,IAAaA,IAAM,CACrD,GAAK4U,GAAapS,EAAO,CACxByD,EAAI,EACEG,GAAW5D,EAAKqE,gBAAkBjG,IACvCD,EAAa6B,GACbwM,GAAOlO,EAER,OAASiP,EAAU0E,EAAgBxO,KAClC,GAAK8J,EAASvN,EAAM4D,GAAWxF,EAAUoO,GAAO,CAC/C3I,EAAQjE,KAAMI,EACd,OAGGsS,IACJxT,EAAU4T,GAKPP,KAEEnS,GAAQuN,GAAWvN,IACxBuS,IAIIzO,GACJ0J,EAAU5N,KAAMI,IAgBnB,GATAuS,GAAgB/U,EASX2U,GAAS3U,IAAM+U,EAAe,CAClC9O,EAAI,CACJ,OAAS8J,EAAU2E,EAAYzO,KAC9B8J,EAASC,EAAWgF,EAAY5O,EAAS4I,EAG1C,IAAK1I,EAAO,CAEX,GAAKyO,EAAe,EACnB,MAAQ/U,IACAgQ,EAAUhQ,IAAMgV,EAAWhV,KACjCgV,EAAWhV,GAAKkC,EAAIyD,KAAMU,GAM7B2O,GAAa7B,GAAU6B,GAIxB5S,EAAKsD,MAAOW,EAAS2O,GAGhBF,IAAcxO,GAAQ0O,EAAWtS,OAAS,GAC5CqS,EAAeL,EAAYhS,OAAW,GAExCwD,GAAOgH,WAAY7G,GAUrB,MALKyO,KACJxT,EAAU4T,EACV1U,EAAmByU,GAGbjF,EAGT,OAAO2E,GACNpM,GAAcsM,GACdA,EAGFvU,EAAU4F,GAAO5F,QAAU,SAAU6F,EAAUM,GAC9C,GAAIzG,GACH0U,KACAD,KACAlC,EAAS5Q,EAAewE,EAAW,IAEpC,KAAMoM,EAAS,CAER9L,IACLA,EAAQpG,EAAU8F,IAEnBnG,EAAIyG,EAAM/D,MACV,OAAQ1C,IACPuS,EAAS0B,GAAmBxN,EAAMzG,IAC7BuS,EAAQpR,GACZuT,EAAYtS,KAAMmQ,GAElBkC,EAAgBrS,KAAMmQ,EAKxBA,GAAS5Q,EAAewE,EAAUqO,GAA0BC,EAAiBC,IAG7EnC,EAAOpM,SAAWA,EAEnB,MAAOoM,IAYRhS,EAAS2F,GAAO3F,OAAS,SAAU4F,EAAUC,EAASC,EAASC,GAC9D,GAAItG,GAAGoS,EAAQiD,EAAO7L,EAAMwB,EAC3BsK,EAA+B,kBAAbnP,IAA2BA,EAC7CM,GAASH,GAAQjG,EAAW8F,EAAWmP,EAASnP,UAAYA,EAM7D,IAJAE,EAAUA,MAIY,IAAjBI,EAAM/D,OAAe,CAIzB,GADA0P,EAAS3L,EAAM,GAAKA,EAAM,GAAGpE,MAAO,GAC/B+P,EAAO1P,OAAS,GAAkC,QAA5B2S,EAAQjD,EAAO,IAAI5I,MACvB,IAArBpD,EAAQP,UAAkB/E,GAAkBZ,EAAK2N,SAAUuE,EAAO,GAAG5I,MAAS,CAG/E,GADApD,GAAYlG,EAAK8K,KAAS,GAAGqK,EAAMpU,QAAQ,GAAGuG,QAAQlD,EAAWC,IAAY6B,QAAkB,IACzFA,EACL,MAAOC,EAGIiP,KACXlP,EAAUA,EAAQyB,YAGnB1B,EAAWA,EAAS9D,MAAO+P,EAAO9J,QAAQF,MAAM1F,QAIjD1C,EAAIwD,EAAwB,aAAE4D,KAAMjB,GAAa,EAAIiM,EAAO1P,MAC5D,OAAQ1C,IAAM,CAIb,GAHAqV,EAAQjD,EAAOpS,GAGVE,EAAK2N,SAAWrE,EAAO6L,EAAM7L,MACjC,KAED,KAAMwB,EAAO9K,EAAK8K,KAAMxB,MAEjBlD,EAAO0E,EACZqK,EAAMpU,QAAQ,GAAGuG,QAASlD,EAAWC,IACrCF,EAAS+C,KAAMgL,EAAO,GAAG5I,OAAU5B,GAAaxB,EAAQyB,aAAgBzB,IACpE,CAKJ,GAFAgM,EAAO7E,OAAQvN,EAAG,GAClBmG,EAAWG,EAAK5D,QAAUgF,GAAY0K,IAChCjM,EAEL,MADA/D,GAAKsD,MAAOW,EAASC,GACdD,CAGR,SAeJ,OAPEiP,GAAYhV,EAAS6F,EAAUM,IAChCH,EACAF,GACCtF,EACDuF,GACCD,GAAW/B,EAAS+C,KAAMjB,IAAcyB,GAAaxB,EAAQyB,aAAgBzB,GAExEC,GAMRpG,EAAQoN,WAAalM,EAAQ6H,MAAM,IAAIsE,KAAM1L,GAAY+F,KAAK,MAAQxG,EAItElB,EAAQmN,mBAAqB1M,EAG7BC,IAIAV,EAAQgM,aAAexD,GAAO,SAAUC,GAEvC,MAA0E,GAAnEA,EAAGmD,wBAAyBjL,EAAS+H,cAAc,eAMrDF,GAAO,SAAUC,GAEtB,MADAA,GAAG2C,UAAY,mBAC+B,MAAvC3C,EAAG+E,WAAWlG,aAAa,WAElCsB,GAAW,yBAA0B,SAAUrG,EAAMiH,EAAMrJ,GAC1D,IAAMA,EACL,MAAOoC,GAAK+E,aAAckC,EAA6B,SAAvBA,EAAKnC,cAA2B,EAAI,KAOjErH,EAAQ6C,YAAe2F,GAAO,SAAUC,GAG7C,MAFAA,GAAG2C,UAAY,WACf3C,EAAG+E,WAAWhG,aAAc,QAAS,IACY,KAA1CiB,EAAG+E,WAAWlG,aAAc,YAEnCsB,GAAW,QAAS,SAAUrG,EAAMiH,EAAMrJ,GACzC,IAAMA,GAAyC,UAAhCoC,EAAK6E,SAASC,cAC5B,MAAO9E,GAAK+S,eAOT9M,GAAO,SAAUC,GACtB,MAAsC,OAA/BA,EAAGnB,aAAa,eAEvBsB,GAAWlG,EAAU,SAAUH,EAAMiH,EAAMrJ,GAC1C,GAAIsM,EACJ,KAAMtM,EACL,MAAOoC,GAAMiH,MAAW,EAAOA,EAAKnC,eACjCoF,EAAMlK,EAAKyI,iBAAkBxB,KAAWiD,EAAIE,UAC7CF,EAAItE,MACL,MAMJ,IAAIoN,IAAUzV,EAAOmG,MAErBA,IAAOuP,WAAa,WAKnB,MAJK1V,GAAOmG,SAAWA,KACtBnG,EAAOmG,OAASsP,IAGVtP,IAGe,kBAAXwP,SAAyBA,OAAOC,IAC3CD,OAAO,WAAa,MAAOxP,MAEE,mBAAX0P,SAA0BA,OAAOC,QACnDD,OAAOC,QAAU3P,GAEjBnG,EAAOmG,OAASA,IAIbnG","file":"sizzle.min.js"}
\ No newline at end of file
diff --git a/public/bower_components/jquery/src/.eslintrc.json b/public/bower_components/jquery/src/.eslintrc.json
new file mode 100644
index 0000000..3a4a3d2
--- /dev/null
+++ b/public/bower_components/jquery/src/.eslintrc.json
@@ -0,0 +1,5 @@
+{
+	"root": true,
+
+	"extends": "../.eslintrc-browser.json"
+}
diff --git a/public/bower_components/jquery/src/ajax.js b/public/bower_components/jquery/src/ajax.js
new file mode 100644
index 0000000..aec2683
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax.js
@@ -0,0 +1,856 @@
+define( [
+	"./core",
+	"./var/document",
+	"./var/isFunction",
+	"./var/rnothtmlwhite",
+	"./ajax/var/location",
+	"./ajax/var/nonce",
+	"./ajax/var/rquery",
+
+	"./core/init",
+	"./ajax/parseXML",
+	"./event/trigger",
+	"./deferred",
+	"./serialize" // jQuery.param
+], function( jQuery, document, isFunction, rnothtmlwhite, location, nonce, rquery ) {
+
+"use strict";
+
+var
+	r20 = /%20/g,
+	rhash = /#.*$/,
+	rantiCache = /([?&])_=[^&]*/,
+	rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
+
+	// #7653, #8125, #8152: local protocol detection
+	rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
+	rnoContent = /^(?:GET|HEAD)$/,
+	rprotocol = /^\/\//,
+
+	/* Prefilters
+	 * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
+	 * 2) These are called:
+	 *    - BEFORE asking for a transport
+	 *    - AFTER param serialization (s.data is a string if s.processData is true)
+	 * 3) key is the dataType
+	 * 4) the catchall symbol "*" can be used
+	 * 5) execution will start with transport dataType and THEN continue down to "*" if needed
+	 */
+	prefilters = {},
+
+	/* Transports bindings
+	 * 1) key is the dataType
+	 * 2) the catchall symbol "*" can be used
+	 * 3) selection will start with transport dataType and THEN go to "*" if needed
+	 */
+	transports = {},
+
+	// Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
+	allTypes = "*/".concat( "*" ),
+
+	// Anchor tag for parsing the document origin
+	originAnchor = document.createElement( "a" );
+	originAnchor.href = location.href;
+
+// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
+function addToPrefiltersOrTransports( structure ) {
+
+	// dataTypeExpression is optional and defaults to "*"
+	return function( dataTypeExpression, func ) {
+
+		if ( typeof dataTypeExpression !== "string" ) {
+			func = dataTypeExpression;
+			dataTypeExpression = "*";
+		}
+
+		var dataType,
+			i = 0,
+			dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
+
+		if ( isFunction( func ) ) {
+
+			// For each dataType in the dataTypeExpression
+			while ( ( dataType = dataTypes[ i++ ] ) ) {
+
+				// Prepend if requested
+				if ( dataType[ 0 ] === "+" ) {
+					dataType = dataType.slice( 1 ) || "*";
+					( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
+
+				// Otherwise append
+				} else {
+					( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
+				}
+			}
+		}
+	};
+}
+
+// Base inspection function for prefilters and transports
+function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
+
+	var inspected = {},
+		seekingTransport = ( structure === transports );
+
+	function inspect( dataType ) {
+		var selected;
+		inspected[ dataType ] = true;
+		jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
+			var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
+			if ( typeof dataTypeOrTransport === "string" &&
+				!seekingTransport && !inspected[ dataTypeOrTransport ] ) {
+
+				options.dataTypes.unshift( dataTypeOrTransport );
+				inspect( dataTypeOrTransport );
+				return false;
+			} else if ( seekingTransport ) {
+				return !( selected = dataTypeOrTransport );
+			}
+		} );
+		return selected;
+	}
+
+	return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
+}
+
+// A special extend for ajax options
+// that takes "flat" options (not to be deep extended)
+// Fixes #9887
+function ajaxExtend( target, src ) {
+	var key, deep,
+		flatOptions = jQuery.ajaxSettings.flatOptions || {};
+
+	for ( key in src ) {
+		if ( src[ key ] !== undefined ) {
+			( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
+		}
+	}
+	if ( deep ) {
+		jQuery.extend( true, target, deep );
+	}
+
+	return target;
+}
+
+/* Handles responses to an ajax request:
+ * - finds the right dataType (mediates between content-type and expected dataType)
+ * - returns the corresponding response
+ */
+function ajaxHandleResponses( s, jqXHR, responses ) {
+
+	var ct, type, finalDataType, firstDataType,
+		contents = s.contents,
+		dataTypes = s.dataTypes;
+
+	// Remove auto dataType and get content-type in the process
+	while ( dataTypes[ 0 ] === "*" ) {
+		dataTypes.shift();
+		if ( ct === undefined ) {
+			ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
+		}
+	}
+
+	// Check if we're dealing with a known content-type
+	if ( ct ) {
+		for ( type in contents ) {
+			if ( contents[ type ] && contents[ type ].test( ct ) ) {
+				dataTypes.unshift( type );
+				break;
+			}
+		}
+	}
+
+	// Check to see if we have a response for the expected dataType
+	if ( dataTypes[ 0 ] in responses ) {
+		finalDataType = dataTypes[ 0 ];
+	} else {
+
+		// Try convertible dataTypes
+		for ( type in responses ) {
+			if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
+				finalDataType = type;
+				break;
+			}
+			if ( !firstDataType ) {
+				firstDataType = type;
+			}
+		}
+
+		// Or just use first one
+		finalDataType = finalDataType || firstDataType;
+	}
+
+	// If we found a dataType
+	// We add the dataType to the list if needed
+	// and return the corresponding response
+	if ( finalDataType ) {
+		if ( finalDataType !== dataTypes[ 0 ] ) {
+			dataTypes.unshift( finalDataType );
+		}
+		return responses[ finalDataType ];
+	}
+}
+
+/* Chain conversions given the request and the original response
+ * Also sets the responseXXX fields on the jqXHR instance
+ */
+function ajaxConvert( s, response, jqXHR, isSuccess ) {
+	var conv2, current, conv, tmp, prev,
+		converters = {},
+
+		// Work with a copy of dataTypes in case we need to modify it for conversion
+		dataTypes = s.dataTypes.slice();
+
+	// Create converters map with lowercased keys
+	if ( dataTypes[ 1 ] ) {
+		for ( conv in s.converters ) {
+			converters[ conv.toLowerCase() ] = s.converters[ conv ];
+		}
+	}
+
+	current = dataTypes.shift();
+
+	// Convert to each sequential dataType
+	while ( current ) {
+
+		if ( s.responseFields[ current ] ) {
+			jqXHR[ s.responseFields[ current ] ] = response;
+		}
+
+		// Apply the dataFilter if provided
+		if ( !prev && isSuccess && s.dataFilter ) {
+			response = s.dataFilter( response, s.dataType );
+		}
+
+		prev = current;
+		current = dataTypes.shift();
+
+		if ( current ) {
+
+			// There's only work to do if current dataType is non-auto
+			if ( current === "*" ) {
+
+				current = prev;
+
+			// Convert response if prev dataType is non-auto and differs from current
+			} else if ( prev !== "*" && prev !== current ) {
+
+				// Seek a direct converter
+				conv = converters[ prev + " " + current ] || converters[ "* " + current ];
+
+				// If none found, seek a pair
+				if ( !conv ) {
+					for ( conv2 in converters ) {
+
+						// If conv2 outputs current
+						tmp = conv2.split( " " );
+						if ( tmp[ 1 ] === current ) {
+
+							// If prev can be converted to accepted input
+							conv = converters[ prev + " " + tmp[ 0 ] ] ||
+								converters[ "* " + tmp[ 0 ] ];
+							if ( conv ) {
+
+								// Condense equivalence converters
+								if ( conv === true ) {
+									conv = converters[ conv2 ];
+
+								// Otherwise, insert the intermediate dataType
+								} else if ( converters[ conv2 ] !== true ) {
+									current = tmp[ 0 ];
+									dataTypes.unshift( tmp[ 1 ] );
+								}
+								break;
+							}
+						}
+					}
+				}
+
+				// Apply converter (if not an equivalence)
+				if ( conv !== true ) {
+
+					// Unless errors are allowed to bubble, catch and return them
+					if ( conv && s.throws ) {
+						response = conv( response );
+					} else {
+						try {
+							response = conv( response );
+						} catch ( e ) {
+							return {
+								state: "parsererror",
+								error: conv ? e : "No conversion from " + prev + " to " + current
+							};
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return { state: "success", data: response };
+}
+
+jQuery.extend( {
+
+	// Counter for holding the number of active queries
+	active: 0,
+
+	// Last-Modified header cache for next request
+	lastModified: {},
+	etag: {},
+
+	ajaxSettings: {
+		url: location.href,
+		type: "GET",
+		isLocal: rlocalProtocol.test( location.protocol ),
+		global: true,
+		processData: true,
+		async: true,
+		contentType: "application/x-www-form-urlencoded; charset=UTF-8",
+
+		/*
+		timeout: 0,
+		data: null,
+		dataType: null,
+		username: null,
+		password: null,
+		cache: null,
+		throws: false,
+		traditional: false,
+		headers: {},
+		*/
+
+		accepts: {
+			"*": allTypes,
+			text: "text/plain",
+			html: "text/html",
+			xml: "application/xml, text/xml",
+			json: "application/json, text/javascript"
+		},
+
+		contents: {
+			xml: /\bxml\b/,
+			html: /\bhtml/,
+			json: /\bjson\b/
+		},
+
+		responseFields: {
+			xml: "responseXML",
+			text: "responseText",
+			json: "responseJSON"
+		},
+
+		// Data converters
+		// Keys separate source (or catchall "*") and destination types with a single space
+		converters: {
+
+			// Convert anything to text
+			"* text": String,
+
+			// Text to html (true = no transformation)
+			"text html": true,
+
+			// Evaluate text as a json expression
+			"text json": JSON.parse,
+
+			// Parse text as xml
+			"text xml": jQuery.parseXML
+		},
+
+		// For options that shouldn't be deep extended:
+		// you can add your own custom options here if
+		// and when you create one that shouldn't be
+		// deep extended (see ajaxExtend)
+		flatOptions: {
+			url: true,
+			context: true
+		}
+	},
+
+	// Creates a full fledged settings object into target
+	// with both ajaxSettings and settings fields.
+	// If target is omitted, writes into ajaxSettings.
+	ajaxSetup: function( target, settings ) {
+		return settings ?
+
+			// Building a settings object
+			ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
+
+			// Extending ajaxSettings
+			ajaxExtend( jQuery.ajaxSettings, target );
+	},
+
+	ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
+	ajaxTransport: addToPrefiltersOrTransports( transports ),
+
+	// Main method
+	ajax: function( url, options ) {
+
+		// If url is an object, simulate pre-1.5 signature
+		if ( typeof url === "object" ) {
+			options = url;
+			url = undefined;
+		}
+
+		// Force options to be an object
+		options = options || {};
+
+		var transport,
+
+			// URL without anti-cache param
+			cacheURL,
+
+			// Response headers
+			responseHeadersString,
+			responseHeaders,
+
+			// timeout handle
+			timeoutTimer,
+
+			// Url cleanup var
+			urlAnchor,
+
+			// Request state (becomes false upon send and true upon completion)
+			completed,
+
+			// To know if global events are to be dispatched
+			fireGlobals,
+
+			// Loop variable
+			i,
+
+			// uncached part of the url
+			uncached,
+
+			// Create the final options object
+			s = jQuery.ajaxSetup( {}, options ),
+
+			// Callbacks context
+			callbackContext = s.context || s,
+
+			// Context for global events is callbackContext if it is a DOM node or jQuery collection
+			globalEventContext = s.context &&
+				( callbackContext.nodeType || callbackContext.jquery ) ?
+					jQuery( callbackContext ) :
+					jQuery.event,
+
+			// Deferreds
+			deferred = jQuery.Deferred(),
+			completeDeferred = jQuery.Callbacks( "once memory" ),
+
+			// Status-dependent callbacks
+			statusCode = s.statusCode || {},
+
+			// Headers (they are sent all at once)
+			requestHeaders = {},
+			requestHeadersNames = {},
+
+			// Default abort message
+			strAbort = "canceled",
+
+			// Fake xhr
+			jqXHR = {
+				readyState: 0,
+
+				// Builds headers hashtable if needed
+				getResponseHeader: function( key ) {
+					var match;
+					if ( completed ) {
+						if ( !responseHeaders ) {
+							responseHeaders = {};
+							while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
+								responseHeaders[ match[ 1 ].toLowerCase() ] = match[ 2 ];
+							}
+						}
+						match = responseHeaders[ key.toLowerCase() ];
+					}
+					return match == null ? null : match;
+				},
+
+				// Raw string
+				getAllResponseHeaders: function() {
+					return completed ? responseHeadersString : null;
+				},
+
+				// Caches the header
+				setRequestHeader: function( name, value ) {
+					if ( completed == null ) {
+						name = requestHeadersNames[ name.toLowerCase() ] =
+							requestHeadersNames[ name.toLowerCase() ] || name;
+						requestHeaders[ name ] = value;
+					}
+					return this;
+				},
+
+				// Overrides response content-type header
+				overrideMimeType: function( type ) {
+					if ( completed == null ) {
+						s.mimeType = type;
+					}
+					return this;
+				},
+
+				// Status-dependent callbacks
+				statusCode: function( map ) {
+					var code;
+					if ( map ) {
+						if ( completed ) {
+
+							// Execute the appropriate callbacks
+							jqXHR.always( map[ jqXHR.status ] );
+						} else {
+
+							// Lazy-add the new callbacks in a way that preserves old ones
+							for ( code in map ) {
+								statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
+							}
+						}
+					}
+					return this;
+				},
+
+				// Cancel the request
+				abort: function( statusText ) {
+					var finalText = statusText || strAbort;
+					if ( transport ) {
+						transport.abort( finalText );
+					}
+					done( 0, finalText );
+					return this;
+				}
+			};
+
+		// Attach deferreds
+		deferred.promise( jqXHR );
+
+		// Add protocol if not provided (prefilters might expect it)
+		// Handle falsy url in the settings object (#10093: consistency with old signature)
+		// We also use the url parameter if available
+		s.url = ( ( url || s.url || location.href ) + "" )
+			.replace( rprotocol, location.protocol + "//" );
+
+		// Alias method option to type as per ticket #12004
+		s.type = options.method || options.type || s.method || s.type;
+
+		// Extract dataTypes list
+		s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
+
+		// A cross-domain request is in order when the origin doesn't match the current origin.
+		if ( s.crossDomain == null ) {
+			urlAnchor = document.createElement( "a" );
+
+			// Support: IE <=8 - 11, Edge 12 - 15
+			// IE throws exception on accessing the href property if url is malformed,
+			// e.g. http://example.com:80x/
+			try {
+				urlAnchor.href = s.url;
+
+				// Support: IE <=8 - 11 only
+				// Anchor's host property isn't correctly set when s.url is relative
+				urlAnchor.href = urlAnchor.href;
+				s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
+					urlAnchor.protocol + "//" + urlAnchor.host;
+			} catch ( e ) {
+
+				// If there is an error parsing the URL, assume it is crossDomain,
+				// it can be rejected by the transport if it is invalid
+				s.crossDomain = true;
+			}
+		}
+
+		// Convert data if not already a string
+		if ( s.data && s.processData && typeof s.data !== "string" ) {
+			s.data = jQuery.param( s.data, s.traditional );
+		}
+
+		// Apply prefilters
+		inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
+
+		// If request was aborted inside a prefilter, stop there
+		if ( completed ) {
+			return jqXHR;
+		}
+
+		// We can fire global events as of now if asked to
+		// Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
+		fireGlobals = jQuery.event && s.global;
+
+		// Watch for a new set of requests
+		if ( fireGlobals && jQuery.active++ === 0 ) {
+			jQuery.event.trigger( "ajaxStart" );
+		}
+
+		// Uppercase the type
+		s.type = s.type.toUpperCase();
+
+		// Determine if request has content
+		s.hasContent = !rnoContent.test( s.type );
+
+		// Save the URL in case we're toying with the If-Modified-Since
+		// and/or If-None-Match header later on
+		// Remove hash to simplify url manipulation
+		cacheURL = s.url.replace( rhash, "" );
+
+		// More options handling for requests with no content
+		if ( !s.hasContent ) {
+
+			// Remember the hash so we can put it back
+			uncached = s.url.slice( cacheURL.length );
+
+			// If data is available and should be processed, append data to url
+			if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
+				cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
+
+				// #9682: remove data so that it's not used in an eventual retry
+				delete s.data;
+			}
+
+			// Add or update anti-cache param if needed
+			if ( s.cache === false ) {
+				cacheURL = cacheURL.replace( rantiCache, "$1" );
+				uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce++ ) + uncached;
+			}
+
+			// Put hash and anti-cache on the URL that will be requested (gh-1732)
+			s.url = cacheURL + uncached;
+
+		// Change '%20' to '+' if this is encoded form body content (gh-2658)
+		} else if ( s.data && s.processData &&
+			( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
+			s.data = s.data.replace( r20, "+" );
+		}
+
+		// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+		if ( s.ifModified ) {
+			if ( jQuery.lastModified[ cacheURL ] ) {
+				jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
+			}
+			if ( jQuery.etag[ cacheURL ] ) {
+				jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
+			}
+		}
+
+		// Set the correct header, if data is being sent
+		if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
+			jqXHR.setRequestHeader( "Content-Type", s.contentType );
+		}
+
+		// Set the Accepts header for the server, depending on the dataType
+		jqXHR.setRequestHeader(
+			"Accept",
+			s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
+				s.accepts[ s.dataTypes[ 0 ] ] +
+					( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
+				s.accepts[ "*" ]
+		);
+
+		// Check for headers option
+		for ( i in s.headers ) {
+			jqXHR.setRequestHeader( i, s.headers[ i ] );
+		}
+
+		// Allow custom headers/mimetypes and early abort
+		if ( s.beforeSend &&
+			( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
+
+			// Abort if not done already and return
+			return jqXHR.abort();
+		}
+
+		// Aborting is no longer a cancellation
+		strAbort = "abort";
+
+		// Install callbacks on deferreds
+		completeDeferred.add( s.complete );
+		jqXHR.done( s.success );
+		jqXHR.fail( s.error );
+
+		// Get transport
+		transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
+
+		// If no transport, we auto-abort
+		if ( !transport ) {
+			done( -1, "No Transport" );
+		} else {
+			jqXHR.readyState = 1;
+
+			// Send global event
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
+			}
+
+			// If request was aborted inside ajaxSend, stop there
+			if ( completed ) {
+				return jqXHR;
+			}
+
+			// Timeout
+			if ( s.async && s.timeout > 0 ) {
+				timeoutTimer = window.setTimeout( function() {
+					jqXHR.abort( "timeout" );
+				}, s.timeout );
+			}
+
+			try {
+				completed = false;
+				transport.send( requestHeaders, done );
+			} catch ( e ) {
+
+				// Rethrow post-completion exceptions
+				if ( completed ) {
+					throw e;
+				}
+
+				// Propagate others as results
+				done( -1, e );
+			}
+		}
+
+		// Callback for when everything is done
+		function done( status, nativeStatusText, responses, headers ) {
+			var isSuccess, success, error, response, modified,
+				statusText = nativeStatusText;
+
+			// Ignore repeat invocations
+			if ( completed ) {
+				return;
+			}
+
+			completed = true;
+
+			// Clear timeout if it exists
+			if ( timeoutTimer ) {
+				window.clearTimeout( timeoutTimer );
+			}
+
+			// Dereference transport for early garbage collection
+			// (no matter how long the jqXHR object will be used)
+			transport = undefined;
+
+			// Cache response headers
+			responseHeadersString = headers || "";
+
+			// Set readyState
+			jqXHR.readyState = status > 0 ? 4 : 0;
+
+			// Determine if successful
+			isSuccess = status >= 200 && status < 300 || status === 304;
+
+			// Get response data
+			if ( responses ) {
+				response = ajaxHandleResponses( s, jqXHR, responses );
+			}
+
+			// Convert no matter what (that way responseXXX fields are always set)
+			response = ajaxConvert( s, response, jqXHR, isSuccess );
+
+			// If successful, handle type chaining
+			if ( isSuccess ) {
+
+				// Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+				if ( s.ifModified ) {
+					modified = jqXHR.getResponseHeader( "Last-Modified" );
+					if ( modified ) {
+						jQuery.lastModified[ cacheURL ] = modified;
+					}
+					modified = jqXHR.getResponseHeader( "etag" );
+					if ( modified ) {
+						jQuery.etag[ cacheURL ] = modified;
+					}
+				}
+
+				// if no content
+				if ( status === 204 || s.type === "HEAD" ) {
+					statusText = "nocontent";
+
+				// if not modified
+				} else if ( status === 304 ) {
+					statusText = "notmodified";
+
+				// If we have data, let's convert it
+				} else {
+					statusText = response.state;
+					success = response.data;
+					error = response.error;
+					isSuccess = !error;
+				}
+			} else {
+
+				// Extract error from statusText and normalize for non-aborts
+				error = statusText;
+				if ( status || !statusText ) {
+					statusText = "error";
+					if ( status < 0 ) {
+						status = 0;
+					}
+				}
+			}
+
+			// Set data for the fake xhr object
+			jqXHR.status = status;
+			jqXHR.statusText = ( nativeStatusText || statusText ) + "";
+
+			// Success/Error
+			if ( isSuccess ) {
+				deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
+			} else {
+				deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
+			}
+
+			// Status-dependent callbacks
+			jqXHR.statusCode( statusCode );
+			statusCode = undefined;
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
+					[ jqXHR, s, isSuccess ? success : error ] );
+			}
+
+			// Complete
+			completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
+
+			if ( fireGlobals ) {
+				globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
+
+				// Handle the global AJAX counter
+				if ( !( --jQuery.active ) ) {
+					jQuery.event.trigger( "ajaxStop" );
+				}
+			}
+		}
+
+		return jqXHR;
+	},
+
+	getJSON: function( url, data, callback ) {
+		return jQuery.get( url, data, callback, "json" );
+	},
+
+	getScript: function( url, callback ) {
+		return jQuery.get( url, undefined, callback, "script" );
+	}
+} );
+
+jQuery.each( [ "get", "post" ], function( i, method ) {
+	jQuery[ method ] = function( url, data, callback, type ) {
+
+		// Shift arguments if data argument was omitted
+		if ( isFunction( data ) ) {
+			type = type || callback;
+			callback = data;
+			data = undefined;
+		}
+
+		// The url can be an options object (which then must have .url)
+		return jQuery.ajax( jQuery.extend( {
+			url: url,
+			type: method,
+			dataType: type,
+			data: data,
+			success: callback
+		}, jQuery.isPlainObject( url ) && url ) );
+	};
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/ajax/jsonp.js b/public/bower_components/jquery/src/ajax/jsonp.js
new file mode 100644
index 0000000..28ae036
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/jsonp.js
@@ -0,0 +1,103 @@
+define( [
+	"../core",
+	"../var/isFunction",
+	"./var/nonce",
+	"./var/rquery",
+	"../ajax"
+], function( jQuery, isFunction, nonce, rquery ) {
+
+"use strict";
+
+var oldCallbacks = [],
+	rjsonp = /(=)\?(?=&|$)|\?\?/;
+
+// Default jsonp settings
+jQuery.ajaxSetup( {
+	jsonp: "callback",
+	jsonpCallback: function() {
+		var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) );
+		this[ callback ] = true;
+		return callback;
+	}
+} );
+
+// Detect, normalize options and install callbacks for jsonp requests
+jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) {
+
+	var callbackName, overwritten, responseContainer,
+		jsonProp = s.jsonp !== false && ( rjsonp.test( s.url ) ?
+			"url" :
+			typeof s.data === "string" &&
+				( s.contentType || "" )
+					.indexOf( "application/x-www-form-urlencoded" ) === 0 &&
+				rjsonp.test( s.data ) && "data"
+		);
+
+	// Handle iff the expected data type is "jsonp" or we have a parameter to set
+	if ( jsonProp || s.dataTypes[ 0 ] === "jsonp" ) {
+
+		// Get callback name, remembering preexisting value associated with it
+		callbackName = s.jsonpCallback = isFunction( s.jsonpCallback ) ?
+			s.jsonpCallback() :
+			s.jsonpCallback;
+
+		// Insert callback into url or form data
+		if ( jsonProp ) {
+			s[ jsonProp ] = s[ jsonProp ].replace( rjsonp, "$1" + callbackName );
+		} else if ( s.jsonp !== false ) {
+			s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName;
+		}
+
+		// Use data converter to retrieve json after script execution
+		s.converters[ "script json" ] = function() {
+			if ( !responseContainer ) {
+				jQuery.error( callbackName + " was not called" );
+			}
+			return responseContainer[ 0 ];
+		};
+
+		// Force json dataType
+		s.dataTypes[ 0 ] = "json";
+
+		// Install callback
+		overwritten = window[ callbackName ];
+		window[ callbackName ] = function() {
+			responseContainer = arguments;
+		};
+
+		// Clean-up function (fires after converters)
+		jqXHR.always( function() {
+
+			// If previous value didn't exist - remove it
+			if ( overwritten === undefined ) {
+				jQuery( window ).removeProp( callbackName );
+
+			// Otherwise restore preexisting value
+			} else {
+				window[ callbackName ] = overwritten;
+			}
+
+			// Save back as free
+			if ( s[ callbackName ] ) {
+
+				// Make sure that re-using the options doesn't screw things around
+				s.jsonpCallback = originalSettings.jsonpCallback;
+
+				// Save the callback name for future use
+				oldCallbacks.push( callbackName );
+			}
+
+			// Call if it was a function and we have a response
+			if ( responseContainer && isFunction( overwritten ) ) {
+				overwritten( responseContainer[ 0 ] );
+			}
+
+			responseContainer = overwritten = undefined;
+		} );
+
+		// Delegate to script
+		return "script";
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/ajax/load.js b/public/bower_components/jquery/src/ajax/load.js
new file mode 100644
index 0000000..defdb01
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/load.js
@@ -0,0 +1,77 @@
+define( [
+	"../core",
+	"../core/stripAndCollapse",
+	"../var/isFunction",
+	"../core/parseHTML",
+	"../ajax",
+	"../traversing",
+	"../manipulation",
+	"../selector"
+], function( jQuery, stripAndCollapse, isFunction ) {
+
+"use strict";
+
+/**
+ * Load a url into a page
+ */
+jQuery.fn.load = function( url, params, callback ) {
+	var selector, type, response,
+		self = this,
+		off = url.indexOf( " " );
+
+	if ( off > -1 ) {
+		selector = stripAndCollapse( url.slice( off ) );
+		url = url.slice( 0, off );
+	}
+
+	// If it's a function
+	if ( isFunction( params ) ) {
+
+		// We assume that it's the callback
+		callback = params;
+		params = undefined;
+
+	// Otherwise, build a param string
+	} else if ( params && typeof params === "object" ) {
+		type = "POST";
+	}
+
+	// If we have elements to modify, make the request
+	if ( self.length > 0 ) {
+		jQuery.ajax( {
+			url: url,
+
+			// If "type" variable is undefined, then "GET" method will be used.
+			// Make value of this field explicit since
+			// user can override it through ajaxSetup method
+			type: type || "GET",
+			dataType: "html",
+			data: params
+		} ).done( function( responseText ) {
+
+			// Save response for use in complete callback
+			response = arguments;
+
+			self.html( selector ?
+
+				// If a selector was specified, locate the right elements in a dummy div
+				// Exclude scripts to avoid IE 'Permission Denied' errors
+				jQuery( "<div>" ).append( jQuery.parseHTML( responseText ) ).find( selector ) :
+
+				// Otherwise use the full result
+				responseText );
+
+		// If the request succeeds, this function gets "data", "status", "jqXHR"
+		// but they are ignored because response was set above.
+		// If it fails, this function gets "jqXHR", "status", "error"
+		} ).always( callback && function( jqXHR, status ) {
+			self.each( function() {
+				callback.apply( this, response || [ jqXHR.responseText, status, jqXHR ] );
+			} );
+		} );
+	}
+
+	return this;
+};
+
+} );
diff --git a/public/bower_components/jquery/src/ajax/parseXML.js b/public/bower_components/jquery/src/ajax/parseXML.js
new file mode 100644
index 0000000..acf7ab2
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/parseXML.js
@@ -0,0 +1,30 @@
+define( [
+	"../core"
+], function( jQuery ) {
+
+"use strict";
+
+// Cross-browser xml parsing
+jQuery.parseXML = function( data ) {
+	var xml;
+	if ( !data || typeof data !== "string" ) {
+		return null;
+	}
+
+	// Support: IE 9 - 11 only
+	// IE throws on parseFromString with invalid input.
+	try {
+		xml = ( new window.DOMParser() ).parseFromString( data, "text/xml" );
+	} catch ( e ) {
+		xml = undefined;
+	}
+
+	if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+		jQuery.error( "Invalid XML: " + data );
+	}
+	return xml;
+};
+
+return jQuery.parseXML;
+
+} );
diff --git a/public/bower_components/jquery/src/ajax/script.js b/public/bower_components/jquery/src/ajax/script.js
new file mode 100644
index 0000000..6e0d21e
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/script.js
@@ -0,0 +1,77 @@
+define( [
+	"../core",
+	"../var/document",
+	"../ajax"
+], function( jQuery, document ) {
+
+"use strict";
+
+// Prevent auto-execution of scripts when no explicit dataType was provided (See gh-2432)
+jQuery.ajaxPrefilter( function( s ) {
+	if ( s.crossDomain ) {
+		s.contents.script = false;
+	}
+} );
+
+// Install script dataType
+jQuery.ajaxSetup( {
+	accepts: {
+		script: "text/javascript, application/javascript, " +
+			"application/ecmascript, application/x-ecmascript"
+	},
+	contents: {
+		script: /\b(?:java|ecma)script\b/
+	},
+	converters: {
+		"text script": function( text ) {
+			jQuery.globalEval( text );
+			return text;
+		}
+	}
+} );
+
+// Handle cache's special case and crossDomain
+jQuery.ajaxPrefilter( "script", function( s ) {
+	if ( s.cache === undefined ) {
+		s.cache = false;
+	}
+	if ( s.crossDomain ) {
+		s.type = "GET";
+	}
+} );
+
+// Bind script tag hack transport
+jQuery.ajaxTransport( "script", function( s ) {
+
+	// This transport only deals with cross domain requests
+	if ( s.crossDomain ) {
+		var script, callback;
+		return {
+			send: function( _, complete ) {
+				script = jQuery( "<script>" ).prop( {
+					charset: s.scriptCharset,
+					src: s.url
+				} ).on(
+					"load error",
+					callback = function( evt ) {
+						script.remove();
+						callback = null;
+						if ( evt ) {
+							complete( evt.type === "error" ? 404 : 200, evt.type );
+						}
+					}
+				);
+
+				// Use native DOM manipulation to avoid our domManip AJAX trickery
+				document.head.appendChild( script[ 0 ] );
+			},
+			abort: function() {
+				if ( callback ) {
+					callback();
+				}
+			}
+		};
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/ajax/var/location.js b/public/bower_components/jquery/src/ajax/var/location.js
new file mode 100644
index 0000000..4171d18
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/var/location.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return window.location;
+} );
diff --git a/public/bower_components/jquery/src/ajax/var/nonce.js b/public/bower_components/jquery/src/ajax/var/nonce.js
new file mode 100644
index 0000000..33d0cff
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/var/nonce.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return Date.now();
+} );
diff --git a/public/bower_components/jquery/src/ajax/var/rquery.js b/public/bower_components/jquery/src/ajax/var/rquery.js
new file mode 100644
index 0000000..06fc374
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/var/rquery.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /\?/ );
+} );
diff --git a/public/bower_components/jquery/src/ajax/xhr.js b/public/bower_components/jquery/src/ajax/xhr.js
new file mode 100644
index 0000000..4a31171
--- /dev/null
+++ b/public/bower_components/jquery/src/ajax/xhr.js
@@ -0,0 +1,170 @@
+define( [
+	"../core",
+	"../var/support",
+	"../ajax"
+], function( jQuery, support ) {
+
+"use strict";
+
+jQuery.ajaxSettings.xhr = function() {
+	try {
+		return new window.XMLHttpRequest();
+	} catch ( e ) {}
+};
+
+var xhrSuccessStatus = {
+
+		// File protocol always yields status code 0, assume 200
+		0: 200,
+
+		// Support: IE <=9 only
+		// #1450: sometimes IE returns 1223 when it should be 204
+		1223: 204
+	},
+	xhrSupported = jQuery.ajaxSettings.xhr();
+
+support.cors = !!xhrSupported && ( "withCredentials" in xhrSupported );
+support.ajax = xhrSupported = !!xhrSupported;
+
+jQuery.ajaxTransport( function( options ) {
+	var callback, errorCallback;
+
+	// Cross domain only allowed if supported through XMLHttpRequest
+	if ( support.cors || xhrSupported && !options.crossDomain ) {
+		return {
+			send: function( headers, complete ) {
+				var i,
+					xhr = options.xhr();
+
+				xhr.open(
+					options.type,
+					options.url,
+					options.async,
+					options.username,
+					options.password
+				);
+
+				// Apply custom fields if provided
+				if ( options.xhrFields ) {
+					for ( i in options.xhrFields ) {
+						xhr[ i ] = options.xhrFields[ i ];
+					}
+				}
+
+				// Override mime type if needed
+				if ( options.mimeType && xhr.overrideMimeType ) {
+					xhr.overrideMimeType( options.mimeType );
+				}
+
+				// X-Requested-With header
+				// For cross-domain requests, seeing as conditions for a preflight are
+				// akin to a jigsaw puzzle, we simply never set it to be sure.
+				// (it can always be set on a per-request basis or even using ajaxSetup)
+				// For same-domain requests, won't change header if already provided.
+				if ( !options.crossDomain && !headers[ "X-Requested-With" ] ) {
+					headers[ "X-Requested-With" ] = "XMLHttpRequest";
+				}
+
+				// Set headers
+				for ( i in headers ) {
+					xhr.setRequestHeader( i, headers[ i ] );
+				}
+
+				// Callback
+				callback = function( type ) {
+					return function() {
+						if ( callback ) {
+							callback = errorCallback = xhr.onload =
+								xhr.onerror = xhr.onabort = xhr.ontimeout =
+									xhr.onreadystatechange = null;
+
+							if ( type === "abort" ) {
+								xhr.abort();
+							} else if ( type === "error" ) {
+
+								// Support: IE <=9 only
+								// On a manual native abort, IE9 throws
+								// errors on any property access that is not readyState
+								if ( typeof xhr.status !== "number" ) {
+									complete( 0, "error" );
+								} else {
+									complete(
+
+										// File: protocol always yields status 0; see #8605, #14207
+										xhr.status,
+										xhr.statusText
+									);
+								}
+							} else {
+								complete(
+									xhrSuccessStatus[ xhr.status ] || xhr.status,
+									xhr.statusText,
+
+									// Support: IE <=9 only
+									// IE9 has no XHR2 but throws on binary (trac-11426)
+									// For XHR2 non-text, let the caller handle it (gh-2498)
+									( xhr.responseType || "text" ) !== "text"  ||
+									typeof xhr.responseText !== "string" ?
+										{ binary: xhr.response } :
+										{ text: xhr.responseText },
+									xhr.getAllResponseHeaders()
+								);
+							}
+						}
+					};
+				};
+
+				// Listen to events
+				xhr.onload = callback();
+				errorCallback = xhr.onerror = xhr.ontimeout = callback( "error" );
+
+				// Support: IE 9 only
+				// Use onreadystatechange to replace onabort
+				// to handle uncaught aborts
+				if ( xhr.onabort !== undefined ) {
+					xhr.onabort = errorCallback;
+				} else {
+					xhr.onreadystatechange = function() {
+
+						// Check readyState before timeout as it changes
+						if ( xhr.readyState === 4 ) {
+
+							// Allow onerror to be called first,
+							// but that will not handle a native abort
+							// Also, save errorCallback to a variable
+							// as xhr.onerror cannot be accessed
+							window.setTimeout( function() {
+								if ( callback ) {
+									errorCallback();
+								}
+							} );
+						}
+					};
+				}
+
+				// Create the abort callback
+				callback = callback( "abort" );
+
+				try {
+
+					// Do send the request (this may raise an exception)
+					xhr.send( options.hasContent && options.data || null );
+				} catch ( e ) {
+
+					// #14683: Only rethrow if this hasn't been notified as an error yet
+					if ( callback ) {
+						throw e;
+					}
+				}
+			},
+
+			abort: function() {
+				if ( callback ) {
+					callback();
+				}
+			}
+		};
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/attributes.js b/public/bower_components/jquery/src/attributes.js
new file mode 100644
index 0000000..2d801e5
--- /dev/null
+++ b/public/bower_components/jquery/src/attributes.js
@@ -0,0 +1,13 @@
+define( [
+	"./core",
+	"./attributes/attr",
+	"./attributes/prop",
+	"./attributes/classes",
+	"./attributes/val"
+], function( jQuery ) {
+
+"use strict";
+
+// Return jQuery for attributes-only inclusion
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/attributes/attr.js b/public/bower_components/jquery/src/attributes/attr.js
new file mode 100644
index 0000000..6b5cbd2
--- /dev/null
+++ b/public/bower_components/jquery/src/attributes/attr.js
@@ -0,0 +1,141 @@
+define( [
+	"../core",
+	"../core/access",
+	"../core/nodeName",
+	"./support",
+	"../var/rnothtmlwhite",
+	"../selector"
+], function( jQuery, access, nodeName, support, rnothtmlwhite ) {
+
+"use strict";
+
+var boolHook,
+	attrHandle = jQuery.expr.attrHandle;
+
+jQuery.fn.extend( {
+	attr: function( name, value ) {
+		return access( this, jQuery.attr, name, value, arguments.length > 1 );
+	},
+
+	removeAttr: function( name ) {
+		return this.each( function() {
+			jQuery.removeAttr( this, name );
+		} );
+	}
+} );
+
+jQuery.extend( {
+	attr: function( elem, name, value ) {
+		var ret, hooks,
+			nType = elem.nodeType;
+
+		// Don't get/set attributes on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		// Fallback to prop when attributes are not supported
+		if ( typeof elem.getAttribute === "undefined" ) {
+			return jQuery.prop( elem, name, value );
+		}
+
+		// Attribute hooks are determined by the lowercase version
+		// Grab necessary hook if one is defined
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+			hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
+				( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
+		}
+
+		if ( value !== undefined ) {
+			if ( value === null ) {
+				jQuery.removeAttr( elem, name );
+				return;
+			}
+
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			elem.setAttribute( name, value + "" );
+			return value;
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		ret = jQuery.find.attr( elem, name );
+
+		// Non-existent attributes return null, we normalize to undefined
+		return ret == null ? undefined : ret;
+	},
+
+	attrHooks: {
+		type: {
+			set: function( elem, value ) {
+				if ( !support.radioValue && value === "radio" &&
+					nodeName( elem, "input" ) ) {
+					var val = elem.value;
+					elem.setAttribute( "type", value );
+					if ( val ) {
+						elem.value = val;
+					}
+					return value;
+				}
+			}
+		}
+	},
+
+	removeAttr: function( elem, value ) {
+		var name,
+			i = 0,
+
+			// Attribute names can contain non-HTML whitespace characters
+			// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
+			attrNames = value && value.match( rnothtmlwhite );
+
+		if ( attrNames && elem.nodeType === 1 ) {
+			while ( ( name = attrNames[ i++ ] ) ) {
+				elem.removeAttribute( name );
+			}
+		}
+	}
+} );
+
+// Hooks for boolean attributes
+boolHook = {
+	set: function( elem, value, name ) {
+		if ( value === false ) {
+
+			// Remove boolean attributes when set to false
+			jQuery.removeAttr( elem, name );
+		} else {
+			elem.setAttribute( name, name );
+		}
+		return name;
+	}
+};
+
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+	var getter = attrHandle[ name ] || jQuery.find.attr;
+
+	attrHandle[ name ] = function( elem, name, isXML ) {
+		var ret, handle,
+			lowercaseName = name.toLowerCase();
+
+		if ( !isXML ) {
+
+			// Avoid an infinite loop by temporarily removing this function from the getter
+			handle = attrHandle[ lowercaseName ];
+			attrHandle[ lowercaseName ] = ret;
+			ret = getter( elem, name, isXML ) != null ?
+				lowercaseName :
+				null;
+			attrHandle[ lowercaseName ] = handle;
+		}
+		return ret;
+	};
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/attributes/classes.js b/public/bower_components/jquery/src/attributes/classes.js
new file mode 100644
index 0000000..0c90a8d
--- /dev/null
+++ b/public/bower_components/jquery/src/attributes/classes.js
@@ -0,0 +1,186 @@
+define( [
+	"../core",
+	"../core/stripAndCollapse",
+	"../var/isFunction",
+	"../var/rnothtmlwhite",
+	"../data/var/dataPriv",
+	"../core/init"
+], function( jQuery, stripAndCollapse, isFunction, rnothtmlwhite, dataPriv ) {
+
+"use strict";
+
+function getClass( elem ) {
+	return elem.getAttribute && elem.getAttribute( "class" ) || "";
+}
+
+function classesToArray( value ) {
+	if ( Array.isArray( value ) ) {
+		return value;
+	}
+	if ( typeof value === "string" ) {
+		return value.match( rnothtmlwhite ) || [];
+	}
+	return [];
+}
+
+jQuery.fn.extend( {
+	addClass: function( value ) {
+		var classes, elem, cur, curValue, clazz, j, finalValue,
+			i = 0;
+
+		if ( isFunction( value ) ) {
+			return this.each( function( j ) {
+				jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
+			} );
+		}
+
+		classes = classesToArray( value );
+
+		if ( classes.length ) {
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+						if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+							cur += clazz + " ";
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	removeClass: function( value ) {
+		var classes, elem, cur, curValue, clazz, j, finalValue,
+			i = 0;
+
+		if ( isFunction( value ) ) {
+			return this.each( function( j ) {
+				jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
+			} );
+		}
+
+		if ( !arguments.length ) {
+			return this.attr( "class", "" );
+		}
+
+		classes = classesToArray( value );
+
+		if ( classes.length ) {
+			while ( ( elem = this[ i++ ] ) ) {
+				curValue = getClass( elem );
+
+				// This expression is here for better compressibility (see addClass)
+				cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
+
+				if ( cur ) {
+					j = 0;
+					while ( ( clazz = classes[ j++ ] ) ) {
+
+						// Remove *all* instances
+						while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
+							cur = cur.replace( " " + clazz + " ", " " );
+						}
+					}
+
+					// Only assign if different to avoid unneeded rendering.
+					finalValue = stripAndCollapse( cur );
+					if ( curValue !== finalValue ) {
+						elem.setAttribute( "class", finalValue );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value,
+			isValidValue = type === "string" || Array.isArray( value );
+
+		if ( typeof stateVal === "boolean" && isValidValue ) {
+			return stateVal ? this.addClass( value ) : this.removeClass( value );
+		}
+
+		if ( isFunction( value ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).toggleClass(
+					value.call( this, i, getClass( this ), stateVal ),
+					stateVal
+				);
+			} );
+		}
+
+		return this.each( function() {
+			var className, i, self, classNames;
+
+			if ( isValidValue ) {
+
+				// Toggle individual class names
+				i = 0;
+				self = jQuery( this );
+				classNames = classesToArray( value );
+
+				while ( ( className = classNames[ i++ ] ) ) {
+
+					// Check each className given, space separated list
+					if ( self.hasClass( className ) ) {
+						self.removeClass( className );
+					} else {
+						self.addClass( className );
+					}
+				}
+
+			// Toggle whole class name
+			} else if ( value === undefined || type === "boolean" ) {
+				className = getClass( this );
+				if ( className ) {
+
+					// Store className if set
+					dataPriv.set( this, "__className__", className );
+				}
+
+				// If the element has a class name or if we're passed `false`,
+				// then remove the whole classname (if there was one, the above saved it).
+				// Otherwise bring back whatever was previously saved (if anything),
+				// falling back to the empty string if nothing was stored.
+				if ( this.setAttribute ) {
+					this.setAttribute( "class",
+						className || value === false ?
+						"" :
+						dataPriv.get( this, "__className__" ) || ""
+					);
+				}
+			}
+		} );
+	},
+
+	hasClass: function( selector ) {
+		var className, elem,
+			i = 0;
+
+		className = " " + selector + " ";
+		while ( ( elem = this[ i++ ] ) ) {
+			if ( elem.nodeType === 1 &&
+				( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
+					return true;
+			}
+		}
+
+		return false;
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/attributes/prop.js b/public/bower_components/jquery/src/attributes/prop.js
new file mode 100644
index 0000000..49ac244
--- /dev/null
+++ b/public/bower_components/jquery/src/attributes/prop.js
@@ -0,0 +1,143 @@
+define( [
+	"../core",
+	"../core/access",
+	"./support",
+	"../selector"
+], function( jQuery, access, support ) {
+
+"use strict";
+
+var rfocusable = /^(?:input|select|textarea|button)$/i,
+	rclickable = /^(?:a|area)$/i;
+
+jQuery.fn.extend( {
+	prop: function( name, value ) {
+		return access( this, jQuery.prop, name, value, arguments.length > 1 );
+	},
+
+	removeProp: function( name ) {
+		return this.each( function() {
+			delete this[ jQuery.propFix[ name ] || name ];
+		} );
+	}
+} );
+
+jQuery.extend( {
+	prop: function( elem, name, value ) {
+		var ret, hooks,
+			nType = elem.nodeType;
+
+		// Don't get/set properties on text, comment and attribute nodes
+		if ( nType === 3 || nType === 8 || nType === 2 ) {
+			return;
+		}
+
+		if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+
+			// Fix name and attach hooks
+			name = jQuery.propFix[ name ] || name;
+			hooks = jQuery.propHooks[ name ];
+		}
+
+		if ( value !== undefined ) {
+			if ( hooks && "set" in hooks &&
+				( ret = hooks.set( elem, value, name ) ) !== undefined ) {
+				return ret;
+			}
+
+			return ( elem[ name ] = value );
+		}
+
+		if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
+			return ret;
+		}
+
+		return elem[ name ];
+	},
+
+	propHooks: {
+		tabIndex: {
+			get: function( elem ) {
+
+				// Support: IE <=9 - 11 only
+				// elem.tabIndex doesn't always return the
+				// correct value when it hasn't been explicitly set
+				// https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
+				// Use proper attribute retrieval(#12072)
+				var tabindex = jQuery.find.attr( elem, "tabindex" );
+
+				if ( tabindex ) {
+					return parseInt( tabindex, 10 );
+				}
+
+				if (
+					rfocusable.test( elem.nodeName ) ||
+					rclickable.test( elem.nodeName ) &&
+					elem.href
+				) {
+					return 0;
+				}
+
+				return -1;
+			}
+		}
+	},
+
+	propFix: {
+		"for": "htmlFor",
+		"class": "className"
+	}
+} );
+
+// Support: IE <=11 only
+// Accessing the selectedIndex property
+// forces the browser to respect setting selected
+// on the option
+// The getter ensures a default option is selected
+// when in an optgroup
+// eslint rule "no-unused-expressions" is disabled for this code
+// since it considers such accessions noop
+if ( !support.optSelected ) {
+	jQuery.propHooks.selected = {
+		get: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent && parent.parentNode ) {
+				parent.parentNode.selectedIndex;
+			}
+			return null;
+		},
+		set: function( elem ) {
+
+			/* eslint no-unused-expressions: "off" */
+
+			var parent = elem.parentNode;
+			if ( parent ) {
+				parent.selectedIndex;
+
+				if ( parent.parentNode ) {
+					parent.parentNode.selectedIndex;
+				}
+			}
+		}
+	};
+}
+
+jQuery.each( [
+	"tabIndex",
+	"readOnly",
+	"maxLength",
+	"cellSpacing",
+	"cellPadding",
+	"rowSpan",
+	"colSpan",
+	"useMap",
+	"frameBorder",
+	"contentEditable"
+], function() {
+	jQuery.propFix[ this.toLowerCase() ] = this;
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/attributes/support.js b/public/bower_components/jquery/src/attributes/support.js
new file mode 100644
index 0000000..af60e96
--- /dev/null
+++ b/public/bower_components/jquery/src/attributes/support.js
@@ -0,0 +1,33 @@
+define( [
+	"../var/document",
+	"../var/support"
+], function( document, support ) {
+
+"use strict";
+
+( function() {
+	var input = document.createElement( "input" ),
+		select = document.createElement( "select" ),
+		opt = select.appendChild( document.createElement( "option" ) );
+
+	input.type = "checkbox";
+
+	// Support: Android <=4.3 only
+	// Default value for a checkbox should be "on"
+	support.checkOn = input.value !== "";
+
+	// Support: IE <=11 only
+	// Must access selectedIndex to make default options select
+	support.optSelected = opt.selected;
+
+	// Support: IE <=11 only
+	// An input loses its value after becoming a radio
+	input = document.createElement( "input" );
+	input.value = "t";
+	input.type = "radio";
+	support.radioValue = input.value === "t";
+} )();
+
+return support;
+
+} );
diff --git a/public/bower_components/jquery/src/attributes/val.js b/public/bower_components/jquery/src/attributes/val.js
new file mode 100644
index 0000000..c719b34
--- /dev/null
+++ b/public/bower_components/jquery/src/attributes/val.js
@@ -0,0 +1,191 @@
+define( [
+	"../core",
+	"../core/stripAndCollapse",
+	"./support",
+	"../core/nodeName",
+	"../var/isFunction",
+
+	"../core/init"
+], function( jQuery, stripAndCollapse, support, nodeName, isFunction ) {
+
+"use strict";
+
+var rreturn = /\r/g;
+
+jQuery.fn.extend( {
+	val: function( value ) {
+		var hooks, ret, valueIsFunction,
+			elem = this[ 0 ];
+
+		if ( !arguments.length ) {
+			if ( elem ) {
+				hooks = jQuery.valHooks[ elem.type ] ||
+					jQuery.valHooks[ elem.nodeName.toLowerCase() ];
+
+				if ( hooks &&
+					"get" in hooks &&
+					( ret = hooks.get( elem, "value" ) ) !== undefined
+				) {
+					return ret;
+				}
+
+				ret = elem.value;
+
+				// Handle most common string cases
+				if ( typeof ret === "string" ) {
+					return ret.replace( rreturn, "" );
+				}
+
+				// Handle cases where value is null/undef or number
+				return ret == null ? "" : ret;
+			}
+
+			return;
+		}
+
+		valueIsFunction = isFunction( value );
+
+		return this.each( function( i ) {
+			var val;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( valueIsFunction ) {
+				val = value.call( this, i, jQuery( this ).val() );
+			} else {
+				val = value;
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+
+			} else if ( typeof val === "number" ) {
+				val += "";
+
+			} else if ( Array.isArray( val ) ) {
+				val = jQuery.map( val, function( value ) {
+					return value == null ? "" : value + "";
+				} );
+			}
+
+			hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ];
+
+			// If set returns undefined, fall back to normal setting
+			if ( !hooks || !( "set" in hooks ) || hooks.set( this, val, "value" ) === undefined ) {
+				this.value = val;
+			}
+		} );
+	}
+} );
+
+jQuery.extend( {
+	valHooks: {
+		option: {
+			get: function( elem ) {
+
+				var val = jQuery.find.attr( elem, "value" );
+				return val != null ?
+					val :
+
+					// Support: IE <=10 - 11 only
+					// option.text throws exceptions (#14686, #14858)
+					// Strip and collapse whitespace
+					// https://html.spec.whatwg.org/#strip-and-collapse-whitespace
+					stripAndCollapse( jQuery.text( elem ) );
+			}
+		},
+		select: {
+			get: function( elem ) {
+				var value, option, i,
+					options = elem.options,
+					index = elem.selectedIndex,
+					one = elem.type === "select-one",
+					values = one ? null : [],
+					max = one ? index + 1 : options.length;
+
+				if ( index < 0 ) {
+					i = max;
+
+				} else {
+					i = one ? index : 0;
+				}
+
+				// Loop through all the selected options
+				for ( ; i < max; i++ ) {
+					option = options[ i ];
+
+					// Support: IE <=9 only
+					// IE8-9 doesn't update selected after form reset (#2551)
+					if ( ( option.selected || i === index ) &&
+
+							// Don't return options that are disabled or in a disabled optgroup
+							!option.disabled &&
+							( !option.parentNode.disabled ||
+								!nodeName( option.parentNode, "optgroup" ) ) ) {
+
+						// Get the specific value for the option
+						value = jQuery( option ).val();
+
+						// We don't need an array for one selects
+						if ( one ) {
+							return value;
+						}
+
+						// Multi-Selects return an array
+						values.push( value );
+					}
+				}
+
+				return values;
+			},
+
+			set: function( elem, value ) {
+				var optionSet, option,
+					options = elem.options,
+					values = jQuery.makeArray( value ),
+					i = options.length;
+
+				while ( i-- ) {
+					option = options[ i ];
+
+					/* eslint-disable no-cond-assign */
+
+					if ( option.selected =
+						jQuery.inArray( jQuery.valHooks.option.get( option ), values ) > -1
+					) {
+						optionSet = true;
+					}
+
+					/* eslint-enable no-cond-assign */
+				}
+
+				// Force browsers to behave consistently when non-matching value is set
+				if ( !optionSet ) {
+					elem.selectedIndex = -1;
+				}
+				return values;
+			}
+		}
+	}
+} );
+
+// Radios and checkboxes getter/setter
+jQuery.each( [ "radio", "checkbox" ], function() {
+	jQuery.valHooks[ this ] = {
+		set: function( elem, value ) {
+			if ( Array.isArray( value ) ) {
+				return ( elem.checked = jQuery.inArray( jQuery( elem ).val(), value ) > -1 );
+			}
+		}
+	};
+	if ( !support.checkOn ) {
+		jQuery.valHooks[ this ].get = function( elem ) {
+			return elem.getAttribute( "value" ) === null ? "on" : elem.value;
+		};
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/callbacks.js b/public/bower_components/jquery/src/callbacks.js
new file mode 100644
index 0000000..6cf5403
--- /dev/null
+++ b/public/bower_components/jquery/src/callbacks.js
@@ -0,0 +1,236 @@
+define( [
+	"./core",
+	"./core/toType",
+	"./var/isFunction",
+	"./var/rnothtmlwhite"
+], function( jQuery, toType, isFunction, rnothtmlwhite ) {
+
+"use strict";
+
+// Convert String-formatted options into Object-formatted ones
+function createOptions( options ) {
+	var object = {};
+	jQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {
+		object[ flag ] = true;
+	} );
+	return object;
+}
+
+/*
+ * Create a callback list using the following parameters:
+ *
+ *	options: an optional list of space-separated options that will change how
+ *			the callback list behaves or a more traditional option object
+ *
+ * By default a callback list will act like an event callback list and can be
+ * "fired" multiple times.
+ *
+ * Possible options:
+ *
+ *	once:			will ensure the callback list can only be fired once (like a Deferred)
+ *
+ *	memory:			will keep track of previous values and will call any callback added
+ *					after the list has been fired right away with the latest "memorized"
+ *					values (like a Deferred)
+ *
+ *	unique:			will ensure a callback can only be added once (no duplicate in the list)
+ *
+ *	stopOnFalse:	interrupt callings when a callback returns false
+ *
+ */
+jQuery.Callbacks = function( options ) {
+
+	// Convert options from String-formatted to Object-formatted if needed
+	// (we check in cache first)
+	options = typeof options === "string" ?
+		createOptions( options ) :
+		jQuery.extend( {}, options );
+
+	var // Flag to know if list is currently firing
+		firing,
+
+		// Last fire value for non-forgettable lists
+		memory,
+
+		// Flag to know if list was already fired
+		fired,
+
+		// Flag to prevent firing
+		locked,
+
+		// Actual callback list
+		list = [],
+
+		// Queue of execution data for repeatable lists
+		queue = [],
+
+		// Index of currently firing callback (modified by add/remove as needed)
+		firingIndex = -1,
+
+		// Fire callbacks
+		fire = function() {
+
+			// Enforce single-firing
+			locked = locked || options.once;
+
+			// Execute callbacks for all pending executions,
+			// respecting firingIndex overrides and runtime changes
+			fired = firing = true;
+			for ( ; queue.length; firingIndex = -1 ) {
+				memory = queue.shift();
+				while ( ++firingIndex < list.length ) {
+
+					// Run callback and check for early termination
+					if ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&
+						options.stopOnFalse ) {
+
+						// Jump to end and forget the data so .add doesn't re-fire
+						firingIndex = list.length;
+						memory = false;
+					}
+				}
+			}
+
+			// Forget the data if we're done with it
+			if ( !options.memory ) {
+				memory = false;
+			}
+
+			firing = false;
+
+			// Clean up if we're done firing for good
+			if ( locked ) {
+
+				// Keep an empty list if we have data for future add calls
+				if ( memory ) {
+					list = [];
+
+				// Otherwise, this object is spent
+				} else {
+					list = "";
+				}
+			}
+		},
+
+		// Actual Callbacks object
+		self = {
+
+			// Add a callback or a collection of callbacks to the list
+			add: function() {
+				if ( list ) {
+
+					// If we have memory from a past run, we should fire after adding
+					if ( memory && !firing ) {
+						firingIndex = list.length - 1;
+						queue.push( memory );
+					}
+
+					( function add( args ) {
+						jQuery.each( args, function( _, arg ) {
+							if ( isFunction( arg ) ) {
+								if ( !options.unique || !self.has( arg ) ) {
+									list.push( arg );
+								}
+							} else if ( arg && arg.length && toType( arg ) !== "string" ) {
+
+								// Inspect recursively
+								add( arg );
+							}
+						} );
+					} )( arguments );
+
+					if ( memory && !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Remove a callback from the list
+			remove: function() {
+				jQuery.each( arguments, function( _, arg ) {
+					var index;
+					while ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {
+						list.splice( index, 1 );
+
+						// Handle firing indexes
+						if ( index <= firingIndex ) {
+							firingIndex--;
+						}
+					}
+				} );
+				return this;
+			},
+
+			// Check if a given callback is in the list.
+			// If no argument is given, return whether or not list has callbacks attached.
+			has: function( fn ) {
+				return fn ?
+					jQuery.inArray( fn, list ) > -1 :
+					list.length > 0;
+			},
+
+			// Remove all callbacks from the list
+			empty: function() {
+				if ( list ) {
+					list = [];
+				}
+				return this;
+			},
+
+			// Disable .fire and .add
+			// Abort any current/pending executions
+			// Clear all callbacks and values
+			disable: function() {
+				locked = queue = [];
+				list = memory = "";
+				return this;
+			},
+			disabled: function() {
+				return !list;
+			},
+
+			// Disable .fire
+			// Also disable .add unless we have memory (since it would have no effect)
+			// Abort any pending executions
+			lock: function() {
+				locked = queue = [];
+				if ( !memory && !firing ) {
+					list = memory = "";
+				}
+				return this;
+			},
+			locked: function() {
+				return !!locked;
+			},
+
+			// Call all callbacks with the given context and arguments
+			fireWith: function( context, args ) {
+				if ( !locked ) {
+					args = args || [];
+					args = [ context, args.slice ? args.slice() : args ];
+					queue.push( args );
+					if ( !firing ) {
+						fire();
+					}
+				}
+				return this;
+			},
+
+			// Call all the callbacks with the given arguments
+			fire: function() {
+				self.fireWith( this, arguments );
+				return this;
+			},
+
+			// To know if the callbacks have already been called at least once
+			fired: function() {
+				return !!fired;
+			}
+		};
+
+	return self;
+};
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/core.js b/public/bower_components/jquery/src/core.js
new file mode 100644
index 0000000..3a1c0cc
--- /dev/null
+++ b/public/bower_components/jquery/src/core.js
@@ -0,0 +1,399 @@
+/* global Symbol */
+// Defining this global in .eslintrc.json would create a danger of using the global
+// unguarded in another place, it seems safer to define global only for this module
+
+define( [
+	"./var/arr",
+	"./var/document",
+	"./var/getProto",
+	"./var/slice",
+	"./var/concat",
+	"./var/push",
+	"./var/indexOf",
+	"./var/class2type",
+	"./var/toString",
+	"./var/hasOwn",
+	"./var/fnToString",
+	"./var/ObjectFunctionString",
+	"./var/support",
+	"./var/isFunction",
+	"./var/isWindow",
+	"./core/DOMEval",
+	"./core/toType"
+], function( arr, document, getProto, slice, concat, push, indexOf,
+	class2type, toString, hasOwn, fnToString, ObjectFunctionString,
+	support, isFunction, isWindow, DOMEval, toType ) {
+
+"use strict";
+
+var
+	version = "3.3.1",
+
+	// Define a local copy of jQuery
+	jQuery = function( selector, context ) {
+
+		// The jQuery object is actually just the init constructor 'enhanced'
+		// Need init if jQuery is called (just allow error to be thrown if not included)
+		return new jQuery.fn.init( selector, context );
+	},
+
+	// Support: Android <=4.0 only
+	// Make sure we trim BOM and NBSP
+	rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
+
+jQuery.fn = jQuery.prototype = {
+
+	// The current version of jQuery being used
+	jquery: version,
+
+	constructor: jQuery,
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	toArray: function() {
+		return slice.call( this );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+
+		// Return all the elements in a clean array
+		if ( num == null ) {
+			return slice.call( this );
+		}
+
+		// Return just the one element from the set
+		return num < 0 ? this[ num + this.length ] : this[ num ];
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems ) {
+
+		// Build a new jQuery matched element set
+		var ret = jQuery.merge( this.constructor(), elems );
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	each: function( callback ) {
+		return jQuery.each( this, callback );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map( this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		} ) );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ) );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	eq: function( i ) {
+		var len = this.length,
+			j = +i + ( i < 0 ? len : 0 );
+		return this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor();
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: arr.sort,
+	splice: arr.splice
+};
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[ 0 ] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+
+		// Skip the boolean and the target
+		target = arguments[ i ] || {};
+		i++;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !isFunction( target ) ) {
+		target = {};
+	}
+
+	// Extend jQuery itself if only one argument is passed
+	if ( i === length ) {
+		target = this;
+		i--;
+	}
+
+	for ( ; i < length; i++ ) {
+
+		// Only deal with non-null/undefined values
+		if ( ( options = arguments[ i ] ) != null ) {
+
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject( copy ) ||
+					( copyIsArray = Array.isArray( copy ) ) ) ) {
+
+					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && Array.isArray( src ) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject( src ) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend( {
+
+	// Unique for each copy of jQuery on the page
+	expando: "jQuery" + ( version + Math.random() ).replace( /\D/g, "" ),
+
+	// Assume jQuery is ready without the ready module
+	isReady: true,
+
+	error: function( msg ) {
+		throw new Error( msg );
+	},
+
+	noop: function() {},
+
+	isPlainObject: function( obj ) {
+		var proto, Ctor;
+
+		// Detect obvious negatives
+		// Use toString instead of jQuery.type to catch host objects
+		if ( !obj || toString.call( obj ) !== "[object Object]" ) {
+			return false;
+		}
+
+		proto = getProto( obj );
+
+		// Objects with no prototype (e.g., `Object.create( null )`) are plain
+		if ( !proto ) {
+			return true;
+		}
+
+		// Objects with prototype are plain iff they were constructed by a global Object function
+		Ctor = hasOwn.call( proto, "constructor" ) && proto.constructor;
+		return typeof Ctor === "function" && fnToString.call( Ctor ) === ObjectFunctionString;
+	},
+
+	isEmptyObject: function( obj ) {
+
+		/* eslint-disable no-unused-vars */
+		// See https://github.com/eslint/eslint/issues/6125
+		var name;
+
+		for ( name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	// Evaluates a script in a global context
+	globalEval: function( code ) {
+		DOMEval( code );
+	},
+
+	each: function( obj, callback ) {
+		var length, i = 0;
+
+		if ( isArrayLike( obj ) ) {
+			length = obj.length;
+			for ( ; i < length; i++ ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		} else {
+			for ( i in obj ) {
+				if ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {
+					break;
+				}
+			}
+		}
+
+		return obj;
+	},
+
+	// Support: Android <=4.0 only
+	trim: function( text ) {
+		return text == null ?
+			"" :
+			( text + "" ).replace( rtrim, "" );
+	},
+
+	// results is for internal usage only
+	makeArray: function( arr, results ) {
+		var ret = results || [];
+
+		if ( arr != null ) {
+			if ( isArrayLike( Object( arr ) ) ) {
+				jQuery.merge( ret,
+					typeof arr === "string" ?
+					[ arr ] : arr
+				);
+			} else {
+				push.call( ret, arr );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, arr, i ) {
+		return arr == null ? -1 : indexOf.call( arr, elem, i );
+	},
+
+	// Support: Android <=4.0 only, PhantomJS 1 only
+	// push.apply(_, arraylike) throws on ancient WebKit
+	merge: function( first, second ) {
+		var len = +second.length,
+			j = 0,
+			i = first.length;
+
+		for ( ; j < len; j++ ) {
+			first[ i++ ] = second[ j ];
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, invert ) {
+		var callbackInverse,
+			matches = [],
+			i = 0,
+			length = elems.length,
+			callbackExpect = !invert;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( ; i < length; i++ ) {
+			callbackInverse = !callback( elems[ i ], i );
+			if ( callbackInverse !== callbackExpect ) {
+				matches.push( elems[ i ] );
+			}
+		}
+
+		return matches;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var length, value,
+			i = 0,
+			ret = [];
+
+		// Go through the array, translating each of the items to their new values
+		if ( isArrayLike( elems ) ) {
+			length = elems.length;
+			for ( ; i < length; i++ ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+
+		// Go through every key on the object,
+		} else {
+			for ( i in elems ) {
+				value = callback( elems[ i ], i, arg );
+
+				if ( value != null ) {
+					ret.push( value );
+				}
+			}
+		}
+
+		// Flatten any nested arrays
+		return concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	// jQuery.support is not used in Core but other projects attach their
+	// properties to it so it needs to exist.
+	support: support
+} );
+
+if ( typeof Symbol === "function" ) {
+	jQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];
+}
+
+// Populate the class2type map
+jQuery.each( "Boolean Number String Function Array Date RegExp Object Error Symbol".split( " " ),
+function( i, name ) {
+	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+} );
+
+function isArrayLike( obj ) {
+
+	// Support: real iOS 8.2 only (not reproducible in simulator)
+	// `in` check used to prevent JIT error (gh-2145)
+	// hasOwn isn't used here due to false negatives
+	// regarding Nodelist length in IE
+	var length = !!obj && "length" in obj && obj.length,
+		type = toType( obj );
+
+	if ( isFunction( obj ) || isWindow( obj ) ) {
+		return false;
+	}
+
+	return type === "array" || length === 0 ||
+		typeof length === "number" && length > 0 && ( length - 1 ) in obj;
+}
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/core/DOMEval.js b/public/bower_components/jquery/src/core/DOMEval.js
new file mode 100644
index 0000000..199ec95
--- /dev/null
+++ b/public/bower_components/jquery/src/core/DOMEval.js
@@ -0,0 +1,30 @@
+define( [
+	"../var/document"
+], function( document ) {
+	"use strict";
+
+	var preservedScriptAttributes = {
+		type: true,
+		src: true,
+		noModule: true
+	};
+
+	function DOMEval( code, doc, node ) {
+		doc = doc || document;
+
+		var i,
+			script = doc.createElement( "script" );
+
+		script.text = code;
+		if ( node ) {
+			for ( i in preservedScriptAttributes ) {
+				if ( node[ i ] ) {
+					script[ i ] = node[ i ];
+				}
+			}
+		}
+		doc.head.appendChild( script ).parentNode.removeChild( script );
+	}
+
+	return DOMEval;
+} );
diff --git a/public/bower_components/jquery/src/core/access.js b/public/bower_components/jquery/src/core/access.js
new file mode 100644
index 0000000..842c4a4
--- /dev/null
+++ b/public/bower_components/jquery/src/core/access.js
@@ -0,0 +1,72 @@
+define( [
+	"../core",
+	"../core/toType",
+	"../var/isFunction"
+], function( jQuery, toType, isFunction ) {
+
+"use strict";
+
+// Multifunctional method to get and set values of a collection
+// The value/s can optionally be executed if it's a function
+var access = function( elems, fn, key, value, chainable, emptyGet, raw ) {
+	var i = 0,
+		len = elems.length,
+		bulk = key == null;
+
+	// Sets many values
+	if ( toType( key ) === "object" ) {
+		chainable = true;
+		for ( i in key ) {
+			access( elems, fn, i, key[ i ], true, emptyGet, raw );
+		}
+
+	// Sets one value
+	} else if ( value !== undefined ) {
+		chainable = true;
+
+		if ( !isFunction( value ) ) {
+			raw = true;
+		}
+
+		if ( bulk ) {
+
+			// Bulk operations run against the entire set
+			if ( raw ) {
+				fn.call( elems, value );
+				fn = null;
+
+			// ...except when executing function values
+			} else {
+				bulk = fn;
+				fn = function( elem, key, value ) {
+					return bulk.call( jQuery( elem ), value );
+				};
+			}
+		}
+
+		if ( fn ) {
+			for ( ; i < len; i++ ) {
+				fn(
+					elems[ i ], key, raw ?
+					value :
+					value.call( elems[ i ], i, fn( elems[ i ], key ) )
+				);
+			}
+		}
+	}
+
+	if ( chainable ) {
+		return elems;
+	}
+
+	// Gets
+	if ( bulk ) {
+		return fn.call( elems );
+	}
+
+	return len ? fn( elems[ 0 ], key ) : emptyGet;
+};
+
+return access;
+
+} );
diff --git a/public/bower_components/jquery/src/core/camelCase.js b/public/bower_components/jquery/src/core/camelCase.js
new file mode 100644
index 0000000..799fb37
--- /dev/null
+++ b/public/bower_components/jquery/src/core/camelCase.js
@@ -0,0 +1,23 @@
+define( [], function() {
+
+"use strict";
+
+// Matches dashed string for camelizing
+var rmsPrefix = /^-ms-/,
+	rdashAlpha = /-([a-z])/g;
+
+// Used by camelCase as callback to replace()
+function fcamelCase( all, letter ) {
+	return letter.toUpperCase();
+}
+
+// Convert dashed to camelCase; used by the css and data modules
+// Support: IE <=9 - 11, Edge 12 - 15
+// Microsoft forgot to hump their vendor prefix (#9572)
+function camelCase( string ) {
+	return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
+}
+
+return camelCase;
+
+} );
diff --git a/public/bower_components/jquery/src/core/init.js b/public/bower_components/jquery/src/core/init.js
new file mode 100644
index 0000000..8865238
--- /dev/null
+++ b/public/bower_components/jquery/src/core/init.js
@@ -0,0 +1,129 @@
+// Initialize a jQuery object
+define( [
+	"../core",
+	"../var/document",
+	"../var/isFunction",
+	"./var/rsingleTag",
+
+	"../traversing/findFilter"
+], function( jQuery, document, isFunction, rsingleTag ) {
+
+"use strict";
+
+// A central reference to the root jQuery(document)
+var rootjQuery,
+
+	// A simple way to check for HTML strings
+	// Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+	// Strict HTML recognition (#11290: must start with <)
+	// Shortcut simple #id case for speed
+	rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,
+
+	init = jQuery.fn.init = function( selector, context, root ) {
+		var match, elem;
+
+		// HANDLE: $(""), $(null), $(undefined), $(false)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Method init() accepts an alternate rootjQuery
+		// so migrate can support jQuery.sub (gh-2101)
+		root = root || rootjQuery;
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			if ( selector[ 0 ] === "<" &&
+				selector[ selector.length - 1 ] === ">" &&
+				selector.length >= 3 ) {
+
+				// Assume that strings that start and end with <> are HTML and skip the regex check
+				match = [ null, selector, null ];
+
+			} else {
+				match = rquickExpr.exec( selector );
+			}
+
+			// Match html or make sure no context is specified for #id
+			if ( match && ( match[ 1 ] || !context ) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[ 1 ] ) {
+					context = context instanceof jQuery ? context[ 0 ] : context;
+
+					// Option to run scripts is true for back-compat
+					// Intentionally let the error be thrown if parseHTML is not present
+					jQuery.merge( this, jQuery.parseHTML(
+						match[ 1 ],
+						context && context.nodeType ? context.ownerDocument || context : document,
+						true
+					) );
+
+					// HANDLE: $(html, props)
+					if ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {
+						for ( match in context ) {
+
+							// Properties of context are called as methods if possible
+							if ( isFunction( this[ match ] ) ) {
+								this[ match ]( context[ match ] );
+
+							// ...and otherwise set as attributes
+							} else {
+								this.attr( match, context[ match ] );
+							}
+						}
+					}
+
+					return this;
+
+				// HANDLE: $(#id)
+				} else {
+					elem = document.getElementById( match[ 2 ] );
+
+					if ( elem ) {
+
+						// Inject the element directly into the jQuery object
+						this[ 0 ] = elem;
+						this.length = 1;
+					}
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return ( context || root ).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(DOMElement)
+		} else if ( selector.nodeType ) {
+			this[ 0 ] = selector;
+			this.length = 1;
+			return this;
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( isFunction( selector ) ) {
+			return root.ready !== undefined ?
+				root.ready( selector ) :
+
+				// Execute immediately if ready is not present
+				selector( jQuery );
+		}
+
+		return jQuery.makeArray( selector, this );
+	};
+
+// Give the init function the jQuery prototype for later instantiation
+init.prototype = jQuery.fn;
+
+// Initialize central reference
+rootjQuery = jQuery( document );
+
+return init;
+
+} );
diff --git a/public/bower_components/jquery/src/core/nodeName.js b/public/bower_components/jquery/src/core/nodeName.js
new file mode 100644
index 0000000..8a5f5f0
--- /dev/null
+++ b/public/bower_components/jquery/src/core/nodeName.js
@@ -0,0 +1,13 @@
+define( function() {
+
+"use strict";
+
+function nodeName( elem, name ) {
+
+  return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+
+};
+
+return nodeName;
+
+} );
diff --git a/public/bower_components/jquery/src/core/parseHTML.js b/public/bower_components/jquery/src/core/parseHTML.js
new file mode 100644
index 0000000..21ff6bf
--- /dev/null
+++ b/public/bower_components/jquery/src/core/parseHTML.js
@@ -0,0 +1,65 @@
+define( [
+	"../core",
+	"../var/document",
+	"./var/rsingleTag",
+	"../manipulation/buildFragment",
+
+	// This is the only module that needs core/support
+	"./support"
+], function( jQuery, document, rsingleTag, buildFragment, support ) {
+
+"use strict";
+
+// Argument "data" should be string of html
+// context (optional): If specified, the fragment will be created in this context,
+// defaults to document
+// keepScripts (optional): If true, will include scripts passed in the html string
+jQuery.parseHTML = function( data, context, keepScripts ) {
+	if ( typeof data !== "string" ) {
+		return [];
+	}
+	if ( typeof context === "boolean" ) {
+		keepScripts = context;
+		context = false;
+	}
+
+	var base, parsed, scripts;
+
+	if ( !context ) {
+
+		// Stop scripts or inline event handlers from being executed immediately
+		// by using document.implementation
+		if ( support.createHTMLDocument ) {
+			context = document.implementation.createHTMLDocument( "" );
+
+			// Set the base href for the created document
+			// so any parsed elements with URLs
+			// are based on the document's URL (gh-2965)
+			base = context.createElement( "base" );
+			base.href = document.location.href;
+			context.head.appendChild( base );
+		} else {
+			context = document;
+		}
+	}
+
+	parsed = rsingleTag.exec( data );
+	scripts = !keepScripts && [];
+
+	// Single tag
+	if ( parsed ) {
+		return [ context.createElement( parsed[ 1 ] ) ];
+	}
+
+	parsed = buildFragment( [ data ], context, scripts );
+
+	if ( scripts && scripts.length ) {
+		jQuery( scripts ).remove();
+	}
+
+	return jQuery.merge( [], parsed.childNodes );
+};
+
+return jQuery.parseHTML;
+
+} );
diff --git a/public/bower_components/jquery/src/core/ready-no-deferred.js b/public/bower_components/jquery/src/core/ready-no-deferred.js
new file mode 100644
index 0000000..4428020
--- /dev/null
+++ b/public/bower_components/jquery/src/core/ready-no-deferred.js
@@ -0,0 +1,97 @@
+define( [
+	"../core",
+	"../var/document",
+	"../var/isFunction"
+], function( jQuery, document, isFunction ) {
+
+"use strict";
+
+var readyCallbacks = [],
+	whenReady = function( fn ) {
+		readyCallbacks.push( fn );
+	},
+	executeReady = function( fn ) {
+
+		// Prevent errors from freezing future callback execution (gh-1823)
+		// Not backwards-compatible as this does not execute sync
+		window.setTimeout( function() {
+			fn.call( document, jQuery );
+		} );
+	};
+
+jQuery.fn.ready = function( fn ) {
+	whenReady( fn );
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		whenReady = function( fn ) {
+			readyCallbacks.push( fn );
+
+			while ( readyCallbacks.length ) {
+				fn = readyCallbacks.shift();
+				if ( isFunction( fn ) ) {
+					executeReady( fn );
+				}
+			}
+		};
+
+		whenReady();
+	}
+} );
+
+// Make jQuery.ready Promise consumable (gh-1778)
+jQuery.ready.then = jQuery.fn.ready;
+
+/**
+ * The ready event handler and self cleanup method
+ */
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE9-10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+} );
diff --git a/public/bower_components/jquery/src/core/ready.js b/public/bower_components/jquery/src/core/ready.js
new file mode 100644
index 0000000..794feee
--- /dev/null
+++ b/public/bower_components/jquery/src/core/ready.js
@@ -0,0 +1,86 @@
+define( [
+	"../core",
+	"../var/document",
+	"../core/readyException",
+	"../deferred"
+], function( jQuery, document ) {
+
+"use strict";
+
+// The deferred used on DOM ready
+var readyList = jQuery.Deferred();
+
+jQuery.fn.ready = function( fn ) {
+
+	readyList
+		.then( fn )
+
+		// Wrap jQuery.readyException in a function so that the lookup
+		// happens at the time of error handling instead of callback
+		// registration.
+		.catch( function( error ) {
+			jQuery.readyException( error );
+		} );
+
+	return this;
+};
+
+jQuery.extend( {
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+
+		// Abort if there are pending holds or we're already ready
+		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
+			return;
+		}
+
+		// Remember that the DOM is ready
+		jQuery.isReady = true;
+
+		// If a normal DOM Ready event fired, decrement, and wait if need be
+		if ( wait !== true && --jQuery.readyWait > 0 ) {
+			return;
+		}
+
+		// If there are functions bound, to execute
+		readyList.resolveWith( document, [ jQuery ] );
+	}
+} );
+
+jQuery.ready.then = readyList.then;
+
+// The ready event handler and self cleanup method
+function completed() {
+	document.removeEventListener( "DOMContentLoaded", completed );
+	window.removeEventListener( "load", completed );
+	jQuery.ready();
+}
+
+// Catch cases where $(document).ready() is called
+// after the browser event has already occurred.
+// Support: IE <=9 - 10 only
+// Older IE sometimes signals "interactive" too soon
+if ( document.readyState === "complete" ||
+	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
+
+	// Handle it asynchronously to allow scripts the opportunity to delay ready
+	window.setTimeout( jQuery.ready );
+
+} else {
+
+	// Use the handy event callback
+	document.addEventListener( "DOMContentLoaded", completed );
+
+	// A fallback to window.onload, that will always work
+	window.addEventListener( "load", completed );
+}
+
+} );
diff --git a/public/bower_components/jquery/src/core/readyException.js b/public/bower_components/jquery/src/core/readyException.js
new file mode 100644
index 0000000..72bdd90
--- /dev/null
+++ b/public/bower_components/jquery/src/core/readyException.js
@@ -0,0 +1,13 @@
+define( [
+	"../core"
+], function( jQuery ) {
+
+"use strict";
+
+jQuery.readyException = function( error ) {
+	window.setTimeout( function() {
+		throw error;
+	} );
+};
+
+} );
diff --git a/public/bower_components/jquery/src/core/stripAndCollapse.js b/public/bower_components/jquery/src/core/stripAndCollapse.js
new file mode 100644
index 0000000..2b63820
--- /dev/null
+++ b/public/bower_components/jquery/src/core/stripAndCollapse.js
@@ -0,0 +1,14 @@
+define( [
+	"../var/rnothtmlwhite"
+], function( rnothtmlwhite ) {
+	"use strict";
+
+	// Strip and collapse whitespace according to HTML spec
+	// https://infra.spec.whatwg.org/#strip-and-collapse-ascii-whitespace
+	function stripAndCollapse( value ) {
+		var tokens = value.match( rnothtmlwhite ) || [];
+		return tokens.join( " " );
+	}
+
+	return stripAndCollapse;
+} );
diff --git a/public/bower_components/jquery/src/core/support.js b/public/bower_components/jquery/src/core/support.js
new file mode 100644
index 0000000..13ae02f
--- /dev/null
+++ b/public/bower_components/jquery/src/core/support.js
@@ -0,0 +1,20 @@
+define( [
+	"../var/document",
+	"../var/support"
+], function( document, support ) {
+
+"use strict";
+
+// Support: Safari 8 only
+// In Safari 8 documents created via document.implementation.createHTMLDocument
+// collapse sibling forms: the second one becomes a child of the first one.
+// Because of that, this security measure has to be disabled in Safari 8.
+// https://bugs.webkit.org/show_bug.cgi?id=137337
+support.createHTMLDocument = ( function() {
+	var body = document.implementation.createHTMLDocument( "" ).body;
+	body.innerHTML = "<form></form><form></form>";
+	return body.childNodes.length === 2;
+} )();
+
+return support;
+} );
diff --git a/public/bower_components/jquery/src/core/toType.js b/public/bower_components/jquery/src/core/toType.js
new file mode 100644
index 0000000..c77ba95
--- /dev/null
+++ b/public/bower_components/jquery/src/core/toType.js
@@ -0,0 +1,20 @@
+define( [
+	"../var/class2type",
+	"../var/toString"
+], function( class2type, toString ) {
+
+"use strict";
+
+function toType( obj ) {
+	if ( obj == null ) {
+		return obj + "";
+	}
+
+	// Support: Android <=2.3 only (functionish RegExp)
+	return typeof obj === "object" || typeof obj === "function" ?
+		class2type[ toString.call( obj ) ] || "object" :
+		typeof obj;
+}
+
+return toType;
+} );
diff --git a/public/bower_components/jquery/src/core/var/rsingleTag.js b/public/bower_components/jquery/src/core/var/rsingleTag.js
new file mode 100644
index 0000000..4d6e8a0
--- /dev/null
+++ b/public/bower_components/jquery/src/core/var/rsingleTag.js
@@ -0,0 +1,6 @@
+define( function() {
+	"use strict";
+
+	// Match a standalone tag
+	return ( /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i );
+} );
diff --git a/public/bower_components/jquery/src/css.js b/public/bower_components/jquery/src/css.js
new file mode 100644
index 0000000..43e4274
--- /dev/null
+++ b/public/bower_components/jquery/src/css.js
@@ -0,0 +1,481 @@
+define( [
+	"./core",
+	"./var/pnum",
+	"./core/access",
+	"./core/camelCase",
+	"./var/document",
+	"./var/rcssNum",
+	"./css/var/rnumnonpx",
+	"./css/var/cssExpand",
+	"./css/var/getStyles",
+	"./css/var/swap",
+	"./css/curCSS",
+	"./css/adjustCSS",
+	"./css/addGetHookIf",
+	"./css/support",
+
+	"./core/init",
+	"./core/ready",
+	"./selector" // contains
+], function( jQuery, pnum, access, camelCase, document, rcssNum, rnumnonpx, cssExpand,
+	getStyles, swap, curCSS, adjustCSS, addGetHookIf, support ) {
+
+"use strict";
+
+var
+
+	// Swappable if display is none or starts with table
+	// except "table", "table-cell", or "table-caption"
+	// See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
+	rdisplayswap = /^(none|table(?!-c[ea]).+)/,
+	rcustomProp = /^--/,
+	cssShow = { position: "absolute", visibility: "hidden", display: "block" },
+	cssNormalTransform = {
+		letterSpacing: "0",
+		fontWeight: "400"
+	},
+
+	cssPrefixes = [ "Webkit", "Moz", "ms" ],
+	emptyStyle = document.createElement( "div" ).style;
+
+// Return a css property mapped to a potentially vendor prefixed property
+function vendorPropName( name ) {
+
+	// Shortcut for names that are not vendor prefixed
+	if ( name in emptyStyle ) {
+		return name;
+	}
+
+	// Check for vendor prefixed names
+	var capName = name[ 0 ].toUpperCase() + name.slice( 1 ),
+		i = cssPrefixes.length;
+
+	while ( i-- ) {
+		name = cssPrefixes[ i ] + capName;
+		if ( name in emptyStyle ) {
+			return name;
+		}
+	}
+}
+
+// Return a property mapped along what jQuery.cssProps suggests or to
+// a vendor prefixed property.
+function finalPropName( name ) {
+	var ret = jQuery.cssProps[ name ];
+	if ( !ret ) {
+		ret = jQuery.cssProps[ name ] = vendorPropName( name ) || name;
+	}
+	return ret;
+}
+
+function setPositiveNumber( elem, value, subtract ) {
+
+	// Any relative (+/-) values have already been
+	// normalized at this point
+	var matches = rcssNum.exec( value );
+	return matches ?
+
+		// Guard against undefined "subtract", e.g., when used as in cssHooks
+		Math.max( 0, matches[ 2 ] - ( subtract || 0 ) ) + ( matches[ 3 ] || "px" ) :
+		value;
+}
+
+function boxModelAdjustment( elem, dimension, box, isBorderBox, styles, computedVal ) {
+	var i = dimension === "width" ? 1 : 0,
+		extra = 0,
+		delta = 0;
+
+	// Adjustment may not be necessary
+	if ( box === ( isBorderBox ? "border" : "content" ) ) {
+		return 0;
+	}
+
+	for ( ; i < 4; i += 2 ) {
+
+		// Both box models exclude margin
+		if ( box === "margin" ) {
+			delta += jQuery.css( elem, box + cssExpand[ i ], true, styles );
+		}
+
+		// If we get here with a content-box, we're seeking "padding" or "border" or "margin"
+		if ( !isBorderBox ) {
+
+			// Add padding
+			delta += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+
+			// For "border" or "margin", add border
+			if ( box !== "padding" ) {
+				delta += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+
+			// But still keep track of it otherwise
+			} else {
+				extra += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+
+		// If we get here with a border-box (content + padding + border), we're seeking "content" or
+		// "padding" or "margin"
+		} else {
+
+			// For "content", subtract padding
+			if ( box === "content" ) {
+				delta -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
+			}
+
+			// For "content" or "padding", subtract border
+			if ( box !== "margin" ) {
+				delta -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
+			}
+		}
+	}
+
+	// Account for positive content-box scroll gutter when requested by providing computedVal
+	if ( !isBorderBox && computedVal >= 0 ) {
+
+		// offsetWidth/offsetHeight is a rounded sum of content, padding, scroll gutter, and border
+		// Assuming integer scroll gutter, subtract the rest and round down
+		delta += Math.max( 0, Math.ceil(
+			elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+			computedVal -
+			delta -
+			extra -
+			0.5
+		) );
+	}
+
+	return delta;
+}
+
+function getWidthOrHeight( elem, dimension, extra ) {
+
+	// Start with computed style
+	var styles = getStyles( elem ),
+		val = curCSS( elem, dimension, styles ),
+		isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+		valueIsBorderBox = isBorderBox;
+
+	// Support: Firefox <=54
+	// Return a confounding non-pixel value or feign ignorance, as appropriate.
+	if ( rnumnonpx.test( val ) ) {
+		if ( !extra ) {
+			return val;
+		}
+		val = "auto";
+	}
+
+	// Check for style in case a browser which returns unreliable values
+	// for getComputedStyle silently falls back to the reliable elem.style
+	valueIsBorderBox = valueIsBorderBox &&
+		( support.boxSizingReliable() || val === elem.style[ dimension ] );
+
+	// Fall back to offsetWidth/offsetHeight when value is "auto"
+	// This happens for inline elements with no explicit setting (gh-3571)
+	// Support: Android <=4.1 - 4.3 only
+	// Also use offsetWidth/offsetHeight for misreported inline dimensions (gh-3602)
+	if ( val === "auto" ||
+		!parseFloat( val ) && jQuery.css( elem, "display", false, styles ) === "inline" ) {
+
+		val = elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ];
+
+		// offsetWidth/offsetHeight provide border-box values
+		valueIsBorderBox = true;
+	}
+
+	// Normalize "" and auto
+	val = parseFloat( val ) || 0;
+
+	// Adjust for the element's box model
+	return ( val +
+		boxModelAdjustment(
+			elem,
+			dimension,
+			extra || ( isBorderBox ? "border" : "content" ),
+			valueIsBorderBox,
+			styles,
+
+			// Provide the current computed size to request scroll gutter calculation (gh-3589)
+			val
+		)
+	) + "px";
+}
+
+jQuery.extend( {
+
+	// Add in style property hooks for overriding the default
+	// behavior of getting and setting a style property
+	cssHooks: {
+		opacity: {
+			get: function( elem, computed ) {
+				if ( computed ) {
+
+					// We should always get a number back from opacity
+					var ret = curCSS( elem, "opacity" );
+					return ret === "" ? "1" : ret;
+				}
+			}
+		}
+	},
+
+	// Don't automatically add "px" to these possibly-unitless properties
+	cssNumber: {
+		"animationIterationCount": true,
+		"columnCount": true,
+		"fillOpacity": true,
+		"flexGrow": true,
+		"flexShrink": true,
+		"fontWeight": true,
+		"lineHeight": true,
+		"opacity": true,
+		"order": true,
+		"orphans": true,
+		"widows": true,
+		"zIndex": true,
+		"zoom": true
+	},
+
+	// Add in properties whose names you wish to fix before
+	// setting or getting the value
+	cssProps: {},
+
+	// Get and set the style property on a DOM Node
+	style: function( elem, name, value, extra ) {
+
+		// Don't set styles on text and comment nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
+			return;
+		}
+
+		// Make sure that we're working with the right name
+		var ret, type, hooks,
+			origName = camelCase( name ),
+			isCustomProp = rcustomProp.test( name ),
+			style = elem.style;
+
+		// Make sure that we're working with the right name. We don't
+		// want to query the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Gets hook for the prefixed version, then unprefixed version
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// Check if we're setting a value
+		if ( value !== undefined ) {
+			type = typeof value;
+
+			// Convert "+=" or "-=" to relative numbers (#7345)
+			if ( type === "string" && ( ret = rcssNum.exec( value ) ) && ret[ 1 ] ) {
+				value = adjustCSS( elem, name, ret );
+
+				// Fixes bug #9237
+				type = "number";
+			}
+
+			// Make sure that null and NaN values aren't set (#7116)
+			if ( value == null || value !== value ) {
+				return;
+			}
+
+			// If a number was passed in, add the unit (except for certain CSS properties)
+			if ( type === "number" ) {
+				value += ret && ret[ 3 ] || ( jQuery.cssNumber[ origName ] ? "" : "px" );
+			}
+
+			// background-* props affect original clone's values
+			if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
+				style[ name ] = "inherit";
+			}
+
+			// If a hook was provided, use that value, otherwise just set the specified value
+			if ( !hooks || !( "set" in hooks ) ||
+				( value = hooks.set( elem, value, extra ) ) !== undefined ) {
+
+				if ( isCustomProp ) {
+					style.setProperty( name, value );
+				} else {
+					style[ name ] = value;
+				}
+			}
+
+		} else {
+
+			// If a hook was provided get the non-computed value from there
+			if ( hooks && "get" in hooks &&
+				( ret = hooks.get( elem, false, extra ) ) !== undefined ) {
+
+				return ret;
+			}
+
+			// Otherwise just get the value from the style object
+			return style[ name ];
+		}
+	},
+
+	css: function( elem, name, extra, styles ) {
+		var val, num, hooks,
+			origName = camelCase( name ),
+			isCustomProp = rcustomProp.test( name );
+
+		// Make sure that we're working with the right name. We don't
+		// want to modify the value if it is a CSS custom property
+		// since they are user-defined.
+		if ( !isCustomProp ) {
+			name = finalPropName( origName );
+		}
+
+		// Try prefixed name followed by the unprefixed name
+		hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
+
+		// If a hook was provided get the computed value from there
+		if ( hooks && "get" in hooks ) {
+			val = hooks.get( elem, true, extra );
+		}
+
+		// Otherwise, if a way to get the computed value exists, use that
+		if ( val === undefined ) {
+			val = curCSS( elem, name, styles );
+		}
+
+		// Convert "normal" to computed value
+		if ( val === "normal" && name in cssNormalTransform ) {
+			val = cssNormalTransform[ name ];
+		}
+
+		// Make numeric if forced or a qualifier was provided and val looks numeric
+		if ( extra === "" || extra ) {
+			num = parseFloat( val );
+			return extra === true || isFinite( num ) ? num || 0 : val;
+		}
+
+		return val;
+	}
+} );
+
+jQuery.each( [ "height", "width" ], function( i, dimension ) {
+	jQuery.cssHooks[ dimension ] = {
+		get: function( elem, computed, extra ) {
+			if ( computed ) {
+
+				// Certain elements can have dimension info if we invisibly show them
+				// but it must have a current display style that would benefit
+				return rdisplayswap.test( jQuery.css( elem, "display" ) ) &&
+
+					// Support: Safari 8+
+					// Table columns in Safari have non-zero offsetWidth & zero
+					// getBoundingClientRect().width unless display is changed.
+					// Support: IE <=11 only
+					// Running getBoundingClientRect on a disconnected node
+					// in IE throws an error.
+					( !elem.getClientRects().length || !elem.getBoundingClientRect().width ) ?
+						swap( elem, cssShow, function() {
+							return getWidthOrHeight( elem, dimension, extra );
+						} ) :
+						getWidthOrHeight( elem, dimension, extra );
+			}
+		},
+
+		set: function( elem, value, extra ) {
+			var matches,
+				styles = getStyles( elem ),
+				isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
+				subtract = extra && boxModelAdjustment(
+					elem,
+					dimension,
+					extra,
+					isBorderBox,
+					styles
+				);
+
+			// Account for unreliable border-box dimensions by comparing offset* to computed and
+			// faking a content-box to get border and padding (gh-3699)
+			if ( isBorderBox && support.scrollboxSize() === styles.position ) {
+				subtract -= Math.ceil(
+					elem[ "offset" + dimension[ 0 ].toUpperCase() + dimension.slice( 1 ) ] -
+					parseFloat( styles[ dimension ] ) -
+					boxModelAdjustment( elem, dimension, "border", false, styles ) -
+					0.5
+				);
+			}
+
+			// Convert to pixels if value adjustment is needed
+			if ( subtract && ( matches = rcssNum.exec( value ) ) &&
+				( matches[ 3 ] || "px" ) !== "px" ) {
+
+				elem.style[ dimension ] = value;
+				value = jQuery.css( elem, dimension );
+			}
+
+			return setPositiveNumber( elem, value, subtract );
+		}
+	};
+} );
+
+jQuery.cssHooks.marginLeft = addGetHookIf( support.reliableMarginLeft,
+	function( elem, computed ) {
+		if ( computed ) {
+			return ( parseFloat( curCSS( elem, "marginLeft" ) ) ||
+				elem.getBoundingClientRect().left -
+					swap( elem, { marginLeft: 0 }, function() {
+						return elem.getBoundingClientRect().left;
+					} )
+				) + "px";
+		}
+	}
+);
+
+// These hooks are used by animate to expand properties
+jQuery.each( {
+	margin: "",
+	padding: "",
+	border: "Width"
+}, function( prefix, suffix ) {
+	jQuery.cssHooks[ prefix + suffix ] = {
+		expand: function( value ) {
+			var i = 0,
+				expanded = {},
+
+				// Assumes a single number if not a string
+				parts = typeof value === "string" ? value.split( " " ) : [ value ];
+
+			for ( ; i < 4; i++ ) {
+				expanded[ prefix + cssExpand[ i ] + suffix ] =
+					parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
+			}
+
+			return expanded;
+		}
+	};
+
+	if ( prefix !== "margin" ) {
+		jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
+	}
+} );
+
+jQuery.fn.extend( {
+	css: function( name, value ) {
+		return access( this, function( elem, name, value ) {
+			var styles, len,
+				map = {},
+				i = 0;
+
+			if ( Array.isArray( name ) ) {
+				styles = getStyles( elem );
+				len = name.length;
+
+				for ( ; i < len; i++ ) {
+					map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
+				}
+
+				return map;
+			}
+
+			return value !== undefined ?
+				jQuery.style( elem, name, value ) :
+				jQuery.css( elem, name );
+		}, name, value, arguments.length > 1 );
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/css/addGetHookIf.js b/public/bower_components/jquery/src/css/addGetHookIf.js
new file mode 100644
index 0000000..e4bb49a
--- /dev/null
+++ b/public/bower_components/jquery/src/css/addGetHookIf.js
@@ -0,0 +1,26 @@
+define( function() {
+
+"use strict";
+
+function addGetHookIf( conditionFn, hookFn ) {
+
+	// Define the hook, we'll check on the first run if it's really needed.
+	return {
+		get: function() {
+			if ( conditionFn() ) {
+
+				// Hook not needed (or it's not possible to use it due
+				// to missing dependency), remove it.
+				delete this.get;
+				return;
+			}
+
+			// Hook needed; redefine it so that the support test is not executed again.
+			return ( this.get = hookFn ).apply( this, arguments );
+		}
+	};
+}
+
+return addGetHookIf;
+
+} );
diff --git a/public/bower_components/jquery/src/css/adjustCSS.js b/public/bower_components/jquery/src/css/adjustCSS.js
new file mode 100644
index 0000000..626ec74
--- /dev/null
+++ b/public/bower_components/jquery/src/css/adjustCSS.js
@@ -0,0 +1,73 @@
+define( [
+	"../core",
+	"../var/rcssNum"
+], function( jQuery, rcssNum ) {
+
+"use strict";
+
+function adjustCSS( elem, prop, valueParts, tween ) {
+	var adjusted, scale,
+		maxIterations = 20,
+		currentValue = tween ?
+			function() {
+				return tween.cur();
+			} :
+			function() {
+				return jQuery.css( elem, prop, "" );
+			},
+		initial = currentValue(),
+		unit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? "" : "px" ),
+
+		// Starting value computation is required for potential unit mismatches
+		initialInUnit = ( jQuery.cssNumber[ prop ] || unit !== "px" && +initial ) &&
+			rcssNum.exec( jQuery.css( elem, prop ) );
+
+	if ( initialInUnit && initialInUnit[ 3 ] !== unit ) {
+
+		// Support: Firefox <=54
+		// Halve the iteration target value to prevent interference from CSS upper bounds (gh-2144)
+		initial = initial / 2;
+
+		// Trust units reported by jQuery.css
+		unit = unit || initialInUnit[ 3 ];
+
+		// Iteratively approximate from a nonzero starting point
+		initialInUnit = +initial || 1;
+
+		while ( maxIterations-- ) {
+
+			// Evaluate and update our best guess (doubling guesses that zero out).
+			// Finish if the scale equals or crosses 1 (making the old*new product non-positive).
+			jQuery.style( elem, prop, initialInUnit + unit );
+			if ( ( 1 - scale ) * ( 1 - ( scale = currentValue() / initial || 0.5 ) ) <= 0 ) {
+				maxIterations = 0;
+			}
+			initialInUnit = initialInUnit / scale;
+
+		}
+
+		initialInUnit = initialInUnit * 2;
+		jQuery.style( elem, prop, initialInUnit + unit );
+
+		// Make sure we update the tween properties later on
+		valueParts = valueParts || [];
+	}
+
+	if ( valueParts ) {
+		initialInUnit = +initialInUnit || +initial || 0;
+
+		// Apply relative offset (+=/-=) if specified
+		adjusted = valueParts[ 1 ] ?
+			initialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :
+			+valueParts[ 2 ];
+		if ( tween ) {
+			tween.unit = unit;
+			tween.start = initialInUnit;
+			tween.end = adjusted;
+		}
+	}
+	return adjusted;
+}
+
+return adjustCSS;
+} );
diff --git a/public/bower_components/jquery/src/css/curCSS.js b/public/bower_components/jquery/src/css/curCSS.js
new file mode 100644
index 0000000..aa1414d
--- /dev/null
+++ b/public/bower_components/jquery/src/css/curCSS.js
@@ -0,0 +1,65 @@
+define( [
+	"../core",
+	"./var/rboxStyle",
+	"./var/rnumnonpx",
+	"./var/getStyles",
+	"./support",
+	"../selector" // Get jQuery.contains
+], function( jQuery, rboxStyle, rnumnonpx, getStyles, support ) {
+
+"use strict";
+
+function curCSS( elem, name, computed ) {
+	var width, minWidth, maxWidth, ret,
+
+		// Support: Firefox 51+
+		// Retrieving style before computed somehow
+		// fixes an issue with getting wrong values
+		// on detached elements
+		style = elem.style;
+
+	computed = computed || getStyles( elem );
+
+	// getPropertyValue is needed for:
+	//   .css('filter') (IE 9 only, #12537)
+	//   .css('--customProperty) (#3144)
+	if ( computed ) {
+		ret = computed.getPropertyValue( name ) || computed[ name ];
+
+		if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) {
+			ret = jQuery.style( elem, name );
+		}
+
+		// A tribute to the "awesome hack by Dean Edwards"
+		// Android Browser returns percentage for some values,
+		// but width seems to be reliably pixels.
+		// This is against the CSSOM draft spec:
+		// https://drafts.csswg.org/cssom/#resolved-values
+		if ( !support.pixelBoxStyles() && rnumnonpx.test( ret ) && rboxStyle.test( name ) ) {
+
+			// Remember the original values
+			width = style.width;
+			minWidth = style.minWidth;
+			maxWidth = style.maxWidth;
+
+			// Put in the new values to get a computed value out
+			style.minWidth = style.maxWidth = style.width = ret;
+			ret = computed.width;
+
+			// Revert the changed values
+			style.width = width;
+			style.minWidth = minWidth;
+			style.maxWidth = maxWidth;
+		}
+	}
+
+	return ret !== undefined ?
+
+		// Support: IE <=9 - 11 only
+		// IE returns zIndex value as an integer.
+		ret + "" :
+		ret;
+}
+
+return curCSS;
+} );
diff --git a/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js b/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js
new file mode 100644
index 0000000..d7a9339
--- /dev/null
+++ b/public/bower_components/jquery/src/css/hiddenVisibleSelectors.js
@@ -0,0 +1,15 @@
+define( [
+	"../core",
+	"../selector"
+], function( jQuery ) {
+
+"use strict";
+
+jQuery.expr.pseudos.hidden = function( elem ) {
+	return !jQuery.expr.pseudos.visible( elem );
+};
+jQuery.expr.pseudos.visible = function( elem ) {
+	return !!( elem.offsetWidth || elem.offsetHeight || elem.getClientRects().length );
+};
+
+} );
diff --git a/public/bower_components/jquery/src/css/showHide.js b/public/bower_components/jquery/src/css/showHide.js
new file mode 100644
index 0000000..3eeafef
--- /dev/null
+++ b/public/bower_components/jquery/src/css/showHide.js
@@ -0,0 +1,105 @@
+define( [
+	"../core",
+	"../data/var/dataPriv",
+	"../css/var/isHiddenWithinTree"
+], function( jQuery, dataPriv, isHiddenWithinTree ) {
+
+"use strict";
+
+var defaultDisplayMap = {};
+
+function getDefaultDisplay( elem ) {
+	var temp,
+		doc = elem.ownerDocument,
+		nodeName = elem.nodeName,
+		display = defaultDisplayMap[ nodeName ];
+
+	if ( display ) {
+		return display;
+	}
+
+	temp = doc.body.appendChild( doc.createElement( nodeName ) );
+	display = jQuery.css( temp, "display" );
+
+	temp.parentNode.removeChild( temp );
+
+	if ( display === "none" ) {
+		display = "block";
+	}
+	defaultDisplayMap[ nodeName ] = display;
+
+	return display;
+}
+
+function showHide( elements, show ) {
+	var display, elem,
+		values = [],
+		index = 0,
+		length = elements.length;
+
+	// Determine new display value for elements that need to change
+	for ( ; index < length; index++ ) {
+		elem = elements[ index ];
+		if ( !elem.style ) {
+			continue;
+		}
+
+		display = elem.style.display;
+		if ( show ) {
+
+			// Since we force visibility upon cascade-hidden elements, an immediate (and slow)
+			// check is required in this first loop unless we have a nonempty display value (either
+			// inline or about-to-be-restored)
+			if ( display === "none" ) {
+				values[ index ] = dataPriv.get( elem, "display" ) || null;
+				if ( !values[ index ] ) {
+					elem.style.display = "";
+				}
+			}
+			if ( elem.style.display === "" && isHiddenWithinTree( elem ) ) {
+				values[ index ] = getDefaultDisplay( elem );
+			}
+		} else {
+			if ( display !== "none" ) {
+				values[ index ] = "none";
+
+				// Remember what we're overwriting
+				dataPriv.set( elem, "display", display );
+			}
+		}
+	}
+
+	// Set the display of the elements in a second loop to avoid constant reflow
+	for ( index = 0; index < length; index++ ) {
+		if ( values[ index ] != null ) {
+			elements[ index ].style.display = values[ index ];
+		}
+	}
+
+	return elements;
+}
+
+jQuery.fn.extend( {
+	show: function() {
+		return showHide( this, true );
+	},
+	hide: function() {
+		return showHide( this );
+	},
+	toggle: function( state ) {
+		if ( typeof state === "boolean" ) {
+			return state ? this.show() : this.hide();
+		}
+
+		return this.each( function() {
+			if ( isHiddenWithinTree( this ) ) {
+				jQuery( this ).show();
+			} else {
+				jQuery( this ).hide();
+			}
+		} );
+	}
+} );
+
+return showHide;
+} );
diff --git a/public/bower_components/jquery/src/css/support.js b/public/bower_components/jquery/src/css/support.js
new file mode 100644
index 0000000..dbb7ef7
--- /dev/null
+++ b/public/bower_components/jquery/src/css/support.js
@@ -0,0 +1,102 @@
+define( [
+	"../core",
+	"../var/document",
+	"../var/documentElement",
+	"../var/support"
+], function( jQuery, document, documentElement, support ) {
+
+"use strict";
+
+( function() {
+
+	// Executing both pixelPosition & boxSizingReliable tests require only one layout
+	// so they're executed at the same time to save the second computation.
+	function computeStyleTests() {
+
+		// This is a singleton, we need to execute it only once
+		if ( !div ) {
+			return;
+		}
+
+		container.style.cssText = "position:absolute;left:-11111px;width:60px;" +
+			"margin-top:1px;padding:0;border:0";
+		div.style.cssText =
+			"position:relative;display:block;box-sizing:border-box;overflow:scroll;" +
+			"margin:auto;border:1px;padding:1px;" +
+			"width:60%;top:1%";
+		documentElement.appendChild( container ).appendChild( div );
+
+		var divStyle = window.getComputedStyle( div );
+		pixelPositionVal = divStyle.top !== "1%";
+
+		// Support: Android 4.0 - 4.3 only, Firefox <=3 - 44
+		reliableMarginLeftVal = roundPixelMeasures( divStyle.marginLeft ) === 12;
+
+		// Support: Android 4.0 - 4.3 only, Safari <=9.1 - 10.1, iOS <=7.0 - 9.3
+		// Some styles come back with percentage values, even though they shouldn't
+		div.style.right = "60%";
+		pixelBoxStylesVal = roundPixelMeasures( divStyle.right ) === 36;
+
+		// Support: IE 9 - 11 only
+		// Detect misreporting of content dimensions for box-sizing:border-box elements
+		boxSizingReliableVal = roundPixelMeasures( divStyle.width ) === 36;
+
+		// Support: IE 9 only
+		// Detect overflow:scroll screwiness (gh-3699)
+		div.style.position = "absolute";
+		scrollboxSizeVal = div.offsetWidth === 36 || "absolute";
+
+		documentElement.removeChild( container );
+
+		// Nullify the div so it wouldn't be stored in the memory and
+		// it will also be a sign that checks already performed
+		div = null;
+	}
+
+	function roundPixelMeasures( measure ) {
+		return Math.round( parseFloat( measure ) );
+	}
+
+	var pixelPositionVal, boxSizingReliableVal, scrollboxSizeVal, pixelBoxStylesVal,
+		reliableMarginLeftVal,
+		container = document.createElement( "div" ),
+		div = document.createElement( "div" );
+
+	// Finish early in limited (non-browser) environments
+	if ( !div.style ) {
+		return;
+	}
+
+	// Support: IE <=9 - 11 only
+	// Style of cloned element affects source element cloned (#8908)
+	div.style.backgroundClip = "content-box";
+	div.cloneNode( true ).style.backgroundClip = "";
+	support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+	jQuery.extend( support, {
+		boxSizingReliable: function() {
+			computeStyleTests();
+			return boxSizingReliableVal;
+		},
+		pixelBoxStyles: function() {
+			computeStyleTests();
+			return pixelBoxStylesVal;
+		},
+		pixelPosition: function() {
+			computeStyleTests();
+			return pixelPositionVal;
+		},
+		reliableMarginLeft: function() {
+			computeStyleTests();
+			return reliableMarginLeftVal;
+		},
+		scrollboxSize: function() {
+			computeStyleTests();
+			return scrollboxSizeVal;
+		}
+	} );
+} )();
+
+return support;
+
+} );
diff --git a/public/bower_components/jquery/src/css/var/cssExpand.js b/public/bower_components/jquery/src/css/var/cssExpand.js
new file mode 100644
index 0000000..dd2007c
--- /dev/null
+++ b/public/bower_components/jquery/src/css/var/cssExpand.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return [ "Top", "Right", "Bottom", "Left" ];
+} );
diff --git a/public/bower_components/jquery/src/css/var/getStyles.js b/public/bower_components/jquery/src/css/var/getStyles.js
new file mode 100644
index 0000000..0b893ac
--- /dev/null
+++ b/public/bower_components/jquery/src/css/var/getStyles.js
@@ -0,0 +1,17 @@
+define( function() {
+	"use strict";
+
+	return function( elem ) {
+
+		// Support: IE <=11 only, Firefox <=30 (#15098, #14150)
+		// IE throws on elements created in popups
+		// FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
+		var view = elem.ownerDocument.defaultView;
+
+		if ( !view || !view.opener ) {
+			view = window;
+		}
+
+		return view.getComputedStyle( elem );
+	};
+} );
diff --git a/public/bower_components/jquery/src/css/var/isHiddenWithinTree.js b/public/bower_components/jquery/src/css/var/isHiddenWithinTree.js
new file mode 100644
index 0000000..3cfb93e
--- /dev/null
+++ b/public/bower_components/jquery/src/css/var/isHiddenWithinTree.js
@@ -0,0 +1,34 @@
+define( [
+	"../../core",
+	"../../selector"
+
+	// css is assumed
+], function( jQuery ) {
+	"use strict";
+
+	// isHiddenWithinTree reports if an element has a non-"none" display style (inline and/or
+	// through the CSS cascade), which is useful in deciding whether or not to make it visible.
+	// It differs from the :hidden selector (jQuery.expr.pseudos.hidden) in two important ways:
+	// * A hidden ancestor does not force an element to be classified as hidden.
+	// * Being disconnected from the document does not force an element to be classified as hidden.
+	// These differences improve the behavior of .toggle() et al. when applied to elements that are
+	// detached or contained within hidden ancestors (gh-2404, gh-2863).
+	return function( elem, el ) {
+
+		// isHiddenWithinTree might be called from jQuery#filter function;
+		// in that case, element will be second argument
+		elem = el || elem;
+
+		// Inline style trumps all
+		return elem.style.display === "none" ||
+			elem.style.display === "" &&
+
+			// Otherwise, check computed style
+			// Support: Firefox <=43 - 45
+			// Disconnected elements can have computed display: none, so first confirm that elem is
+			// in the document.
+			jQuery.contains( elem.ownerDocument, elem ) &&
+
+			jQuery.css( elem, "display" ) === "none";
+	};
+} );
diff --git a/public/bower_components/jquery/src/css/var/rboxStyle.js b/public/bower_components/jquery/src/css/var/rboxStyle.js
new file mode 100644
index 0000000..902c010
--- /dev/null
+++ b/public/bower_components/jquery/src/css/var/rboxStyle.js
@@ -0,0 +1,7 @@
+define( [
+	"./cssExpand"
+], function( cssExpand ) {
+	"use strict";
+
+	return new RegExp( cssExpand.join( "|" ), "i" );
+} );
diff --git a/public/bower_components/jquery/src/css/var/rnumnonpx.js b/public/bower_components/jquery/src/css/var/rnumnonpx.js
new file mode 100644
index 0000000..056cda7
--- /dev/null
+++ b/public/bower_components/jquery/src/css/var/rnumnonpx.js
@@ -0,0 +1,7 @@
+define( [
+	"../../var/pnum"
+], function( pnum ) {
+	"use strict";
+
+	return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
+} );
diff --git a/public/bower_components/jquery/src/css/var/swap.js b/public/bower_components/jquery/src/css/var/swap.js
new file mode 100644
index 0000000..1a9556b
--- /dev/null
+++ b/public/bower_components/jquery/src/css/var/swap.js
@@ -0,0 +1,26 @@
+define( function() {
+
+"use strict";
+
+// A method for quickly swapping in/out CSS properties to get correct calculations.
+return function( elem, options, callback, args ) {
+	var ret, name,
+		old = {};
+
+	// Remember the old values, and insert the new ones
+	for ( name in options ) {
+		old[ name ] = elem.style[ name ];
+		elem.style[ name ] = options[ name ];
+	}
+
+	ret = callback.apply( elem, args || [] );
+
+	// Revert the old values
+	for ( name in options ) {
+		elem.style[ name ] = old[ name ];
+	}
+
+	return ret;
+};
+
+} );
diff --git a/public/bower_components/jquery/src/data.js b/public/bower_components/jquery/src/data.js
new file mode 100644
index 0000000..95c365a
--- /dev/null
+++ b/public/bower_components/jquery/src/data.js
@@ -0,0 +1,180 @@
+define( [
+	"./core",
+	"./core/access",
+	"./core/camelCase",
+	"./data/var/dataPriv",
+	"./data/var/dataUser"
+], function( jQuery, access, camelCase, dataPriv, dataUser ) {
+
+"use strict";
+
+//	Implementation Summary
+//
+//	1. Enforce API surface and semantic compatibility with 1.9.x branch
+//	2. Improve the module's maintainability by reducing the storage
+//		paths to a single mechanism.
+//	3. Use the same single mechanism to support "private" and "user" data.
+//	4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+//	5. Avoid exposing implementation details on user objects (eg. expando properties)
+//	6. Provide a clear path for implementation upgrade to WeakMap in 2014
+
+var rbrace = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+	rmultiDash = /[A-Z]/g;
+
+function getData( data ) {
+	if ( data === "true" ) {
+		return true;
+	}
+
+	if ( data === "false" ) {
+		return false;
+	}
+
+	if ( data === "null" ) {
+		return null;
+	}
+
+	// Only convert to a number if it doesn't change the string
+	if ( data === +data + "" ) {
+		return +data;
+	}
+
+	if ( rbrace.test( data ) ) {
+		return JSON.parse( data );
+	}
+
+	return data;
+}
+
+function dataAttr( elem, key, data ) {
+	var name;
+
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		name = "data-" + key.replace( rmultiDash, "-$&" ).toLowerCase();
+		data = elem.getAttribute( name );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = getData( data );
+			} catch ( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			dataUser.set( elem, key, data );
+		} else {
+			data = undefined;
+		}
+	}
+	return data;
+}
+
+jQuery.extend( {
+	hasData: function( elem ) {
+		return dataUser.hasData( elem ) || dataPriv.hasData( elem );
+	},
+
+	data: function( elem, name, data ) {
+		return dataUser.access( elem, name, data );
+	},
+
+	removeData: function( elem, name ) {
+		dataUser.remove( elem, name );
+	},
+
+	// TODO: Now that all calls to _data and _removeData have been replaced
+	// with direct calls to dataPriv methods, these can be deprecated.
+	_data: function( elem, name, data ) {
+		return dataPriv.access( elem, name, data );
+	},
+
+	_removeData: function( elem, name ) {
+		dataPriv.remove( elem, name );
+	}
+} );
+
+jQuery.fn.extend( {
+	data: function( key, value ) {
+		var i, name, data,
+			elem = this[ 0 ],
+			attrs = elem && elem.attributes;
+
+		// Gets all values
+		if ( key === undefined ) {
+			if ( this.length ) {
+				data = dataUser.get( elem );
+
+				if ( elem.nodeType === 1 && !dataPriv.get( elem, "hasDataAttrs" ) ) {
+					i = attrs.length;
+					while ( i-- ) {
+
+						// Support: IE 11 only
+						// The attrs elements can be null (#14894)
+						if ( attrs[ i ] ) {
+							name = attrs[ i ].name;
+							if ( name.indexOf( "data-" ) === 0 ) {
+								name = camelCase( name.slice( 5 ) );
+								dataAttr( elem, name, data[ name ] );
+							}
+						}
+					}
+					dataPriv.set( elem, "hasDataAttrs", true );
+				}
+			}
+
+			return data;
+		}
+
+		// Sets multiple values
+		if ( typeof key === "object" ) {
+			return this.each( function() {
+				dataUser.set( this, key );
+			} );
+		}
+
+		return access( this, function( value ) {
+			var data;
+
+			// The calling jQuery object (element matches) is not empty
+			// (and therefore has an element appears at this[ 0 ]) and the
+			// `value` parameter was not undefined. An empty jQuery object
+			// will result in `undefined` for elem = this[ 0 ] which will
+			// throw an exception if an attempt to read a data cache is made.
+			if ( elem && value === undefined ) {
+
+				// Attempt to get data from the cache
+				// The key will always be camelCased in Data
+				data = dataUser.get( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// Attempt to "discover" the data in
+				// HTML5 custom data-* attrs
+				data = dataAttr( elem, key );
+				if ( data !== undefined ) {
+					return data;
+				}
+
+				// We tried really hard, but the data doesn't exist.
+				return;
+			}
+
+			// Set the data...
+			this.each( function() {
+
+				// We always store the camelCased key
+				dataUser.set( this, key, value );
+			} );
+		}, null, value, arguments.length > 1, null, true );
+	},
+
+	removeData: function( key ) {
+		return this.each( function() {
+			dataUser.remove( this, key );
+		} );
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/data/Data.js b/public/bower_components/jquery/src/data/Data.js
new file mode 100644
index 0000000..31ff431
--- /dev/null
+++ b/public/bower_components/jquery/src/data/Data.js
@@ -0,0 +1,162 @@
+define( [
+	"../core",
+	"../core/camelCase",
+	"../var/rnothtmlwhite",
+	"./var/acceptData"
+], function( jQuery, camelCase, rnothtmlwhite, acceptData ) {
+
+"use strict";
+
+function Data() {
+	this.expando = jQuery.expando + Data.uid++;
+}
+
+Data.uid = 1;
+
+Data.prototype = {
+
+	cache: function( owner ) {
+
+		// Check if the owner object already has a cache
+		var value = owner[ this.expando ];
+
+		// If not, create one
+		if ( !value ) {
+			value = {};
+
+			// We can accept data for non-element nodes in modern browsers,
+			// but we should not, see #8335.
+			// Always return an empty object.
+			if ( acceptData( owner ) ) {
+
+				// If it is a node unlikely to be stringify-ed or looped over
+				// use plain assignment
+				if ( owner.nodeType ) {
+					owner[ this.expando ] = value;
+
+				// Otherwise secure it in a non-enumerable property
+				// configurable must be true to allow the property to be
+				// deleted when data is removed
+				} else {
+					Object.defineProperty( owner, this.expando, {
+						value: value,
+						configurable: true
+					} );
+				}
+			}
+		}
+
+		return value;
+	},
+	set: function( owner, data, value ) {
+		var prop,
+			cache = this.cache( owner );
+
+		// Handle: [ owner, key, value ] args
+		// Always use camelCase key (gh-2257)
+		if ( typeof data === "string" ) {
+			cache[ camelCase( data ) ] = value;
+
+		// Handle: [ owner, { properties } ] args
+		} else {
+
+			// Copy the properties one-by-one to the cache object
+			for ( prop in data ) {
+				cache[ camelCase( prop ) ] = data[ prop ];
+			}
+		}
+		return cache;
+	},
+	get: function( owner, key ) {
+		return key === undefined ?
+			this.cache( owner ) :
+
+			// Always use camelCase key (gh-2257)
+			owner[ this.expando ] && owner[ this.expando ][ camelCase( key ) ];
+	},
+	access: function( owner, key, value ) {
+
+		// In cases where either:
+		//
+		//   1. No key was specified
+		//   2. A string key was specified, but no value provided
+		//
+		// Take the "read" path and allow the get method to determine
+		// which value to return, respectively either:
+		//
+		//   1. The entire cache object
+		//   2. The data stored at the key
+		//
+		if ( key === undefined ||
+				( ( key && typeof key === "string" ) && value === undefined ) ) {
+
+			return this.get( owner, key );
+		}
+
+		// When the key is not a string, or both a key and value
+		// are specified, set or extend (existing objects) with either:
+		//
+		//   1. An object of properties
+		//   2. A key and value
+		//
+		this.set( owner, key, value );
+
+		// Since the "set" path can have two possible entry points
+		// return the expected data based on which path was taken[*]
+		return value !== undefined ? value : key;
+	},
+	remove: function( owner, key ) {
+		var i,
+			cache = owner[ this.expando ];
+
+		if ( cache === undefined ) {
+			return;
+		}
+
+		if ( key !== undefined ) {
+
+			// Support array or space separated string of keys
+			if ( Array.isArray( key ) ) {
+
+				// If key is an array of keys...
+				// We always set camelCase keys, so remove that.
+				key = key.map( camelCase );
+			} else {
+				key = camelCase( key );
+
+				// If a key with the spaces exists, use it.
+				// Otherwise, create an array by matching non-whitespace
+				key = key in cache ?
+					[ key ] :
+					( key.match( rnothtmlwhite ) || [] );
+			}
+
+			i = key.length;
+
+			while ( i-- ) {
+				delete cache[ key[ i ] ];
+			}
+		}
+
+		// Remove the expando if there's no more data
+		if ( key === undefined || jQuery.isEmptyObject( cache ) ) {
+
+			// Support: Chrome <=35 - 45
+			// Webkit & Blink performance suffers when deleting properties
+			// from DOM nodes, so set to undefined instead
+			// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)
+			if ( owner.nodeType ) {
+				owner[ this.expando ] = undefined;
+			} else {
+				delete owner[ this.expando ];
+			}
+		}
+	},
+	hasData: function( owner ) {
+		var cache = owner[ this.expando ];
+		return cache !== undefined && !jQuery.isEmptyObject( cache );
+	}
+};
+
+return Data;
+} );
diff --git a/public/bower_components/jquery/src/data/var/acceptData.js b/public/bower_components/jquery/src/data/var/acceptData.js
new file mode 100644
index 0000000..e00f753
--- /dev/null
+++ b/public/bower_components/jquery/src/data/var/acceptData.js
@@ -0,0 +1,19 @@
+define( function() {
+
+"use strict";
+
+/**
+ * Determines whether an object can have data
+ */
+return function( owner ) {
+
+	// Accepts only:
+	//  - Node
+	//    - Node.ELEMENT_NODE
+	//    - Node.DOCUMENT_NODE
+	//  - Object
+	//    - Any
+	return owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );
+};
+
+} );
diff --git a/public/bower_components/jquery/src/data/var/dataPriv.js b/public/bower_components/jquery/src/data/var/dataPriv.js
new file mode 100644
index 0000000..72713c8
--- /dev/null
+++ b/public/bower_components/jquery/src/data/var/dataPriv.js
@@ -0,0 +1,7 @@
+define( [
+	"../Data"
+], function( Data ) {
+	"use strict";
+
+	return new Data();
+} );
diff --git a/public/bower_components/jquery/src/data/var/dataUser.js b/public/bower_components/jquery/src/data/var/dataUser.js
new file mode 100644
index 0000000..72713c8
--- /dev/null
+++ b/public/bower_components/jquery/src/data/var/dataUser.js
@@ -0,0 +1,7 @@
+define( [
+	"../Data"
+], function( Data ) {
+	"use strict";
+
+	return new Data();
+} );
diff --git a/public/bower_components/jquery/src/deferred.js b/public/bower_components/jquery/src/deferred.js
new file mode 100644
index 0000000..0425d36
--- /dev/null
+++ b/public/bower_components/jquery/src/deferred.js
@@ -0,0 +1,399 @@
+define( [
+	"./core",
+	"./var/isFunction",
+	"./var/slice",
+	"./callbacks"
+], function( jQuery, isFunction, slice ) {
+
+"use strict";
+
+function Identity( v ) {
+	return v;
+}
+function Thrower( ex ) {
+	throw ex;
+}
+
+function adoptValue( value, resolve, reject, noValue ) {
+	var method;
+
+	try {
+
+		// Check for promise aspect first to privilege synchronous behavior
+		if ( value && isFunction( ( method = value.promise ) ) ) {
+			method.call( value ).done( resolve ).fail( reject );
+
+		// Other thenables
+		} else if ( value && isFunction( ( method = value.then ) ) ) {
+			method.call( value, resolve, reject );
+
+		// Other non-thenables
+		} else {
+
+			// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:
+			// * false: [ value ].slice( 0 ) => resolve( value )
+			// * true: [ value ].slice( 1 ) => resolve()
+			resolve.apply( undefined, [ value ].slice( noValue ) );
+		}
+
+	// For Promises/A+, convert exceptions into rejections
+	// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in
+	// Deferred#then to conditionally suppress rejection.
+	} catch ( value ) {
+
+		// Support: Android 4.0 only
+		// Strict mode functions invoked without .call/.apply get global-object context
+		reject.apply( undefined, [ value ] );
+	}
+}
+
+jQuery.extend( {
+
+	Deferred: function( func ) {
+		var tuples = [
+
+				// action, add listener, callbacks,
+				// ... .then handlers, argument index, [final state]
+				[ "notify", "progress", jQuery.Callbacks( "memory" ),
+					jQuery.Callbacks( "memory" ), 2 ],
+				[ "resolve", "done", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 0, "resolved" ],
+				[ "reject", "fail", jQuery.Callbacks( "once memory" ),
+					jQuery.Callbacks( "once memory" ), 1, "rejected" ]
+			],
+			state = "pending",
+			promise = {
+				state: function() {
+					return state;
+				},
+				always: function() {
+					deferred.done( arguments ).fail( arguments );
+					return this;
+				},
+				"catch": function( fn ) {
+					return promise.then( null, fn );
+				},
+
+				// Keep pipe for back-compat
+				pipe: function( /* fnDone, fnFail, fnProgress */ ) {
+					var fns = arguments;
+
+					return jQuery.Deferred( function( newDefer ) {
+						jQuery.each( tuples, function( i, tuple ) {
+
+							// Map tuples (progress, done, fail) to arguments (done, fail, progress)
+							var fn = isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];
+
+							// deferred.progress(function() { bind to newDefer or newDefer.notify })
+							// deferred.done(function() { bind to newDefer or newDefer.resolve })
+							// deferred.fail(function() { bind to newDefer or newDefer.reject })
+							deferred[ tuple[ 1 ] ]( function() {
+								var returned = fn && fn.apply( this, arguments );
+								if ( returned && isFunction( returned.promise ) ) {
+									returned.promise()
+										.progress( newDefer.notify )
+										.done( newDefer.resolve )
+										.fail( newDefer.reject );
+								} else {
+									newDefer[ tuple[ 0 ] + "With" ](
+										this,
+										fn ? [ returned ] : arguments
+									);
+								}
+							} );
+						} );
+						fns = null;
+					} ).promise();
+				},
+				then: function( onFulfilled, onRejected, onProgress ) {
+					var maxDepth = 0;
+					function resolve( depth, deferred, handler, special ) {
+						return function() {
+							var that = this,
+								args = arguments,
+								mightThrow = function() {
+									var returned, then;
+
+									// Support: Promises/A+ section 2.3.3.3.3
+									// https://promisesaplus.com/#point-59
+									// Ignore double-resolution attempts
+									if ( depth < maxDepth ) {
+										return;
+									}
+
+									returned = handler.apply( that, args );
+
+									// Support: Promises/A+ section 2.3.1
+									// https://promisesaplus.com/#point-48
+									if ( returned === deferred.promise() ) {
+										throw new TypeError( "Thenable self-resolution" );
+									}
+
+									// Support: Promises/A+ sections 2.3.3.1, 3.5
+									// https://promisesaplus.com/#point-54
+									// https://promisesaplus.com/#point-75
+									// Retrieve `then` only once
+									then = returned &&
+
+										// Support: Promises/A+ section 2.3.4
+										// https://promisesaplus.com/#point-64
+										// Only check objects and functions for thenability
+										( typeof returned === "object" ||
+											typeof returned === "function" ) &&
+										returned.then;
+
+									// Handle a returned thenable
+									if ( isFunction( then ) ) {
+
+										// Special processors (notify) just wait for resolution
+										if ( special ) {
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special )
+											);
+
+										// Normal processors (resolve) also hook into progress
+										} else {
+
+											// ...and disregard older resolution values
+											maxDepth++;
+
+											then.call(
+												returned,
+												resolve( maxDepth, deferred, Identity, special ),
+												resolve( maxDepth, deferred, Thrower, special ),
+												resolve( maxDepth, deferred, Identity,
+													deferred.notifyWith )
+											);
+										}
+
+									// Handle all other returned values
+									} else {
+
+										// Only substitute handlers pass on context
+										// and multiple values (non-spec behavior)
+										if ( handler !== Identity ) {
+											that = undefined;
+											args = [ returned ];
+										}
+
+										// Process the value(s)
+										// Default process is resolve
+										( special || deferred.resolveWith )( that, args );
+									}
+								},
+
+								// Only normal processors (resolve) catch and reject exceptions
+								process = special ?
+									mightThrow :
+									function() {
+										try {
+											mightThrow();
+										} catch ( e ) {
+
+											if ( jQuery.Deferred.exceptionHook ) {
+												jQuery.Deferred.exceptionHook( e,
+													process.stackTrace );
+											}
+
+											// Support: Promises/A+ section 2.3.3.3.4.1
+											// https://promisesaplus.com/#point-61
+											// Ignore post-resolution exceptions
+											if ( depth + 1 >= maxDepth ) {
+
+												// Only substitute handlers pass on context
+												// and multiple values (non-spec behavior)
+												if ( handler !== Thrower ) {
+													that = undefined;
+													args = [ e ];
+												}
+
+												deferred.rejectWith( that, args );
+											}
+										}
+									};
+
+							// Support: Promises/A+ section 2.3.3.3.1
+							// https://promisesaplus.com/#point-57
+							// Re-resolve promises immediately to dodge false rejection from
+							// subsequent errors
+							if ( depth ) {
+								process();
+							} else {
+
+								// Call an optional hook to record the stack, in case of exception
+								// since it's otherwise lost when execution goes async
+								if ( jQuery.Deferred.getStackHook ) {
+									process.stackTrace = jQuery.Deferred.getStackHook();
+								}
+								window.setTimeout( process );
+							}
+						};
+					}
+
+					return jQuery.Deferred( function( newDefer ) {
+
+						// progress_handlers.add( ... )
+						tuples[ 0 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onProgress ) ?
+									onProgress :
+									Identity,
+								newDefer.notifyWith
+							)
+						);
+
+						// fulfilled_handlers.add( ... )
+						tuples[ 1 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onFulfilled ) ?
+									onFulfilled :
+									Identity
+							)
+						);
+
+						// rejected_handlers.add( ... )
+						tuples[ 2 ][ 3 ].add(
+							resolve(
+								0,
+								newDefer,
+								isFunction( onRejected ) ?
+									onRejected :
+									Thrower
+							)
+						);
+					} ).promise();
+				},
+
+				// Get a promise for this deferred
+				// If obj is provided, the promise aspect is added to the object
+				promise: function( obj ) {
+					return obj != null ? jQuery.extend( obj, promise ) : promise;
+				}
+			},
+			deferred = {};
+
+		// Add list-specific methods
+		jQuery.each( tuples, function( i, tuple ) {
+			var list = tuple[ 2 ],
+				stateString = tuple[ 5 ];
+
+			// promise.progress = list.add
+			// promise.done = list.add
+			// promise.fail = list.add
+			promise[ tuple[ 1 ] ] = list.add;
+
+			// Handle state
+			if ( stateString ) {
+				list.add(
+					function() {
+
+						// state = "resolved" (i.e., fulfilled)
+						// state = "rejected"
+						state = stateString;
+					},
+
+					// rejected_callbacks.disable
+					// fulfilled_callbacks.disable
+					tuples[ 3 - i ][ 2 ].disable,
+
+					// rejected_handlers.disable
+					// fulfilled_handlers.disable
+					tuples[ 3 - i ][ 3 ].disable,
+
+					// progress_callbacks.lock
+					tuples[ 0 ][ 2 ].lock,
+
+					// progress_handlers.lock
+					tuples[ 0 ][ 3 ].lock
+				);
+			}
+
+			// progress_handlers.fire
+			// fulfilled_handlers.fire
+			// rejected_handlers.fire
+			list.add( tuple[ 3 ].fire );
+
+			// deferred.notify = function() { deferred.notifyWith(...) }
+			// deferred.resolve = function() { deferred.resolveWith(...) }
+			// deferred.reject = function() { deferred.rejectWith(...) }
+			deferred[ tuple[ 0 ] ] = function() {
+				deferred[ tuple[ 0 ] + "With" ]( this === deferred ? undefined : this, arguments );
+				return this;
+			};
+
+			// deferred.notifyWith = list.fireWith
+			// deferred.resolveWith = list.fireWith
+			// deferred.rejectWith = list.fireWith
+			deferred[ tuple[ 0 ] + "With" ] = list.fireWith;
+		} );
+
+		// Make the deferred a promise
+		promise.promise( deferred );
+
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+
+		// All done!
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( singleValue ) {
+		var
+
+			// count of uncompleted subordinates
+			remaining = arguments.length,
+
+			// count of unprocessed arguments
+			i = remaining,
+
+			// subordinate fulfillment data
+			resolveContexts = Array( i ),
+			resolveValues = slice.call( arguments ),
+
+			// the master Deferred
+			master = jQuery.Deferred(),
+
+			// subordinate callback factory
+			updateFunc = function( i ) {
+				return function( value ) {
+					resolveContexts[ i ] = this;
+					resolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;
+					if ( !( --remaining ) ) {
+						master.resolveWith( resolveContexts, resolveValues );
+					}
+				};
+			};
+
+		// Single- and empty arguments are adopted like Promise.resolve
+		if ( remaining <= 1 ) {
+			adoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,
+				!remaining );
+
+			// Use .then() to unwrap secondary thenables (cf. gh-3000)
+			if ( master.state() === "pending" ||
+				isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {
+
+				return master.then();
+			}
+		}
+
+		// Multiple arguments are aggregated like Promise.all array elements
+		while ( i-- ) {
+			adoptValue( resolveValues[ i ], updateFunc( i ), master.reject );
+		}
+
+		return master.promise();
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/deferred/exceptionHook.js b/public/bower_components/jquery/src/deferred/exceptionHook.js
new file mode 100644
index 0000000..6dbdc85
--- /dev/null
+++ b/public/bower_components/jquery/src/deferred/exceptionHook.js
@@ -0,0 +1,21 @@
+define( [
+	"../core",
+	"../deferred"
+], function( jQuery ) {
+
+"use strict";
+
+// These usually indicate a programmer mistake during development,
+// warn about them ASAP rather than swallowing them by default.
+var rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;
+
+jQuery.Deferred.exceptionHook = function( error, stack ) {
+
+	// Support: IE 8 - 9 only
+	// Console exists when dev tools are open, which can happen at any time
+	if ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {
+		window.console.warn( "jQuery.Deferred exception: " + error.message, error.stack, stack );
+	}
+};
+
+} );
diff --git a/public/bower_components/jquery/src/deprecated.js b/public/bower_components/jquery/src/deprecated.js
new file mode 100644
index 0000000..c11b0d3
--- /dev/null
+++ b/public/bower_components/jquery/src/deprecated.js
@@ -0,0 +1,98 @@
+define( [
+	"./core",
+	"./core/nodeName",
+	"./core/camelCase",
+	"./core/toType",
+	"./var/isFunction",
+	"./var/isWindow",
+	"./var/slice",
+
+	"./event/alias"
+], function( jQuery, nodeName, camelCase, toType, isFunction, isWindow, slice ) {
+
+"use strict";
+
+jQuery.fn.extend( {
+
+	bind: function( types, data, fn ) {
+		return this.on( types, null, data, fn );
+	},
+	unbind: function( types, fn ) {
+		return this.off( types, null, fn );
+	},
+
+	delegate: function( selector, types, data, fn ) {
+		return this.on( types, selector, data, fn );
+	},
+	undelegate: function( selector, types, fn ) {
+
+		// ( namespace ) or ( selector, types [, fn] )
+		return arguments.length === 1 ?
+			this.off( selector, "**" ) :
+			this.off( types, selector || "**", fn );
+	}
+} );
+
+// Bind a function to a context, optionally partially applying any
+// arguments.
+// jQuery.proxy is deprecated to promote standards (specifically Function#bind)
+// However, it is not slated for removal any time soon
+jQuery.proxy = function( fn, context ) {
+	var tmp, args, proxy;
+
+	if ( typeof context === "string" ) {
+		tmp = fn[ context ];
+		context = fn;
+		fn = tmp;
+	}
+
+	// Quick check to determine if target is callable, in the spec
+	// this throws a TypeError, but we will just return undefined.
+	if ( !isFunction( fn ) ) {
+		return undefined;
+	}
+
+	// Simulated bind
+	args = slice.call( arguments, 2 );
+	proxy = function() {
+		return fn.apply( context || this, args.concat( slice.call( arguments ) ) );
+	};
+
+	// Set the guid of unique handler to the same of original handler, so it can be removed
+	proxy.guid = fn.guid = fn.guid || jQuery.guid++;
+
+	return proxy;
+};
+
+jQuery.holdReady = function( hold ) {
+	if ( hold ) {
+		jQuery.readyWait++;
+	} else {
+		jQuery.ready( true );
+	}
+};
+jQuery.isArray = Array.isArray;
+jQuery.parseJSON = JSON.parse;
+jQuery.nodeName = nodeName;
+jQuery.isFunction = isFunction;
+jQuery.isWindow = isWindow;
+jQuery.camelCase = camelCase;
+jQuery.type = toType;
+
+jQuery.now = Date.now;
+
+jQuery.isNumeric = function( obj ) {
+
+	// As of jQuery 3.0, isNumeric is limited to
+	// strings and numbers (primitives or objects)
+	// that can be coerced to finite numbers (gh-2662)
+	var type = jQuery.type( obj );
+	return ( type === "number" || type === "string" ) &&
+
+		// parseFloat NaNs numeric-cast false positives ("")
+		// ...but misinterprets leading-number strings, particularly hex literals ("0x...")
+		// subtraction forces infinities to NaN
+		!isNaN( obj - parseFloat( obj ) );
+};
+
+} );
diff --git a/public/bower_components/jquery/src/dimensions.js b/public/bower_components/jquery/src/dimensions.js
new file mode 100644
index 0000000..2a2c039
--- /dev/null
+++ b/public/bower_components/jquery/src/dimensions.js
@@ -0,0 +1,57 @@
+define( [
+	"./core",
+	"./core/access",
+	"./var/isWindow",
+	"./css"
+], function( jQuery, access, isWindow ) {
+
+"use strict";
+
+// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods
+jQuery.each( { Height: "height", Width: "width" }, function( name, type ) {
+	jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name },
+		function( defaultExtra, funcName ) {
+
+		// Margin is only for outerHeight, outerWidth
+		jQuery.fn[ funcName ] = function( margin, value ) {
+			var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ),
+				extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" );
+
+			return access( this, function( elem, type, value ) {
+				var doc;
+
+				if ( isWindow( elem ) ) {
+
+					// $( window ).outerWidth/Height return w/h including scrollbars (gh-1729)
+					return funcName.indexOf( "outer" ) === 0 ?
+						elem[ "inner" + name ] :
+						elem.document.documentElement[ "client" + name ];
+				}
+
+				// Get document width or height
+				if ( elem.nodeType === 9 ) {
+					doc = elem.documentElement;
+
+					// Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height],
+					// whichever is greatest
+					return Math.max(
+						elem.body[ "scroll" + name ], doc[ "scroll" + name ],
+						elem.body[ "offset" + name ], doc[ "offset" + name ],
+						doc[ "client" + name ]
+					);
+				}
+
+				return value === undefined ?
+
+					// Get width or height on the element, requesting but not forcing parseFloat
+					jQuery.css( elem, type, extra ) :
+
+					// Set width or height on the element
+					jQuery.style( elem, type, value, extra );
+			}, type, chainable ? margin : undefined, chainable );
+		};
+	} );
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/effects.js b/public/bower_components/jquery/src/effects.js
new file mode 100644
index 0000000..a778de1
--- /dev/null
+++ b/public/bower_components/jquery/src/effects.js
@@ -0,0 +1,702 @@
+define( [
+	"./core",
+	"./core/camelCase",
+	"./var/document",
+	"./var/isFunction",
+	"./var/rcssNum",
+	"./var/rnothtmlwhite",
+	"./css/var/cssExpand",
+	"./css/var/isHiddenWithinTree",
+	"./css/var/swap",
+	"./css/adjustCSS",
+	"./data/var/dataPriv",
+	"./css/showHide",
+
+	"./core/init",
+	"./queue",
+	"./deferred",
+	"./traversing",
+	"./manipulation",
+	"./css",
+	"./effects/Tween"
+], function( jQuery, camelCase, document, isFunction, rcssNum, rnothtmlwhite, cssExpand,
+	isHiddenWithinTree, swap, adjustCSS, dataPriv, showHide ) {
+
+"use strict";
+
+var
+	fxNow, inProgress,
+	rfxtypes = /^(?:toggle|show|hide)$/,
+	rrun = /queueHooks$/;
+
+function schedule() {
+	if ( inProgress ) {
+		if ( document.hidden === false && window.requestAnimationFrame ) {
+			window.requestAnimationFrame( schedule );
+		} else {
+			window.setTimeout( schedule, jQuery.fx.interval );
+		}
+
+		jQuery.fx.tick();
+	}
+}
+
+// Animations created synchronously will run synchronously
+function createFxNow() {
+	window.setTimeout( function() {
+		fxNow = undefined;
+	} );
+	return ( fxNow = Date.now() );
+}
+
+// Generate parameters to create a standard animation
+function genFx( type, includeWidth ) {
+	var which,
+		i = 0,
+		attrs = { height: type };
+
+	// If we include width, step value is 1 to do all cssExpand values,
+	// otherwise step value is 2 to skip over Left and Right
+	includeWidth = includeWidth ? 1 : 0;
+	for ( ; i < 4; i += 2 - includeWidth ) {
+		which = cssExpand[ i ];
+		attrs[ "margin" + which ] = attrs[ "padding" + which ] = type;
+	}
+
+	if ( includeWidth ) {
+		attrs.opacity = attrs.width = type;
+	}
+
+	return attrs;
+}
+
+function createTween( value, prop, animation ) {
+	var tween,
+		collection = ( Animation.tweeners[ prop ] || [] ).concat( Animation.tweeners[ "*" ] ),
+		index = 0,
+		length = collection.length;
+	for ( ; index < length; index++ ) {
+		if ( ( tween = collection[ index ].call( animation, prop, value ) ) ) {
+
+			// We're done with this property
+			return tween;
+		}
+	}
+}
+
+function defaultPrefilter( elem, props, opts ) {
+	var prop, value, toggle, hooks, oldfire, propTween, restoreDisplay, display,
+		isBox = "width" in props || "height" in props,
+		anim = this,
+		orig = {},
+		style = elem.style,
+		hidden = elem.nodeType && isHiddenWithinTree( elem ),
+		dataShow = dataPriv.get( elem, "fxshow" );
+
+	// Queue-skipping animations hijack the fx hooks
+	if ( !opts.queue ) {
+		hooks = jQuery._queueHooks( elem, "fx" );
+		if ( hooks.unqueued == null ) {
+			hooks.unqueued = 0;
+			oldfire = hooks.empty.fire;
+			hooks.empty.fire = function() {
+				if ( !hooks.unqueued ) {
+					oldfire();
+				}
+			};
+		}
+		hooks.unqueued++;
+
+		anim.always( function() {
+
+			// Ensure the complete handler is called before this completes
+			anim.always( function() {
+				hooks.unqueued--;
+				if ( !jQuery.queue( elem, "fx" ).length ) {
+					hooks.empty.fire();
+				}
+			} );
+		} );
+	}
+
+	// Detect show/hide animations
+	for ( prop in props ) {
+		value = props[ prop ];
+		if ( rfxtypes.test( value ) ) {
+			delete props[ prop ];
+			toggle = toggle || value === "toggle";
+			if ( value === ( hidden ? "hide" : "show" ) ) {
+
+				// Pretend to be hidden if this is a "show" and
+				// there is still data from a stopped show/hide
+				if ( value === "show" && dataShow && dataShow[ prop ] !== undefined ) {
+					hidden = true;
+
+				// Ignore all other no-op show/hide data
+				} else {
+					continue;
+				}
+			}
+			orig[ prop ] = dataShow && dataShow[ prop ] || jQuery.style( elem, prop );
+		}
+	}
+
+	// Bail out if this is a no-op like .hide().hide()
+	propTween = !jQuery.isEmptyObject( props );
+	if ( !propTween && jQuery.isEmptyObject( orig ) ) {
+		return;
+	}
+
+	// Restrict "overflow" and "display" styles during box animations
+	if ( isBox && elem.nodeType === 1 ) {
+
+		// Support: IE <=9 - 11, Edge 12 - 15
+		// Record all 3 overflow attributes because IE does not infer the shorthand
+		// from identically-valued overflowX and overflowY and Edge just mirrors
+		// the overflowX value there.
+		opts.overflow = [ style.overflow, style.overflowX, style.overflowY ];
+
+		// Identify a display type, preferring old show/hide data over the CSS cascade
+		restoreDisplay = dataShow && dataShow.display;
+		if ( restoreDisplay == null ) {
+			restoreDisplay = dataPriv.get( elem, "display" );
+		}
+		display = jQuery.css( elem, "display" );
+		if ( display === "none" ) {
+			if ( restoreDisplay ) {
+				display = restoreDisplay;
+			} else {
+
+				// Get nonempty value(s) by temporarily forcing visibility
+				showHide( [ elem ], true );
+				restoreDisplay = elem.style.display || restoreDisplay;
+				display = jQuery.css( elem, "display" );
+				showHide( [ elem ] );
+			}
+		}
+
+		// Animate inline elements as inline-block
+		if ( display === "inline" || display === "inline-block" && restoreDisplay != null ) {
+			if ( jQuery.css( elem, "float" ) === "none" ) {
+
+				// Restore the original display value at the end of pure show/hide animations
+				if ( !propTween ) {
+					anim.done( function() {
+						style.display = restoreDisplay;
+					} );
+					if ( restoreDisplay == null ) {
+						display = style.display;
+						restoreDisplay = display === "none" ? "" : display;
+					}
+				}
+				style.display = "inline-block";
+			}
+		}
+	}
+
+	if ( opts.overflow ) {
+		style.overflow = "hidden";
+		anim.always( function() {
+			style.overflow = opts.overflow[ 0 ];
+			style.overflowX = opts.overflow[ 1 ];
+			style.overflowY = opts.overflow[ 2 ];
+		} );
+	}
+
+	// Implement show/hide animations
+	propTween = false;
+	for ( prop in orig ) {
+
+		// General show/hide setup for this element animation
+		if ( !propTween ) {
+			if ( dataShow ) {
+				if ( "hidden" in dataShow ) {
+					hidden = dataShow.hidden;
+				}
+			} else {
+				dataShow = dataPriv.access( elem, "fxshow", { display: restoreDisplay } );
+			}
+
+			// Store hidden/visible for toggle so `.stop().toggle()` "reverses"
+			if ( toggle ) {
+				dataShow.hidden = !hidden;
+			}
+
+			// Show elements before animating them
+			if ( hidden ) {
+				showHide( [ elem ], true );
+			}
+
+			/* eslint-disable no-loop-func */
+
+			anim.done( function() {
+
+			/* eslint-enable no-loop-func */
+
+				// The final step of a "hide" animation is actually hiding the element
+				if ( !hidden ) {
+					showHide( [ elem ] );
+				}
+				dataPriv.remove( elem, "fxshow" );
+				for ( prop in orig ) {
+					jQuery.style( elem, prop, orig[ prop ] );
+				}
+			} );
+		}
+
+		// Per-property setup
+		propTween = createTween( hidden ? dataShow[ prop ] : 0, prop, anim );
+		if ( !( prop in dataShow ) ) {
+			dataShow[ prop ] = propTween.start;
+			if ( hidden ) {
+				propTween.end = propTween.start;
+				propTween.start = 0;
+			}
+		}
+	}
+}
+
+function propFilter( props, specialEasing ) {
+	var index, name, easing, value, hooks;
+
+	// camelCase, specialEasing and expand cssHook pass
+	for ( index in props ) {
+		name = camelCase( index );
+		easing = specialEasing[ name ];
+		value = props[ index ];
+		if ( Array.isArray( value ) ) {
+			easing = value[ 1 ];
+			value = props[ index ] = value[ 0 ];
+		}
+
+		if ( index !== name ) {
+			props[ name ] = value;
+			delete props[ index ];
+		}
+
+		hooks = jQuery.cssHooks[ name ];
+		if ( hooks && "expand" in hooks ) {
+			value = hooks.expand( value );
+			delete props[ name ];
+
+			// Not quite $.extend, this won't overwrite existing keys.
+			// Reusing 'index' because we have the correct "name"
+			for ( index in value ) {
+				if ( !( index in props ) ) {
+					props[ index ] = value[ index ];
+					specialEasing[ index ] = easing;
+				}
+			}
+		} else {
+			specialEasing[ name ] = easing;
+		}
+	}
+}
+
+function Animation( elem, properties, options ) {
+	var result,
+		stopped,
+		index = 0,
+		length = Animation.prefilters.length,
+		deferred = jQuery.Deferred().always( function() {
+
+			// Don't match elem in the :animated selector
+			delete tick.elem;
+		} ),
+		tick = function() {
+			if ( stopped ) {
+				return false;
+			}
+			var currentTime = fxNow || createFxNow(),
+				remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ),
+
+				// Support: Android 2.3 only
+				// Archaic crash bug won't allow us to use `1 - ( 0.5 || 0 )` (#12497)
+				temp = remaining / animation.duration || 0,
+				percent = 1 - temp,
+				index = 0,
+				length = animation.tweens.length;
+
+			for ( ; index < length; index++ ) {
+				animation.tweens[ index ].run( percent );
+			}
+
+			deferred.notifyWith( elem, [ animation, percent, remaining ] );
+
+			// If there's more to do, yield
+			if ( percent < 1 && length ) {
+				return remaining;
+			}
+
+			// If this was an empty animation, synthesize a final progress notification
+			if ( !length ) {
+				deferred.notifyWith( elem, [ animation, 1, 0 ] );
+			}
+
+			// Resolve the animation and report its conclusion
+			deferred.resolveWith( elem, [ animation ] );
+			return false;
+		},
+		animation = deferred.promise( {
+			elem: elem,
+			props: jQuery.extend( {}, properties ),
+			opts: jQuery.extend( true, {
+				specialEasing: {},
+				easing: jQuery.easing._default
+			}, options ),
+			originalProperties: properties,
+			originalOptions: options,
+			startTime: fxNow || createFxNow(),
+			duration: options.duration,
+			tweens: [],
+			createTween: function( prop, end ) {
+				var tween = jQuery.Tween( elem, animation.opts, prop, end,
+						animation.opts.specialEasing[ prop ] || animation.opts.easing );
+				animation.tweens.push( tween );
+				return tween;
+			},
+			stop: function( gotoEnd ) {
+				var index = 0,
+
+					// If we are going to the end, we want to run all the tweens
+					// otherwise we skip this part
+					length = gotoEnd ? animation.tweens.length : 0;
+				if ( stopped ) {
+					return this;
+				}
+				stopped = true;
+				for ( ; index < length; index++ ) {
+					animation.tweens[ index ].run( 1 );
+				}
+
+				// Resolve when we played the last frame; otherwise, reject
+				if ( gotoEnd ) {
+					deferred.notifyWith( elem, [ animation, 1, 0 ] );
+					deferred.resolveWith( elem, [ animation, gotoEnd ] );
+				} else {
+					deferred.rejectWith( elem, [ animation, gotoEnd ] );
+				}
+				return this;
+			}
+		} ),
+		props = animation.props;
+
+	propFilter( props, animation.opts.specialEasing );
+
+	for ( ; index < length; index++ ) {
+		result = Animation.prefilters[ index ].call( animation, elem, props, animation.opts );
+		if ( result ) {
+			if ( isFunction( result.stop ) ) {
+				jQuery._queueHooks( animation.elem, animation.opts.queue ).stop =
+					result.stop.bind( result );
+			}
+			return result;
+		}
+	}
+
+	jQuery.map( props, createTween, animation );
+
+	if ( isFunction( animation.opts.start ) ) {
+		animation.opts.start.call( elem, animation );
+	}
+
+	// Attach callbacks from options
+	animation
+		.progress( animation.opts.progress )
+		.done( animation.opts.done, animation.opts.complete )
+		.fail( animation.opts.fail )
+		.always( animation.opts.always );
+
+	jQuery.fx.timer(
+		jQuery.extend( tick, {
+			elem: elem,
+			anim: animation,
+			queue: animation.opts.queue
+		} )
+	);
+
+	return animation;
+}
+
+jQuery.Animation = jQuery.extend( Animation, {
+
+	tweeners: {
+		"*": [ function( prop, value ) {
+			var tween = this.createTween( prop, value );
+			adjustCSS( tween.elem, prop, rcssNum.exec( value ), tween );
+			return tween;
+		} ]
+	},
+
+	tweener: function( props, callback ) {
+		if ( isFunction( props ) ) {
+			callback = props;
+			props = [ "*" ];
+		} else {
+			props = props.match( rnothtmlwhite );
+		}
+
+		var prop,
+			index = 0,
+			length = props.length;
+
+		for ( ; index < length; index++ ) {
+			prop = props[ index ];
+			Animation.tweeners[ prop ] = Animation.tweeners[ prop ] || [];
+			Animation.tweeners[ prop ].unshift( callback );
+		}
+	},
+
+	prefilters: [ defaultPrefilter ],
+
+	prefilter: function( callback, prepend ) {
+		if ( prepend ) {
+			Animation.prefilters.unshift( callback );
+		} else {
+			Animation.prefilters.push( callback );
+		}
+	}
+} );
+
+jQuery.speed = function( speed, easing, fn ) {
+	var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : {
+		complete: fn || !fn && easing ||
+			isFunction( speed ) && speed,
+		duration: speed,
+		easing: fn && easing || easing && !isFunction( easing ) && easing
+	};
+
+	// Go to the end state if fx are off
+	if ( jQuery.fx.off ) {
+		opt.duration = 0;
+
+	} else {
+		if ( typeof opt.duration !== "number" ) {
+			if ( opt.duration in jQuery.fx.speeds ) {
+				opt.duration = jQuery.fx.speeds[ opt.duration ];
+
+			} else {
+				opt.duration = jQuery.fx.speeds._default;
+			}
+		}
+	}
+
+	// Normalize opt.queue - true/undefined/null -> "fx"
+	if ( opt.queue == null || opt.queue === true ) {
+		opt.queue = "fx";
+	}
+
+	// Queueing
+	opt.old = opt.complete;
+
+	opt.complete = function() {
+		if ( isFunction( opt.old ) ) {
+			opt.old.call( this );
+		}
+
+		if ( opt.queue ) {
+			jQuery.dequeue( this, opt.queue );
+		}
+	};
+
+	return opt;
+};
+
+jQuery.fn.extend( {
+	fadeTo: function( speed, to, easing, callback ) {
+
+		// Show any hidden elements after setting opacity to 0
+		return this.filter( isHiddenWithinTree ).css( "opacity", 0 ).show()
+
+			// Animate to the value specified
+			.end().animate( { opacity: to }, speed, easing, callback );
+	},
+	animate: function( prop, speed, easing, callback ) {
+		var empty = jQuery.isEmptyObject( prop ),
+			optall = jQuery.speed( speed, easing, callback ),
+			doAnimation = function() {
+
+				// Operate on a copy of prop so per-property easing won't be lost
+				var anim = Animation( this, jQuery.extend( {}, prop ), optall );
+
+				// Empty animations, or finishing resolves immediately
+				if ( empty || dataPriv.get( this, "finish" ) ) {
+					anim.stop( true );
+				}
+			};
+			doAnimation.finish = doAnimation;
+
+		return empty || optall.queue === false ?
+			this.each( doAnimation ) :
+			this.queue( optall.queue, doAnimation );
+	},
+	stop: function( type, clearQueue, gotoEnd ) {
+		var stopQueue = function( hooks ) {
+			var stop = hooks.stop;
+			delete hooks.stop;
+			stop( gotoEnd );
+		};
+
+		if ( typeof type !== "string" ) {
+			gotoEnd = clearQueue;
+			clearQueue = type;
+			type = undefined;
+		}
+		if ( clearQueue && type !== false ) {
+			this.queue( type || "fx", [] );
+		}
+
+		return this.each( function() {
+			var dequeue = true,
+				index = type != null && type + "queueHooks",
+				timers = jQuery.timers,
+				data = dataPriv.get( this );
+
+			if ( index ) {
+				if ( data[ index ] && data[ index ].stop ) {
+					stopQueue( data[ index ] );
+				}
+			} else {
+				for ( index in data ) {
+					if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) {
+						stopQueue( data[ index ] );
+					}
+				}
+			}
+
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this &&
+					( type == null || timers[ index ].queue === type ) ) {
+
+					timers[ index ].anim.stop( gotoEnd );
+					dequeue = false;
+					timers.splice( index, 1 );
+				}
+			}
+
+			// Start the next in the queue if the last step wasn't forced.
+			// Timers currently will call their complete callbacks, which
+			// will dequeue but only if they were gotoEnd.
+			if ( dequeue || !gotoEnd ) {
+				jQuery.dequeue( this, type );
+			}
+		} );
+	},
+	finish: function( type ) {
+		if ( type !== false ) {
+			type = type || "fx";
+		}
+		return this.each( function() {
+			var index,
+				data = dataPriv.get( this ),
+				queue = data[ type + "queue" ],
+				hooks = data[ type + "queueHooks" ],
+				timers = jQuery.timers,
+				length = queue ? queue.length : 0;
+
+			// Enable finishing flag on private data
+			data.finish = true;
+
+			// Empty the queue first
+			jQuery.queue( this, type, [] );
+
+			if ( hooks && hooks.stop ) {
+				hooks.stop.call( this, true );
+			}
+
+			// Look for any active animations, and finish them
+			for ( index = timers.length; index--; ) {
+				if ( timers[ index ].elem === this && timers[ index ].queue === type ) {
+					timers[ index ].anim.stop( true );
+					timers.splice( index, 1 );
+				}
+			}
+
+			// Look for any animations in the old queue and finish them
+			for ( index = 0; index < length; index++ ) {
+				if ( queue[ index ] && queue[ index ].finish ) {
+					queue[ index ].finish.call( this );
+				}
+			}
+
+			// Turn off finishing flag
+			delete data.finish;
+		} );
+	}
+} );
+
+jQuery.each( [ "toggle", "show", "hide" ], function( i, name ) {
+	var cssFn = jQuery.fn[ name ];
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return speed == null || typeof speed === "boolean" ?
+			cssFn.apply( this, arguments ) :
+			this.animate( genFx( name, true ), speed, easing, callback );
+	};
+} );
+
+// Generate shortcuts for custom animations
+jQuery.each( {
+	slideDown: genFx( "show" ),
+	slideUp: genFx( "hide" ),
+	slideToggle: genFx( "toggle" ),
+	fadeIn: { opacity: "show" },
+	fadeOut: { opacity: "hide" },
+	fadeToggle: { opacity: "toggle" }
+}, function( name, props ) {
+	jQuery.fn[ name ] = function( speed, easing, callback ) {
+		return this.animate( props, speed, easing, callback );
+	};
+} );
+
+jQuery.timers = [];
+jQuery.fx.tick = function() {
+	var timer,
+		i = 0,
+		timers = jQuery.timers;
+
+	fxNow = Date.now();
+
+	for ( ; i < timers.length; i++ ) {
+		timer = timers[ i ];
+
+		// Run the timer and safely remove it when done (allowing for external removal)
+		if ( !timer() && timers[ i ] === timer ) {
+			timers.splice( i--, 1 );
+		}
+	}
+
+	if ( !timers.length ) {
+		jQuery.fx.stop();
+	}
+	fxNow = undefined;
+};
+
+jQuery.fx.timer = function( timer ) {
+	jQuery.timers.push( timer );
+	jQuery.fx.start();
+};
+
+jQuery.fx.interval = 13;
+jQuery.fx.start = function() {
+	if ( inProgress ) {
+		return;
+	}
+
+	inProgress = true;
+	schedule();
+};
+
+jQuery.fx.stop = function() {
+	inProgress = null;
+};
+
+jQuery.fx.speeds = {
+	slow: 600,
+	fast: 200,
+
+	// Default speed
+	_default: 400
+};
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/effects/Tween.js b/public/bower_components/jquery/src/effects/Tween.js
new file mode 100644
index 0000000..43eb8fa
--- /dev/null
+++ b/public/bower_components/jquery/src/effects/Tween.js
@@ -0,0 +1,123 @@
+define( [
+	"../core",
+	"../css"
+], function( jQuery ) {
+
+"use strict";
+
+function Tween( elem, options, prop, end, easing ) {
+	return new Tween.prototype.init( elem, options, prop, end, easing );
+}
+jQuery.Tween = Tween;
+
+Tween.prototype = {
+	constructor: Tween,
+	init: function( elem, options, prop, end, easing, unit ) {
+		this.elem = elem;
+		this.prop = prop;
+		this.easing = easing || jQuery.easing._default;
+		this.options = options;
+		this.start = this.now = this.cur();
+		this.end = end;
+		this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" );
+	},
+	cur: function() {
+		var hooks = Tween.propHooks[ this.prop ];
+
+		return hooks && hooks.get ?
+			hooks.get( this ) :
+			Tween.propHooks._default.get( this );
+	},
+	run: function( percent ) {
+		var eased,
+			hooks = Tween.propHooks[ this.prop ];
+
+		if ( this.options.duration ) {
+			this.pos = eased = jQuery.easing[ this.easing ](
+				percent, this.options.duration * percent, 0, 1, this.options.duration
+			);
+		} else {
+			this.pos = eased = percent;
+		}
+		this.now = ( this.end - this.start ) * eased + this.start;
+
+		if ( this.options.step ) {
+			this.options.step.call( this.elem, this.now, this );
+		}
+
+		if ( hooks && hooks.set ) {
+			hooks.set( this );
+		} else {
+			Tween.propHooks._default.set( this );
+		}
+		return this;
+	}
+};
+
+Tween.prototype.init.prototype = Tween.prototype;
+
+Tween.propHooks = {
+	_default: {
+		get: function( tween ) {
+			var result;
+
+			// Use a property on the element directly when it is not a DOM element,
+			// or when there is no matching style property that exists.
+			if ( tween.elem.nodeType !== 1 ||
+				tween.elem[ tween.prop ] != null && tween.elem.style[ tween.prop ] == null ) {
+				return tween.elem[ tween.prop ];
+			}
+
+			// Passing an empty string as a 3rd parameter to .css will automatically
+			// attempt a parseFloat and fallback to a string if the parse fails.
+			// Simple values such as "10px" are parsed to Float;
+			// complex values such as "rotate(1rad)" are returned as-is.
+			result = jQuery.css( tween.elem, tween.prop, "" );
+
+			// Empty strings, null, undefined and "auto" are converted to 0.
+			return !result || result === "auto" ? 0 : result;
+		},
+		set: function( tween ) {
+
+			// Use step hook for back compat.
+			// Use cssHook if its there.
+			// Use .style if available and use plain properties where available.
+			if ( jQuery.fx.step[ tween.prop ] ) {
+				jQuery.fx.step[ tween.prop ]( tween );
+			} else if ( tween.elem.nodeType === 1 &&
+				( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null ||
+					jQuery.cssHooks[ tween.prop ] ) ) {
+				jQuery.style( tween.elem, tween.prop, tween.now + tween.unit );
+			} else {
+				tween.elem[ tween.prop ] = tween.now;
+			}
+		}
+	}
+};
+
+// Support: IE <=9 only
+// Panic based approach to setting things on disconnected nodes
+Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = {
+	set: function( tween ) {
+		if ( tween.elem.nodeType && tween.elem.parentNode ) {
+			tween.elem[ tween.prop ] = tween.now;
+		}
+	}
+};
+
+jQuery.easing = {
+	linear: function( p ) {
+		return p;
+	},
+	swing: function( p ) {
+		return 0.5 - Math.cos( p * Math.PI ) / 2;
+	},
+	_default: "swing"
+};
+
+jQuery.fx = Tween.prototype.init;
+
+// Back compat <1.8 extension point
+jQuery.fx.step = {};
+
+} );
diff --git a/public/bower_components/jquery/src/effects/animatedSelector.js b/public/bower_components/jquery/src/effects/animatedSelector.js
new file mode 100644
index 0000000..24c1bfb
--- /dev/null
+++ b/public/bower_components/jquery/src/effects/animatedSelector.js
@@ -0,0 +1,15 @@
+define( [
+	"../core",
+	"../selector",
+	"../effects"
+], function( jQuery ) {
+
+"use strict";
+
+jQuery.expr.pseudos.animated = function( elem ) {
+	return jQuery.grep( jQuery.timers, function( fn ) {
+		return elem === fn.elem;
+	} ).length;
+};
+
+} );
diff --git a/public/bower_components/jquery/src/event.js b/public/bower_components/jquery/src/event.js
new file mode 100644
index 0000000..6cbe774
--- /dev/null
+++ b/public/bower_components/jquery/src/event.js
@@ -0,0 +1,748 @@
+define( [
+	"./core",
+	"./var/document",
+	"./var/documentElement",
+	"./var/isFunction",
+	"./var/rnothtmlwhite",
+	"./var/slice",
+	"./data/var/dataPriv",
+	"./core/nodeName",
+
+	"./core/init",
+	"./selector"
+], function( jQuery, document, documentElement, isFunction, rnothtmlwhite,
+	slice, dataPriv, nodeName ) {
+
+"use strict";
+
+var
+	rkeyEvent = /^key/,
+	rmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,
+	rtypenamespace = /^([^.]*)(?:\.(.+)|)/;
+
+function returnTrue() {
+	return true;
+}
+
+function returnFalse() {
+	return false;
+}
+
+// Support: IE <=9 only
+// See #13393 for more info
+function safeActiveElement() {
+	try {
+		return document.activeElement;
+	} catch ( err ) { }
+}
+
+function on( elem, types, selector, data, fn, one ) {
+	var origFn, type;
+
+	// Types can be a map of types/handlers
+	if ( typeof types === "object" ) {
+
+		// ( types-Object, selector, data )
+		if ( typeof selector !== "string" ) {
+
+			// ( types-Object, data )
+			data = data || selector;
+			selector = undefined;
+		}
+		for ( type in types ) {
+			on( elem, type, selector, data, types[ type ], one );
+		}
+		return elem;
+	}
+
+	if ( data == null && fn == null ) {
+
+		// ( types, fn )
+		fn = selector;
+		data = selector = undefined;
+	} else if ( fn == null ) {
+		if ( typeof selector === "string" ) {
+
+			// ( types, selector, fn )
+			fn = data;
+			data = undefined;
+		} else {
+
+			// ( types, data, fn )
+			fn = data;
+			data = selector;
+			selector = undefined;
+		}
+	}
+	if ( fn === false ) {
+		fn = returnFalse;
+	} else if ( !fn ) {
+		return elem;
+	}
+
+	if ( one === 1 ) {
+		origFn = fn;
+		fn = function( event ) {
+
+			// Can use an empty set, since event contains the info
+			jQuery().off( event );
+			return origFn.apply( this, arguments );
+		};
+
+		// Use same guid so caller can remove using origFn
+		fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );
+	}
+	return elem.each( function() {
+		jQuery.event.add( this, types, fn, data, selector );
+	} );
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+	global: {},
+
+	add: function( elem, types, handler, data, selector ) {
+
+		var handleObjIn, eventHandle, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.get( elem );
+
+		// Don't attach events to noData or text/comment nodes (but allow plain objects)
+		if ( !elemData ) {
+			return;
+		}
+
+		// Caller can pass in an object of custom data in lieu of the handler
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+			selector = handleObjIn.selector;
+		}
+
+		// Ensure that invalid selectors throw exceptions at attach time
+		// Evaluate against documentElement in case elem is a non-element node (e.g., document)
+		if ( selector ) {
+			jQuery.find.matchesSelector( documentElement, selector );
+		}
+
+		// Make sure that the handler has a unique ID, used to find/remove it later
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure and main handler, if this is the first
+		if ( !( events = elemData.events ) ) {
+			events = elemData.events = {};
+		}
+		if ( !( eventHandle = elemData.handle ) ) {
+			eventHandle = elemData.handle = function( e ) {
+
+				// Discard the second event of a jQuery.event.trigger() and
+				// when an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ?
+					jQuery.event.dispatch.apply( elem, arguments ) : undefined;
+			};
+		}
+
+		// Handle multiple events separated by a space
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// There *must* be a type, no attaching namespace-only handlers
+			if ( !type ) {
+				continue;
+			}
+
+			// If event changes its type, use the special event handlers for the changed type
+			special = jQuery.event.special[ type ] || {};
+
+			// If selector defined, determine special event api type, otherwise given type
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+
+			// Update special based on newly reset type
+			special = jQuery.event.special[ type ] || {};
+
+			// handleObj is passed to all event handlers
+			handleObj = jQuery.extend( {
+				type: type,
+				origType: origType,
+				data: data,
+				handler: handler,
+				guid: handler.guid,
+				selector: selector,
+				needsContext: selector && jQuery.expr.match.needsContext.test( selector ),
+				namespace: namespaces.join( "." )
+			}, handleObjIn );
+
+			// Init the event handler queue if we're the first
+			if ( !( handlers = events[ type ] ) ) {
+				handlers = events[ type ] = [];
+				handlers.delegateCount = 0;
+
+				// Only use addEventListener if the special events handler returns false
+				if ( !special.setup ||
+					special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add to the element's handler list, delegates in front
+			if ( selector ) {
+				handlers.splice( handlers.delegateCount++, 0, handleObj );
+			} else {
+				handlers.push( handleObj );
+			}
+
+			// Keep track of which events have ever been used, for event optimization
+			jQuery.event.global[ type ] = true;
+		}
+
+	},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, selector, mappedTypes ) {
+
+		var j, origCount, tmp,
+			events, t, handleObj,
+			special, handlers, type, namespaces, origType,
+			elemData = dataPriv.hasData( elem ) && dataPriv.get( elem );
+
+		if ( !elemData || !( events = elemData.events ) ) {
+			return;
+		}
+
+		// Once for each type.namespace in types; type may be omitted
+		types = ( types || "" ).match( rnothtmlwhite ) || [ "" ];
+		t = types.length;
+		while ( t-- ) {
+			tmp = rtypenamespace.exec( types[ t ] ) || [];
+			type = origType = tmp[ 1 ];
+			namespaces = ( tmp[ 2 ] || "" ).split( "." ).sort();
+
+			// Unbind all events (on this namespace, if provided) for the element
+			if ( !type ) {
+				for ( type in events ) {
+					jQuery.event.remove( elem, type + types[ t ], handler, selector, true );
+				}
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+			type = ( selector ? special.delegateType : special.bindType ) || type;
+			handlers = events[ type ] || [];
+			tmp = tmp[ 2 ] &&
+				new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" );
+
+			// Remove matching events
+			origCount = j = handlers.length;
+			while ( j-- ) {
+				handleObj = handlers[ j ];
+
+				if ( ( mappedTypes || origType === handleObj.origType ) &&
+					( !handler || handler.guid === handleObj.guid ) &&
+					( !tmp || tmp.test( handleObj.namespace ) ) &&
+					( !selector || selector === handleObj.selector ||
+						selector === "**" && handleObj.selector ) ) {
+					handlers.splice( j, 1 );
+
+					if ( handleObj.selector ) {
+						handlers.delegateCount--;
+					}
+					if ( special.remove ) {
+						special.remove.call( elem, handleObj );
+					}
+				}
+			}
+
+			// Remove generic event handler if we removed something and no more handlers exist
+			// (avoids potential for endless recursion during removal of special event handlers)
+			if ( origCount && !handlers.length ) {
+				if ( !special.teardown ||
+					special.teardown.call( elem, namespaces, elemData.handle ) === false ) {
+
+					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				delete events[ type ];
+			}
+		}
+
+		// Remove data and the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			dataPriv.remove( elem, "handle events" );
+		}
+	},
+
+	dispatch: function( nativeEvent ) {
+
+		// Make a writable jQuery.Event from the native event object
+		var event = jQuery.event.fix( nativeEvent );
+
+		var i, j, ret, matched, handleObj, handlerQueue,
+			args = new Array( arguments.length ),
+			handlers = ( dataPriv.get( this, "events" ) || {} )[ event.type ] || [],
+			special = jQuery.event.special[ event.type ] || {};
+
+		// Use the fix-ed jQuery.Event rather than the (read-only) native event
+		args[ 0 ] = event;
+
+		for ( i = 1; i < arguments.length; i++ ) {
+			args[ i ] = arguments[ i ];
+		}
+
+		event.delegateTarget = this;
+
+		// Call the preDispatch hook for the mapped type, and let it bail if desired
+		if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {
+			return;
+		}
+
+		// Determine handlers
+		handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+		// Run delegates first; they may want to stop propagation beneath us
+		i = 0;
+		while ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {
+			event.currentTarget = matched.elem;
+
+			j = 0;
+			while ( ( handleObj = matched.handlers[ j++ ] ) &&
+				!event.isImmediatePropagationStopped() ) {
+
+				// Triggered event must either 1) have no namespace, or 2) have namespace(s)
+				// a subset or equal to those in the bound event (both can have no namespace).
+				if ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {
+
+					event.handleObj = handleObj;
+					event.data = handleObj.data;
+
+					ret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||
+						handleObj.handler ).apply( matched.elem, args );
+
+					if ( ret !== undefined ) {
+						if ( ( event.result = ret ) === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+				}
+			}
+		}
+
+		// Call the postDispatch hook for the mapped type
+		if ( special.postDispatch ) {
+			special.postDispatch.call( this, event );
+		}
+
+		return event.result;
+	},
+
+	handlers: function( event, handlers ) {
+		var i, handleObj, sel, matchedHandlers, matchedSelectors,
+			handlerQueue = [],
+			delegateCount = handlers.delegateCount,
+			cur = event.target;
+
+		// Find delegate handlers
+		if ( delegateCount &&
+
+			// Support: IE <=9
+			// Black-hole SVG <use> instance trees (trac-13180)
+			cur.nodeType &&
+
+			// Support: Firefox <=42
+			// Suppress spec-violating clicks indicating a non-primary pointer button (trac-3861)
+			// https://www.w3.org/TR/DOM-Level-3-Events/#event-type-click
+			// Support: IE 11 only
+			// ...but not arrow key "clicks" of radio inputs, which can have `button` -1 (gh-2343)
+			!( event.type === "click" && event.button >= 1 ) ) {
+
+			for ( ; cur !== this; cur = cur.parentNode || this ) {
+
+				// Don't check non-elements (#13208)
+				// Don't process clicks on disabled elements (#6911, #8165, #11382, #11764)
+				if ( cur.nodeType === 1 && !( event.type === "click" && cur.disabled === true ) ) {
+					matchedHandlers = [];
+					matchedSelectors = {};
+					for ( i = 0; i < delegateCount; i++ ) {
+						handleObj = handlers[ i ];
+
+						// Don't conflict with Object.prototype properties (#13203)
+						sel = handleObj.selector + " ";
+
+						if ( matchedSelectors[ sel ] === undefined ) {
+							matchedSelectors[ sel ] = handleObj.needsContext ?
+								jQuery( sel, this ).index( cur ) > -1 :
+								jQuery.find( sel, this, null, [ cur ] ).length;
+						}
+						if ( matchedSelectors[ sel ] ) {
+							matchedHandlers.push( handleObj );
+						}
+					}
+					if ( matchedHandlers.length ) {
+						handlerQueue.push( { elem: cur, handlers: matchedHandlers } );
+					}
+				}
+			}
+		}
+
+		// Add the remaining (directly-bound) handlers
+		cur = this;
+		if ( delegateCount < handlers.length ) {
+			handlerQueue.push( { elem: cur, handlers: handlers.slice( delegateCount ) } );
+		}
+
+		return handlerQueue;
+	},
+
+	addProp: function( name, hook ) {
+		Object.defineProperty( jQuery.Event.prototype, name, {
+			enumerable: true,
+			configurable: true,
+
+			get: isFunction( hook ) ?
+				function() {
+					if ( this.originalEvent ) {
+							return hook( this.originalEvent );
+					}
+				} :
+				function() {
+					if ( this.originalEvent ) {
+							return this.originalEvent[ name ];
+					}
+				},
+
+			set: function( value ) {
+				Object.defineProperty( this, name, {
+					enumerable: true,
+					configurable: true,
+					writable: true,
+					value: value
+				} );
+			}
+		} );
+	},
+
+	fix: function( originalEvent ) {
+		return originalEvent[ jQuery.expando ] ?
+			originalEvent :
+			new jQuery.Event( originalEvent );
+	},
+
+	special: {
+		load: {
+
+			// Prevent triggered image.load events from bubbling to window.load
+			noBubble: true
+		},
+		focus: {
+
+			// Fire native event if possible so blur/focus sequence is correct
+			trigger: function() {
+				if ( this !== safeActiveElement() && this.focus ) {
+					this.focus();
+					return false;
+				}
+			},
+			delegateType: "focusin"
+		},
+		blur: {
+			trigger: function() {
+				if ( this === safeActiveElement() && this.blur ) {
+					this.blur();
+					return false;
+				}
+			},
+			delegateType: "focusout"
+		},
+		click: {
+
+			// For checkbox, fire native event so checked state will be right
+			trigger: function() {
+				if ( this.type === "checkbox" && this.click && nodeName( this, "input" ) ) {
+					this.click();
+					return false;
+				}
+			},
+
+			// For cross-browser consistency, don't fire native .click() on links
+			_default: function( event ) {
+				return nodeName( event.target, "a" );
+			}
+		},
+
+		beforeunload: {
+			postDispatch: function( event ) {
+
+				// Support: Firefox 20+
+				// Firefox doesn't alert if the returnValue field is not set.
+				if ( event.result !== undefined && event.originalEvent ) {
+					event.originalEvent.returnValue = event.result;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = function( elem, type, handle ) {
+
+	// This "if" is needed for plain objects
+	if ( elem.removeEventListener ) {
+		elem.removeEventListener( type, handle );
+	}
+};
+
+jQuery.Event = function( src, props ) {
+
+	// Allow instantiation without the 'new' keyword
+	if ( !( this instanceof jQuery.Event ) ) {
+		return new jQuery.Event( src, props );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = src.defaultPrevented ||
+				src.defaultPrevented === undefined &&
+
+				// Support: Android <=2.3 only
+				src.returnValue === false ?
+			returnTrue :
+			returnFalse;
+
+		// Create target properties
+		// Support: Safari <=6 - 7 only
+		// Target should not be a text node (#504, #13143)
+		this.target = ( src.target && src.target.nodeType === 3 ) ?
+			src.target.parentNode :
+			src.target;
+
+		this.currentTarget = src.currentTarget;
+		this.relatedTarget = src.relatedTarget;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// Put explicitly provided properties onto the event object
+	if ( props ) {
+		jQuery.extend( this, props );
+	}
+
+	// Create a timestamp if incoming event doesn't have one
+	this.timeStamp = src && src.timeStamp || Date.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding
+// https://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
+jQuery.Event.prototype = {
+	constructor: jQuery.Event,
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse,
+	isSimulated: false,
+
+	preventDefault: function() {
+		var e = this.originalEvent;
+
+		this.isDefaultPrevented = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.preventDefault();
+		}
+	},
+	stopPropagation: function() {
+		var e = this.originalEvent;
+
+		this.isPropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopPropagation();
+		}
+	},
+	stopImmediatePropagation: function() {
+		var e = this.originalEvent;
+
+		this.isImmediatePropagationStopped = returnTrue;
+
+		if ( e && !this.isSimulated ) {
+			e.stopImmediatePropagation();
+		}
+
+		this.stopPropagation();
+	}
+};
+
+// Includes all common event props including KeyEvent and MouseEvent specific props
+jQuery.each( {
+	altKey: true,
+	bubbles: true,
+	cancelable: true,
+	changedTouches: true,
+	ctrlKey: true,
+	detail: true,
+	eventPhase: true,
+	metaKey: true,
+	pageX: true,
+	pageY: true,
+	shiftKey: true,
+	view: true,
+	"char": true,
+	charCode: true,
+	key: true,
+	keyCode: true,
+	button: true,
+	buttons: true,
+	clientX: true,
+	clientY: true,
+	offsetX: true,
+	offsetY: true,
+	pointerId: true,
+	pointerType: true,
+	screenX: true,
+	screenY: true,
+	targetTouches: true,
+	toElement: true,
+	touches: true,
+
+	which: function( event ) {
+		var button = event.button;
+
+		// Add which for key events
+		if ( event.which == null && rkeyEvent.test( event.type ) ) {
+			return event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		if ( !event.which && button !== undefined && rmouseEvent.test( event.type ) ) {
+			if ( button & 1 ) {
+				return 1;
+			}
+
+			if ( button & 2 ) {
+				return 3;
+			}
+
+			if ( button & 4 ) {
+				return 2;
+			}
+
+			return 0;
+		}
+
+		return event.which;
+	}
+}, jQuery.event.addProp );
+
+// Create mouseenter/leave events using mouseover/out and event-time checks
+// so that event delegation works in jQuery.
+// Do the same for pointerenter/pointerleave and pointerover/pointerout
+//
+// Support: Safari 7 only
+// Safari sends mouseenter too often; see:
+// https://bugs.chromium.org/p/chromium/issues/detail?id=470258
+// for the description of the bug (it existed in older Chrome versions as well).
+jQuery.each( {
+	mouseenter: "mouseover",
+	mouseleave: "mouseout",
+	pointerenter: "pointerover",
+	pointerleave: "pointerout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		delegateType: fix,
+		bindType: fix,
+
+		handle: function( event ) {
+			var ret,
+				target = this,
+				related = event.relatedTarget,
+				handleObj = event.handleObj;
+
+			// For mouseenter/leave call the handler if related is outside the target.
+			// NB: No relatedTarget if the mouse left/entered the browser window
+			if ( !related || ( related !== target && !jQuery.contains( target, related ) ) ) {
+				event.type = handleObj.origType;
+				ret = handleObj.handler.apply( this, arguments );
+				event.type = fix;
+			}
+			return ret;
+		}
+	};
+} );
+
+jQuery.fn.extend( {
+
+	on: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn );
+	},
+	one: function( types, selector, data, fn ) {
+		return on( this, types, selector, data, fn, 1 );
+	},
+	off: function( types, selector, fn ) {
+		var handleObj, type;
+		if ( types && types.preventDefault && types.handleObj ) {
+
+			// ( event )  dispatched jQuery.Event
+			handleObj = types.handleObj;
+			jQuery( types.delegateTarget ).off(
+				handleObj.namespace ?
+					handleObj.origType + "." + handleObj.namespace :
+					handleObj.origType,
+				handleObj.selector,
+				handleObj.handler
+			);
+			return this;
+		}
+		if ( typeof types === "object" ) {
+
+			// ( types-object [, selector] )
+			for ( type in types ) {
+				this.off( type, selector, types[ type ] );
+			}
+			return this;
+		}
+		if ( selector === false || typeof selector === "function" ) {
+
+			// ( types [, fn] )
+			fn = selector;
+			selector = undefined;
+		}
+		if ( fn === false ) {
+			fn = returnFalse;
+		}
+		return this.each( function() {
+			jQuery.event.remove( this, types, fn, selector );
+		} );
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/event/ajax.js b/public/bower_components/jquery/src/event/ajax.js
new file mode 100644
index 0000000..500b36c
--- /dev/null
+++ b/public/bower_components/jquery/src/event/ajax.js
@@ -0,0 +1,22 @@
+define( [
+	"../core",
+	"../event"
+], function( jQuery ) {
+
+"use strict";
+
+// Attach a bunch of functions for handling common AJAX events
+jQuery.each( [
+	"ajaxStart",
+	"ajaxStop",
+	"ajaxComplete",
+	"ajaxError",
+	"ajaxSuccess",
+	"ajaxSend"
+], function( i, type ) {
+	jQuery.fn[ type ] = function( fn ) {
+		return this.on( type, fn );
+	};
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/event/alias.js b/public/bower_components/jquery/src/event/alias.js
new file mode 100644
index 0000000..863c94a
--- /dev/null
+++ b/public/bower_components/jquery/src/event/alias.js
@@ -0,0 +1,29 @@
+define( [
+	"../core",
+
+	"../event",
+	"./trigger"
+], function( jQuery ) {
+
+"use strict";
+
+jQuery.each( ( "blur focus focusin focusout resize scroll click dblclick " +
+	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup contextmenu" ).split( " " ),
+	function( i, name ) {
+
+	// Handle event binding
+	jQuery.fn[ name ] = function( data, fn ) {
+		return arguments.length > 0 ?
+			this.on( name, null, data, fn ) :
+			this.trigger( name );
+	};
+} );
+
+jQuery.fn.extend( {
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/event/focusin.js b/public/bower_components/jquery/src/event/focusin.js
new file mode 100644
index 0000000..7faef29
--- /dev/null
+++ b/public/bower_components/jquery/src/event/focusin.js
@@ -0,0 +1,55 @@
+define( [
+	"../core",
+	"../data/var/dataPriv",
+	"./support",
+
+	"../event",
+	"./trigger"
+], function( jQuery, dataPriv, support ) {
+
+"use strict";
+
+// Support: Firefox <=44
+// Firefox doesn't have focus(in | out) events
+// Related ticket - https://bugzilla.mozilla.org/show_bug.cgi?id=687787
+//
+// Support: Chrome <=48 - 49, Safari <=9.0 - 9.1
+// focus(in | out) events fire after focus & blur events,
+// which is spec violation - http://www.w3.org/TR/DOM-Level-3-Events/#events-focusevent-event-order
+// Related ticket - https://bugs.chromium.org/p/chromium/issues/detail?id=449857
+if ( !support.focusin ) {
+	jQuery.each( { focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+
+		// Attach a single capturing handler on the document while someone wants focusin/focusout
+		var handler = function( event ) {
+			jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ) );
+		};
+
+		jQuery.event.special[ fix ] = {
+			setup: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix );
+
+				if ( !attaches ) {
+					doc.addEventListener( orig, handler, true );
+				}
+				dataPriv.access( doc, fix, ( attaches || 0 ) + 1 );
+			},
+			teardown: function() {
+				var doc = this.ownerDocument || this,
+					attaches = dataPriv.access( doc, fix ) - 1;
+
+				if ( !attaches ) {
+					doc.removeEventListener( orig, handler, true );
+					dataPriv.remove( doc, fix );
+
+				} else {
+					dataPriv.access( doc, fix, attaches );
+				}
+			}
+		};
+	} );
+}
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/event/support.js b/public/bower_components/jquery/src/event/support.js
new file mode 100644
index 0000000..e3db9ad
--- /dev/null
+++ b/public/bower_components/jquery/src/event/support.js
@@ -0,0 +1,11 @@
+define( [
+	"../var/support"
+], function( support ) {
+
+"use strict";
+
+support.focusin = "onfocusin" in window;
+
+return support;
+
+} );
diff --git a/public/bower_components/jquery/src/event/trigger.js b/public/bower_components/jquery/src/event/trigger.js
new file mode 100644
index 0000000..cf40b4f
--- /dev/null
+++ b/public/bower_components/jquery/src/event/trigger.js
@@ -0,0 +1,199 @@
+define( [
+	"../core",
+	"../var/document",
+	"../data/var/dataPriv",
+	"../data/var/acceptData",
+	"../var/hasOwn",
+	"../var/isFunction",
+	"../var/isWindow",
+	"../event"
+], function( jQuery, document, dataPriv, acceptData, hasOwn, isFunction, isWindow ) {
+
+"use strict";
+
+var rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+	stopPropagationCallback = function( e ) {
+		e.stopPropagation();
+	};
+
+jQuery.extend( jQuery.event, {
+
+	trigger: function( event, data, elem, onlyHandlers ) {
+
+		var i, cur, tmp, bubbleType, ontype, handle, special, lastElement,
+			eventPath = [ elem || document ],
+			type = hasOwn.call( event, "type" ) ? event.type : event,
+			namespaces = hasOwn.call( event, "namespace" ) ? event.namespace.split( "." ) : [];
+
+		cur = lastElement = tmp = elem = elem || document;
+
+		// Don't do events on text and comment nodes
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		// focus/blur morphs to focusin/out; ensure we're not firing them right now
+		if ( rfocusMorph.test( type + jQuery.event.triggered ) ) {
+			return;
+		}
+
+		if ( type.indexOf( "." ) > -1 ) {
+
+			// Namespaced trigger; create a regexp to match event type in handle()
+			namespaces = type.split( "." );
+			type = namespaces.shift();
+			namespaces.sort();
+		}
+		ontype = type.indexOf( ":" ) < 0 && "on" + type;
+
+		// Caller can pass in a jQuery.Event object, Object, or just an event type string
+		event = event[ jQuery.expando ] ?
+			event :
+			new jQuery.Event( type, typeof event === "object" && event );
+
+		// Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+		event.isTrigger = onlyHandlers ? 2 : 3;
+		event.namespace = namespaces.join( "." );
+		event.rnamespace = event.namespace ?
+			new RegExp( "(^|\\.)" + namespaces.join( "\\.(?:.*\\.|)" ) + "(\\.|$)" ) :
+			null;
+
+		// Clean up the event in case it is being reused
+		event.result = undefined;
+		if ( !event.target ) {
+			event.target = elem;
+		}
+
+		// Clone any incoming data and prepend the event, creating the handler arg list
+		data = data == null ?
+			[ event ] :
+			jQuery.makeArray( data, [ event ] );
+
+		// Allow special events to draw outside the lines
+		special = jQuery.event.special[ type ] || {};
+		if ( !onlyHandlers && special.trigger && special.trigger.apply( elem, data ) === false ) {
+			return;
+		}
+
+		// Determine event propagation path in advance, per W3C events spec (#9951)
+		// Bubble up to document, then to window; watch for a global ownerDocument var (#9724)
+		if ( !onlyHandlers && !special.noBubble && !isWindow( elem ) ) {
+
+			bubbleType = special.delegateType || type;
+			if ( !rfocusMorph.test( bubbleType + type ) ) {
+				cur = cur.parentNode;
+			}
+			for ( ; cur; cur = cur.parentNode ) {
+				eventPath.push( cur );
+				tmp = cur;
+			}
+
+			// Only add window if we got to document (e.g., not plain obj or detached DOM)
+			if ( tmp === ( elem.ownerDocument || document ) ) {
+				eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+			}
+		}
+
+		// Fire handlers on the event path
+		i = 0;
+		while ( ( cur = eventPath[ i++ ] ) && !event.isPropagationStopped() ) {
+			lastElement = cur;
+			event.type = i > 1 ?
+				bubbleType :
+				special.bindType || type;
+
+			// jQuery handler
+			handle = ( dataPriv.get( cur, "events" ) || {} )[ event.type ] &&
+				dataPriv.get( cur, "handle" );
+			if ( handle ) {
+				handle.apply( cur, data );
+			}
+
+			// Native handler
+			handle = ontype && cur[ ontype ];
+			if ( handle && handle.apply && acceptData( cur ) ) {
+				event.result = handle.apply( cur, data );
+				if ( event.result === false ) {
+					event.preventDefault();
+				}
+			}
+		}
+		event.type = type;
+
+		// If nobody prevented the default action, do it now
+		if ( !onlyHandlers && !event.isDefaultPrevented() ) {
+
+			if ( ( !special._default ||
+				special._default.apply( eventPath.pop(), data ) === false ) &&
+				acceptData( elem ) ) {
+
+				// Call a native DOM method on the target with the same name as the event.
+				// Don't do default actions on window, that's where global variables be (#6170)
+				if ( ontype && isFunction( elem[ type ] ) && !isWindow( elem ) ) {
+
+					// Don't re-trigger an onFOO event when we call its FOO() method
+					tmp = elem[ ontype ];
+
+					if ( tmp ) {
+						elem[ ontype ] = null;
+					}
+
+					// Prevent re-triggering of the same event, since we already bubbled it above
+					jQuery.event.triggered = type;
+
+					if ( event.isPropagationStopped() ) {
+						lastElement.addEventListener( type, stopPropagationCallback );
+					}
+
+					elem[ type ]();
+
+					if ( event.isPropagationStopped() ) {
+						lastElement.removeEventListener( type, stopPropagationCallback );
+					}
+
+					jQuery.event.triggered = undefined;
+
+					if ( tmp ) {
+						elem[ ontype ] = tmp;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	// Piggyback on a donor event to simulate a different one
+	// Used only for `focus(in | out)` events
+	simulate: function( type, elem, event ) {
+		var e = jQuery.extend(
+			new jQuery.Event(),
+			event,
+			{
+				type: type,
+				isSimulated: true
+			}
+		);
+
+		jQuery.event.trigger( e, null, elem );
+	}
+
+} );
+
+jQuery.fn.extend( {
+
+	trigger: function( type, data ) {
+		return this.each( function() {
+			jQuery.event.trigger( type, data, this );
+		} );
+	},
+	triggerHandler: function( type, data ) {
+		var elem = this[ 0 ];
+		if ( elem ) {
+			return jQuery.event.trigger( type, data, elem, true );
+		}
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/exports/amd.js b/public/bower_components/jquery/src/exports/amd.js
new file mode 100644
index 0000000..cbb1ef5
--- /dev/null
+++ b/public/bower_components/jquery/src/exports/amd.js
@@ -0,0 +1,26 @@
+define( [
+	"../core"
+], function( jQuery ) {
+
+"use strict";
+
+// Register as a named AMD module, since jQuery can be concatenated with other
+// files that may use define, but not via a proper concatenation script that
+// understands anonymous AMD modules. A named AMD is safest and most robust
+// way to register. Lowercase jquery is used because AMD module names are
+// derived from file names, and jQuery is normally delivered in a lowercase
+// file name. Do this after creating the global so that if an AMD module wants
+// to call noConflict to hide this version of jQuery, it will work.
+
+// Note that for maximum portability, libraries that are not jQuery should
+// declare themselves as anonymous modules, and avoid setting a global if an
+// AMD loader is present. jQuery is a special case. For more information, see
+// https://github.com/jrburke/requirejs/wiki/Updating-existing-libraries#wiki-anon
+
+if ( typeof define === "function" && define.amd ) {
+	define( "jquery", [], function() {
+		return jQuery;
+	} );
+}
+
+} );
diff --git a/public/bower_components/jquery/src/exports/global.js b/public/bower_components/jquery/src/exports/global.js
new file mode 100644
index 0000000..460b56e
--- /dev/null
+++ b/public/bower_components/jquery/src/exports/global.js
@@ -0,0 +1,34 @@
+define( [
+	"../core"
+], function( jQuery, noGlobal ) {
+
+"use strict";
+
+var
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$;
+
+jQuery.noConflict = function( deep ) {
+	if ( window.$ === jQuery ) {
+		window.$ = _$;
+	}
+
+	if ( deep && window.jQuery === jQuery ) {
+		window.jQuery = _jQuery;
+	}
+
+	return jQuery;
+};
+
+// Expose jQuery and $ identifiers, even in AMD
+// (#7102#comment:10, https://github.com/jquery/jquery/pull/557)
+// and CommonJS for browser emulators (#13566)
+if ( !noGlobal ) {
+	window.jQuery = window.$ = jQuery;
+}
+
+} );
diff --git a/public/bower_components/jquery/src/jquery.js b/public/bower_components/jquery/src/jquery.js
new file mode 100644
index 0000000..0e026a6
--- /dev/null
+++ b/public/bower_components/jquery/src/jquery.js
@@ -0,0 +1,40 @@
+define( [
+	"./core",
+	"./selector",
+	"./traversing",
+	"./callbacks",
+	"./deferred",
+	"./deferred/exceptionHook",
+	"./core/ready",
+	"./data",
+	"./queue",
+	"./queue/delay",
+	"./attributes",
+	"./event",
+	"./event/focusin",
+	"./manipulation",
+	"./manipulation/_evalUrl",
+	"./wrap",
+	"./css",
+	"./css/hiddenVisibleSelectors",
+	"./serialize",
+	"./ajax",
+	"./ajax/xhr",
+	"./ajax/script",
+	"./ajax/jsonp",
+	"./ajax/load",
+	"./event/ajax",
+	"./effects",
+	"./effects/animatedSelector",
+	"./offset",
+	"./dimensions",
+	"./deprecated",
+	"./exports/amd",
+	"./exports/global"
+], function( jQuery ) {
+
+"use strict";
+
+return jQuery;
+
+} );
diff --git a/public/bower_components/jquery/src/manipulation.js b/public/bower_components/jquery/src/manipulation.js
new file mode 100644
index 0000000..142e296
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation.js
@@ -0,0 +1,486 @@
+define( [
+	"./core",
+	"./var/concat",
+	"./var/isFunction",
+	"./var/push",
+	"./core/access",
+	"./manipulation/var/rcheckableType",
+	"./manipulation/var/rtagName",
+	"./manipulation/var/rscriptType",
+	"./manipulation/wrapMap",
+	"./manipulation/getAll",
+	"./manipulation/setGlobalEval",
+	"./manipulation/buildFragment",
+	"./manipulation/support",
+
+	"./data/var/dataPriv",
+	"./data/var/dataUser",
+	"./data/var/acceptData",
+	"./core/DOMEval",
+	"./core/nodeName",
+
+	"./core/init",
+	"./traversing",
+	"./selector",
+	"./event"
+], function( jQuery, concat, isFunction, push, access,
+	rcheckableType, rtagName, rscriptType,
+	wrapMap, getAll, setGlobalEval, buildFragment, support,
+	dataPriv, dataUser, acceptData, DOMEval, nodeName ) {
+
+"use strict";
+
+var
+
+	/* eslint-disable max-len */
+
+	// See https://github.com/eslint/eslint/issues/3229
+	rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([a-z][^\/\0>\x20\t\r\n\f]*)[^>]*)\/>/gi,
+
+	/* eslint-enable */
+
+	// Support: IE <=10 - 11, Edge 12 - 13 only
+	// In IE/Edge using regex groups here causes severe slowdowns.
+	// See https://connect.microsoft.com/IE/feedback/details/1736512/
+	rnoInnerhtml = /<script|<style|<link/i,
+
+	// checked="checked" or checked
+	rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
+	rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;
+
+// Prefer a tbody over its parent table for containing new rows
+function manipulationTarget( elem, content ) {
+	if ( nodeName( elem, "table" ) &&
+		nodeName( content.nodeType !== 11 ? content : content.firstChild, "tr" ) ) {
+
+		return jQuery( elem ).children( "tbody" )[ 0 ] || elem;
+	}
+
+	return elem;
+}
+
+// Replace/restore the type attribute of script elements for safe DOM manipulation
+function disableScript( elem ) {
+	elem.type = ( elem.getAttribute( "type" ) !== null ) + "/" + elem.type;
+	return elem;
+}
+function restoreScript( elem ) {
+	if ( ( elem.type || "" ).slice( 0, 5 ) === "true/" ) {
+		elem.type = elem.type.slice( 5 );
+	} else {
+		elem.removeAttribute( "type" );
+	}
+
+	return elem;
+}
+
+function cloneCopyEvent( src, dest ) {
+	var i, l, type, pdataOld, pdataCur, udataOld, udataCur, events;
+
+	if ( dest.nodeType !== 1 ) {
+		return;
+	}
+
+	// 1. Copy private data: events, handlers, etc.
+	if ( dataPriv.hasData( src ) ) {
+		pdataOld = dataPriv.access( src );
+		pdataCur = dataPriv.set( dest, pdataOld );
+		events = pdataOld.events;
+
+		if ( events ) {
+			delete pdataCur.handle;
+			pdataCur.events = {};
+
+			for ( type in events ) {
+				for ( i = 0, l = events[ type ].length; i < l; i++ ) {
+					jQuery.event.add( dest, type, events[ type ][ i ] );
+				}
+			}
+		}
+	}
+
+	// 2. Copy user data
+	if ( dataUser.hasData( src ) ) {
+		udataOld = dataUser.access( src );
+		udataCur = jQuery.extend( {}, udataOld );
+
+		dataUser.set( dest, udataCur );
+	}
+}
+
+// Fix IE bugs, see support tests
+function fixInput( src, dest ) {
+	var nodeName = dest.nodeName.toLowerCase();
+
+	// Fails to persist the checked state of a cloned checkbox or radio button.
+	if ( nodeName === "input" && rcheckableType.test( src.type ) ) {
+		dest.checked = src.checked;
+
+	// Fails to return the selected option to the default selected state when cloning options
+	} else if ( nodeName === "input" || nodeName === "textarea" ) {
+		dest.defaultValue = src.defaultValue;
+	}
+}
+
+function domManip( collection, args, callback, ignored ) {
+
+	// Flatten any nested arrays
+	args = concat.apply( [], args );
+
+	var fragment, first, scripts, hasScripts, node, doc,
+		i = 0,
+		l = collection.length,
+		iNoClone = l - 1,
+		value = args[ 0 ],
+		valueIsFunction = isFunction( value );
+
+	// We can't cloneNode fragments that contain checked, in WebKit
+	if ( valueIsFunction ||
+			( l > 1 && typeof value === "string" &&
+				!support.checkClone && rchecked.test( value ) ) ) {
+		return collection.each( function( index ) {
+			var self = collection.eq( index );
+			if ( valueIsFunction ) {
+				args[ 0 ] = value.call( this, index, self.html() );
+			}
+			domManip( self, args, callback, ignored );
+		} );
+	}
+
+	if ( l ) {
+		fragment = buildFragment( args, collection[ 0 ].ownerDocument, false, collection, ignored );
+		first = fragment.firstChild;
+
+		if ( fragment.childNodes.length === 1 ) {
+			fragment = first;
+		}
+
+		// Require either new content or an interest in ignored elements to invoke the callback
+		if ( first || ignored ) {
+			scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
+			hasScripts = scripts.length;
+
+			// Use the original fragment for the last item
+			// instead of the first because it can end up
+			// being emptied incorrectly in certain situations (#8070).
+			for ( ; i < l; i++ ) {
+				node = fragment;
+
+				if ( i !== iNoClone ) {
+					node = jQuery.clone( node, true, true );
+
+					// Keep references to cloned scripts for later restoration
+					if ( hasScripts ) {
+
+						// Support: Android <=4.0 only, PhantomJS 1 only
+						// push.apply(_, arraylike) throws on ancient WebKit
+						jQuery.merge( scripts, getAll( node, "script" ) );
+					}
+				}
+
+				callback.call( collection[ i ], node, i );
+			}
+
+			if ( hasScripts ) {
+				doc = scripts[ scripts.length - 1 ].ownerDocument;
+
+				// Reenable scripts
+				jQuery.map( scripts, restoreScript );
+
+				// Evaluate executable scripts on first document insertion
+				for ( i = 0; i < hasScripts; i++ ) {
+					node = scripts[ i ];
+					if ( rscriptType.test( node.type || "" ) &&
+						!dataPriv.access( node, "globalEval" ) &&
+						jQuery.contains( doc, node ) ) {
+
+						if ( node.src && ( node.type || "" ).toLowerCase()  !== "module" ) {
+
+							// Optional AJAX dependency, but won't run scripts if not present
+							if ( jQuery._evalUrl ) {
+								jQuery._evalUrl( node.src );
+							}
+						} else {
+							DOMEval( node.textContent.replace( rcleanScript, "" ), doc, node );
+						}
+					}
+				}
+			}
+		}
+	}
+
+	return collection;
+}
+
+function remove( elem, selector, keepData ) {
+	var node,
+		nodes = selector ? jQuery.filter( selector, elem ) : elem,
+		i = 0;
+
+	for ( ; ( node = nodes[ i ] ) != null; i++ ) {
+		if ( !keepData && node.nodeType === 1 ) {
+			jQuery.cleanData( getAll( node ) );
+		}
+
+		if ( node.parentNode ) {
+			if ( keepData && jQuery.contains( node.ownerDocument, node ) ) {
+				setGlobalEval( getAll( node, "script" ) );
+			}
+			node.parentNode.removeChild( node );
+		}
+	}
+
+	return elem;
+}
+
+jQuery.extend( {
+	htmlPrefilter: function( html ) {
+		return html.replace( rxhtmlTag, "<$1></$2>" );
+	},
+
+	clone: function( elem, dataAndEvents, deepDataAndEvents ) {
+		var i, l, srcElements, destElements,
+			clone = elem.cloneNode( true ),
+			inPage = jQuery.contains( elem.ownerDocument, elem );
+
+		// Fix IE cloning issues
+		if ( !support.noCloneChecked && ( elem.nodeType === 1 || elem.nodeType === 11 ) &&
+				!jQuery.isXMLDoc( elem ) ) {
+
+			// We eschew Sizzle here for performance reasons: https://jsperf.com/getall-vs-sizzle/2
+			destElements = getAll( clone );
+			srcElements = getAll( elem );
+
+			for ( i = 0, l = srcElements.length; i < l; i++ ) {
+				fixInput( srcElements[ i ], destElements[ i ] );
+			}
+		}
+
+		// Copy the events from the original to the clone
+		if ( dataAndEvents ) {
+			if ( deepDataAndEvents ) {
+				srcElements = srcElements || getAll( elem );
+				destElements = destElements || getAll( clone );
+
+				for ( i = 0, l = srcElements.length; i < l; i++ ) {
+					cloneCopyEvent( srcElements[ i ], destElements[ i ] );
+				}
+			} else {
+				cloneCopyEvent( elem, clone );
+			}
+		}
+
+		// Preserve script evaluation history
+		destElements = getAll( clone, "script" );
+		if ( destElements.length > 0 ) {
+			setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
+		}
+
+		// Return the cloned set
+		return clone;
+	},
+
+	cleanData: function( elems ) {
+		var data, elem, type,
+			special = jQuery.event.special,
+			i = 0;
+
+		for ( ; ( elem = elems[ i ] ) !== undefined; i++ ) {
+			if ( acceptData( elem ) ) {
+				if ( ( data = elem[ dataPriv.expando ] ) ) {
+					if ( data.events ) {
+						for ( type in data.events ) {
+							if ( special[ type ] ) {
+								jQuery.event.remove( elem, type );
+
+							// This is a shortcut to avoid jQuery.event.remove's overhead
+							} else {
+								jQuery.removeEvent( elem, type, data.handle );
+							}
+						}
+					}
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataPriv.expando ] = undefined;
+				}
+				if ( elem[ dataUser.expando ] ) {
+
+					// Support: Chrome <=35 - 45+
+					// Assign undefined instead of using delete, see Data#remove
+					elem[ dataUser.expando ] = undefined;
+				}
+			}
+		}
+	}
+} );
+
+jQuery.fn.extend( {
+	detach: function( selector ) {
+		return remove( this, selector, true );
+	},
+
+	remove: function( selector ) {
+		return remove( this, selector );
+	},
+
+	text: function( value ) {
+		return access( this, function( value ) {
+			return value === undefined ?
+				jQuery.text( this ) :
+				this.empty().each( function() {
+					if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+						this.textContent = value;
+					}
+				} );
+		}, null, value, arguments.length );
+	},
+
+	append: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.appendChild( elem );
+			}
+		} );
+	},
+
+	prepend: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
+				var target = manipulationTarget( this, elem );
+				target.insertBefore( elem, target.firstChild );
+			}
+		} );
+	},
+
+	before: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this );
+			}
+		} );
+	},
+
+	after: function() {
+		return domManip( this, arguments, function( elem ) {
+			if ( this.parentNode ) {
+				this.parentNode.insertBefore( elem, this.nextSibling );
+			}
+		} );
+	},
+
+	empty: function() {
+		var elem,
+			i = 0;
+
+		for ( ; ( elem = this[ i ] ) != null; i++ ) {
+			if ( elem.nodeType === 1 ) {
+
+				// Prevent memory leaks
+				jQuery.cleanData( getAll( elem, false ) );
+
+				// Remove any remaining nodes
+				elem.textContent = "";
+			}
+		}
+
+		return this;
+	},
+
+	clone: function( dataAndEvents, deepDataAndEvents ) {
+		dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
+		deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
+
+		return this.map( function() {
+			return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
+		} );
+	},
+
+	html: function( value ) {
+		return access( this, function( value ) {
+			var elem = this[ 0 ] || {},
+				i = 0,
+				l = this.length;
+
+			if ( value === undefined && elem.nodeType === 1 ) {
+				return elem.innerHTML;
+			}
+
+			// See if we can take a shortcut and just use innerHTML
+			if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
+				!wrapMap[ ( rtagName.exec( value ) || [ "", "" ] )[ 1 ].toLowerCase() ] ) {
+
+				value = jQuery.htmlPrefilter( value );
+
+				try {
+					for ( ; i < l; i++ ) {
+						elem = this[ i ] || {};
+
+						// Remove element nodes and prevent memory leaks
+						if ( elem.nodeType === 1 ) {
+							jQuery.cleanData( getAll( elem, false ) );
+							elem.innerHTML = value;
+						}
+					}
+
+					elem = 0;
+
+				// If using innerHTML throws an exception, use the fallback method
+				} catch ( e ) {}
+			}
+
+			if ( elem ) {
+				this.empty().append( value );
+			}
+		}, null, value, arguments.length );
+	},
+
+	replaceWith: function() {
+		var ignored = [];
+
+		// Make the changes, replacing each non-ignored context element with the new content
+		return domManip( this, arguments, function( elem ) {
+			var parent = this.parentNode;
+
+			if ( jQuery.inArray( this, ignored ) < 0 ) {
+				jQuery.cleanData( getAll( this ) );
+				if ( parent ) {
+					parent.replaceChild( elem, this );
+				}
+			}
+
+		// Force callback invocation
+		}, ignored );
+	}
+} );
+
+jQuery.each( {
+	appendTo: "append",
+	prependTo: "prepend",
+	insertBefore: "before",
+	insertAfter: "after",
+	replaceAll: "replaceWith"
+}, function( name, original ) {
+	jQuery.fn[ name ] = function( selector ) {
+		var elems,
+			ret = [],
+			insert = jQuery( selector ),
+			last = insert.length - 1,
+			i = 0;
+
+		for ( ; i <= last; i++ ) {
+			elems = i === last ? this : this.clone( true );
+			jQuery( insert[ i ] )[ original ]( elems );
+
+			// Support: Android <=4.0 only, PhantomJS 1 only
+			// .get() because push.apply(_, arraylike) throws on ancient WebKit
+			push.apply( ret, elems.get() );
+		}
+
+		return this.pushStack( ret );
+	};
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/manipulation/_evalUrl.js b/public/bower_components/jquery/src/manipulation/_evalUrl.js
new file mode 100644
index 0000000..f9ec702
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/_evalUrl.js
@@ -0,0 +1,23 @@
+define( [
+	"../ajax"
+], function( jQuery ) {
+
+"use strict";
+
+jQuery._evalUrl = function( url ) {
+	return jQuery.ajax( {
+		url: url,
+
+		// Make this explicit, since user can override this through ajaxSetup (#11264)
+		type: "GET",
+		dataType: "script",
+		cache: true,
+		async: false,
+		global: false,
+		"throws": true
+	} );
+};
+
+return jQuery._evalUrl;
+
+} );
diff --git a/public/bower_components/jquery/src/manipulation/buildFragment.js b/public/bower_components/jquery/src/manipulation/buildFragment.js
new file mode 100644
index 0000000..782de0c
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/buildFragment.js
@@ -0,0 +1,105 @@
+define( [
+	"../core",
+	"../core/toType",
+	"./var/rtagName",
+	"./var/rscriptType",
+	"./wrapMap",
+	"./getAll",
+	"./setGlobalEval"
+], function( jQuery, toType, rtagName, rscriptType, wrapMap, getAll, setGlobalEval ) {
+
+"use strict";
+
+var rhtml = /<|&#?\w+;/;
+
+function buildFragment( elems, context, scripts, selection, ignored ) {
+	var elem, tmp, tag, wrap, contains, j,
+		fragment = context.createDocumentFragment(),
+		nodes = [],
+		i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		elem = elems[ i ];
+
+		if ( elem || elem === 0 ) {
+
+			// Add nodes directly
+			if ( toType( elem ) === "object" ) {
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
+
+			// Convert non-html into a text node
+			} else if ( !rhtml.test( elem ) ) {
+				nodes.push( context.createTextNode( elem ) );
+
+			// Convert html into DOM nodes
+			} else {
+				tmp = tmp || fragment.appendChild( context.createElement( "div" ) );
+
+				// Deserialize a standard representation
+				tag = ( rtagName.exec( elem ) || [ "", "" ] )[ 1 ].toLowerCase();
+				wrap = wrapMap[ tag ] || wrapMap._default;
+				tmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];
+
+				// Descend through wrappers to the right content
+				j = wrap[ 0 ];
+				while ( j-- ) {
+					tmp = tmp.lastChild;
+				}
+
+				// Support: Android <=4.0 only, PhantomJS 1 only
+				// push.apply(_, arraylike) throws on ancient WebKit
+				jQuery.merge( nodes, tmp.childNodes );
+
+				// Remember the top-level container
+				tmp = fragment.firstChild;
+
+				// Ensure the created nodes are orphaned (#12392)
+				tmp.textContent = "";
+			}
+		}
+	}
+
+	// Remove wrapper from fragment
+	fragment.textContent = "";
+
+	i = 0;
+	while ( ( elem = nodes[ i++ ] ) ) {
+
+		// Skip elements already in the context collection (trac-4087)
+		if ( selection && jQuery.inArray( elem, selection ) > -1 ) {
+			if ( ignored ) {
+				ignored.push( elem );
+			}
+			continue;
+		}
+
+		contains = jQuery.contains( elem.ownerDocument, elem );
+
+		// Append to fragment
+		tmp = getAll( fragment.appendChild( elem ), "script" );
+
+		// Preserve script evaluation history
+		if ( contains ) {
+			setGlobalEval( tmp );
+		}
+
+		// Capture executables
+		if ( scripts ) {
+			j = 0;
+			while ( ( elem = tmp[ j++ ] ) ) {
+				if ( rscriptType.test( elem.type || "" ) ) {
+					scripts.push( elem );
+				}
+			}
+		}
+	}
+
+	return fragment;
+}
+
+return buildFragment;
+} );
diff --git a/public/bower_components/jquery/src/manipulation/getAll.js b/public/bower_components/jquery/src/manipulation/getAll.js
new file mode 100644
index 0000000..fede6c7
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/getAll.js
@@ -0,0 +1,32 @@
+define( [
+	"../core",
+	"../core/nodeName"
+], function( jQuery, nodeName ) {
+
+"use strict";
+
+function getAll( context, tag ) {
+
+	// Support: IE <=9 - 11 only
+	// Use typeof to avoid zero-argument method invocation on host objects (#15151)
+	var ret;
+
+	if ( typeof context.getElementsByTagName !== "undefined" ) {
+		ret = context.getElementsByTagName( tag || "*" );
+
+	} else if ( typeof context.querySelectorAll !== "undefined" ) {
+		ret = context.querySelectorAll( tag || "*" );
+
+	} else {
+		ret = [];
+	}
+
+	if ( tag === undefined || tag && nodeName( context, tag ) ) {
+		return jQuery.merge( [ context ], ret );
+	}
+
+	return ret;
+}
+
+return getAll;
+} );
diff --git a/public/bower_components/jquery/src/manipulation/setGlobalEval.js b/public/bower_components/jquery/src/manipulation/setGlobalEval.js
new file mode 100644
index 0000000..cf95240
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/setGlobalEval.js
@@ -0,0 +1,22 @@
+define( [
+	"../data/var/dataPriv"
+], function( dataPriv ) {
+
+"use strict";
+
+// Mark scripts as having already been evaluated
+function setGlobalEval( elems, refElements ) {
+	var i = 0,
+		l = elems.length;
+
+	for ( ; i < l; i++ ) {
+		dataPriv.set(
+			elems[ i ],
+			"globalEval",
+			!refElements || dataPriv.get( refElements[ i ], "globalEval" )
+		);
+	}
+}
+
+return setGlobalEval;
+} );
diff --git a/public/bower_components/jquery/src/manipulation/support.js b/public/bower_components/jquery/src/manipulation/support.js
new file mode 100644
index 0000000..4a5d9af
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/support.js
@@ -0,0 +1,35 @@
+define( [
+	"../var/document",
+	"../var/support"
+], function( document, support ) {
+
+"use strict";
+
+( function() {
+	var fragment = document.createDocumentFragment(),
+		div = fragment.appendChild( document.createElement( "div" ) ),
+		input = document.createElement( "input" );
+
+	// Support: Android 4.0 - 4.3 only
+	// Check state lost if the name is set (#11217)
+	// Support: Windows Web Apps (WWA)
+	// `name` and `type` must use .setAttribute for WWA (#14901)
+	input.setAttribute( "type", "radio" );
+	input.setAttribute( "checked", "checked" );
+	input.setAttribute( "name", "t" );
+
+	div.appendChild( input );
+
+	// Support: Android <=4.1 only
+	// Older WebKit doesn't clone checked state correctly in fragments
+	support.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+	// Support: IE <=11 only
+	// Make sure textarea (and checkbox) defaultValue is properly cloned
+	div.innerHTML = "<textarea>x</textarea>";
+	support.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;
+} )();
+
+return support;
+
+} );
diff --git a/public/bower_components/jquery/src/manipulation/var/rcheckableType.js b/public/bower_components/jquery/src/manipulation/var/rcheckableType.js
new file mode 100644
index 0000000..25bbcb4
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/var/rcheckableType.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /^(?:checkbox|radio)$/i );
+} );
diff --git a/public/bower_components/jquery/src/manipulation/var/rscriptType.js b/public/bower_components/jquery/src/manipulation/var/rscriptType.js
new file mode 100644
index 0000000..cd1430a
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/var/rscriptType.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /^$|^module$|\/(?:java|ecma)script/i );
+} );
diff --git a/public/bower_components/jquery/src/manipulation/var/rtagName.js b/public/bower_components/jquery/src/manipulation/var/rtagName.js
new file mode 100644
index 0000000..d565dd3
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/var/rtagName.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /<([a-z][^\/\0>\x20\t\r\n\f]+)/i );
+} );
diff --git a/public/bower_components/jquery/src/manipulation/wrapMap.js b/public/bower_components/jquery/src/manipulation/wrapMap.js
new file mode 100644
index 0000000..1f446f7
--- /dev/null
+++ b/public/bower_components/jquery/src/manipulation/wrapMap.js
@@ -0,0 +1,29 @@
+define( function() {
+
+"use strict";
+
+// We have to close these tags to support XHTML (#13200)
+var wrapMap = {
+
+	// Support: IE <=9 only
+	option: [ 1, "<select multiple='multiple'>", "</select>" ],
+
+	// XHTML parsers do not magically insert elements in the
+	// same way that tag soup parsers do. So we cannot shorten
+	// this by omitting <tbody> or other required elements.
+	thead: [ 1, "<table>", "</table>" ],
+	col: [ 2, "<table><colgroup>", "</colgroup></table>" ],
+	tr: [ 2, "<table><tbody>", "</tbody></table>" ],
+	td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
+
+	_default: [ 0, "", "" ]
+};
+
+// Support: IE <=9 only
+wrapMap.optgroup = wrapMap.option;
+
+wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
+wrapMap.th = wrapMap.td;
+
+return wrapMap;
+} );
diff --git a/public/bower_components/jquery/src/offset.js b/public/bower_components/jquery/src/offset.js
new file mode 100644
index 0000000..83b1c3a
--- /dev/null
+++ b/public/bower_components/jquery/src/offset.js
@@ -0,0 +1,233 @@
+define( [
+	"./core",
+	"./core/access",
+	"./var/document",
+	"./var/documentElement",
+	"./var/isFunction",
+	"./css/var/rnumnonpx",
+	"./css/curCSS",
+	"./css/addGetHookIf",
+	"./css/support",
+	"./var/isWindow",
+	"./core/init",
+	"./css",
+	"./selector" // contains
+], function( jQuery, access, document, documentElement, isFunction, rnumnonpx,
+             curCSS, addGetHookIf, support, isWindow ) {
+
+"use strict";
+
+jQuery.offset = {
+	setOffset: function( elem, options, i ) {
+		var curPosition, curLeft, curCSSTop, curTop, curOffset, curCSSLeft, calculatePosition,
+			position = jQuery.css( elem, "position" ),
+			curElem = jQuery( elem ),
+			props = {};
+
+		// Set position first, in-case top/left are set even on static elem
+		if ( position === "static" ) {
+			elem.style.position = "relative";
+		}
+
+		curOffset = curElem.offset();
+		curCSSTop = jQuery.css( elem, "top" );
+		curCSSLeft = jQuery.css( elem, "left" );
+		calculatePosition = ( position === "absolute" || position === "fixed" ) &&
+			( curCSSTop + curCSSLeft ).indexOf( "auto" ) > -1;
+
+		// Need to be able to calculate position if either
+		// top or left is auto and position is either absolute or fixed
+		if ( calculatePosition ) {
+			curPosition = curElem.position();
+			curTop = curPosition.top;
+			curLeft = curPosition.left;
+
+		} else {
+			curTop = parseFloat( curCSSTop ) || 0;
+			curLeft = parseFloat( curCSSLeft ) || 0;
+		}
+
+		if ( isFunction( options ) ) {
+
+			// Use jQuery.extend here to allow modification of coordinates argument (gh-1848)
+			options = options.call( elem, i, jQuery.extend( {}, curOffset ) );
+		}
+
+		if ( options.top != null ) {
+			props.top = ( options.top - curOffset.top ) + curTop;
+		}
+		if ( options.left != null ) {
+			props.left = ( options.left - curOffset.left ) + curLeft;
+		}
+
+		if ( "using" in options ) {
+			options.using.call( elem, props );
+
+		} else {
+			curElem.css( props );
+		}
+	}
+};
+
+jQuery.fn.extend( {
+
+	// offset() relates an element's border box to the document origin
+	offset: function( options ) {
+
+		// Preserve chaining for setter
+		if ( arguments.length ) {
+			return options === undefined ?
+				this :
+				this.each( function( i ) {
+					jQuery.offset.setOffset( this, options, i );
+				} );
+		}
+
+		var rect, win,
+			elem = this[ 0 ];
+
+		if ( !elem ) {
+			return;
+		}
+
+		// Return zeros for disconnected and hidden (display: none) elements (gh-2310)
+		// Support: IE <=11 only
+		// Running getBoundingClientRect on a
+		// disconnected node in IE throws an error
+		if ( !elem.getClientRects().length ) {
+			return { top: 0, left: 0 };
+		}
+
+		// Get document-relative position by adding viewport scroll to viewport-relative gBCR
+		rect = elem.getBoundingClientRect();
+		win = elem.ownerDocument.defaultView;
+		return {
+			top: rect.top + win.pageYOffset,
+			left: rect.left + win.pageXOffset
+		};
+	},
+
+	// position() relates an element's margin box to its offset parent's padding box
+	// This corresponds to the behavior of CSS absolute positioning
+	position: function() {
+		if ( !this[ 0 ] ) {
+			return;
+		}
+
+		var offsetParent, offset, doc,
+			elem = this[ 0 ],
+			parentOffset = { top: 0, left: 0 };
+
+		// position:fixed elements are offset from the viewport, which itself always has zero offset
+		if ( jQuery.css( elem, "position" ) === "fixed" ) {
+
+			// Assume position:fixed implies availability of getBoundingClientRect
+			offset = elem.getBoundingClientRect();
+
+		} else {
+			offset = this.offset();
+
+			// Account for the *real* offset parent, which can be the document or its root element
+			// when a statically positioned element is identified
+			doc = elem.ownerDocument;
+			offsetParent = elem.offsetParent || doc.documentElement;
+			while ( offsetParent &&
+				( offsetParent === doc.body || offsetParent === doc.documentElement ) &&
+				jQuery.css( offsetParent, "position" ) === "static" ) {
+
+				offsetParent = offsetParent.parentNode;
+			}
+			if ( offsetParent && offsetParent !== elem && offsetParent.nodeType === 1 ) {
+
+				// Incorporate borders into its offset, since they are outside its content origin
+				parentOffset = jQuery( offsetParent ).offset();
+				parentOffset.top += jQuery.css( offsetParent, "borderTopWidth", true );
+				parentOffset.left += jQuery.css( offsetParent, "borderLeftWidth", true );
+			}
+		}
+
+		// Subtract parent offsets and element margins
+		return {
+			top: offset.top - parentOffset.top - jQuery.css( elem, "marginTop", true ),
+			left: offset.left - parentOffset.left - jQuery.css( elem, "marginLeft", true )
+		};
+	},
+
+	// This method will return documentElement in the following cases:
+	// 1) For the element inside the iframe without offsetParent, this method will return
+	//    documentElement of the parent window
+	// 2) For the hidden or detached element
+	// 3) For body or html element, i.e. in case of the html node - it will return itself
+	//
+	// but those exceptions were never presented as a real life use-cases
+	// and might be considered as more preferable results.
+	//
+	// This logic, however, is not guaranteed and can change at any point in the future
+	offsetParent: function() {
+		return this.map( function() {
+			var offsetParent = this.offsetParent;
+
+			while ( offsetParent && jQuery.css( offsetParent, "position" ) === "static" ) {
+				offsetParent = offsetParent.offsetParent;
+			}
+
+			return offsetParent || documentElement;
+		} );
+	}
+} );
+
+// Create scrollLeft and scrollTop methods
+jQuery.each( { scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function( method, prop ) {
+	var top = "pageYOffset" === prop;
+
+	jQuery.fn[ method ] = function( val ) {
+		return access( this, function( elem, method, val ) {
+
+			// Coalesce documents and windows
+			var win;
+			if ( isWindow( elem ) ) {
+				win = elem;
+			} else if ( elem.nodeType === 9 ) {
+				win = elem.defaultView;
+			}
+
+			if ( val === undefined ) {
+				return win ? win[ prop ] : elem[ method ];
+			}
+
+			if ( win ) {
+				win.scrollTo(
+					!top ? val : win.pageXOffset,
+					top ? val : win.pageYOffset
+				);
+
+			} else {
+				elem[ method ] = val;
+			}
+		}, method, val, arguments.length );
+	};
+} );
+
+// Support: Safari <=7 - 9.1, Chrome <=37 - 49
+// Add the top/left cssHooks using jQuery.fn.position
+// Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084
+// Blink bug: https://bugs.chromium.org/p/chromium/issues/detail?id=589347
+// getComputedStyle returns percent when specified for top/left/bottom/right;
+// rather than make the css module depend on the offset module, just check for it here
+jQuery.each( [ "top", "left" ], function( i, prop ) {
+	jQuery.cssHooks[ prop ] = addGetHookIf( support.pixelPosition,
+		function( elem, computed ) {
+			if ( computed ) {
+				computed = curCSS( elem, prop );
+
+				// If curCSS returns percentage, fallback to offset
+				return rnumnonpx.test( computed ) ?
+					jQuery( elem ).position()[ prop ] + "px" :
+					computed;
+			}
+		}
+	);
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/queue.js b/public/bower_components/jquery/src/queue.js
new file mode 100644
index 0000000..fbbbeab
--- /dev/null
+++ b/public/bower_components/jquery/src/queue.js
@@ -0,0 +1,145 @@
+define( [
+	"./core",
+	"./data/var/dataPriv",
+	"./deferred",
+	"./callbacks"
+], function( jQuery, dataPriv ) {
+
+"use strict";
+
+jQuery.extend( {
+	queue: function( elem, type, data ) {
+		var queue;
+
+		if ( elem ) {
+			type = ( type || "fx" ) + "queue";
+			queue = dataPriv.get( elem, type );
+
+			// Speed up dequeue by getting out quickly if this is just a lookup
+			if ( data ) {
+				if ( !queue || Array.isArray( data ) ) {
+					queue = dataPriv.access( elem, type, jQuery.makeArray( data ) );
+				} else {
+					queue.push( data );
+				}
+			}
+			return queue || [];
+		}
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			startLength = queue.length,
+			fn = queue.shift(),
+			hooks = jQuery._queueHooks( elem, type ),
+			next = function() {
+				jQuery.dequeue( elem, type );
+			};
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+			startLength--;
+		}
+
+		if ( fn ) {
+
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift( "inprogress" );
+			}
+
+			// Clear up the last queue stop function
+			delete hooks.stop;
+			fn.call( elem, next, hooks );
+		}
+
+		if ( !startLength && hooks ) {
+			hooks.empty.fire();
+		}
+	},
+
+	// Not public - generate a queueHooks object, or return the current one
+	_queueHooks: function( elem, type ) {
+		var key = type + "queueHooks";
+		return dataPriv.get( elem, key ) || dataPriv.access( elem, key, {
+			empty: jQuery.Callbacks( "once memory" ).add( function() {
+				dataPriv.remove( elem, [ type + "queue", key ] );
+			} )
+		} );
+	}
+} );
+
+jQuery.fn.extend( {
+	queue: function( type, data ) {
+		var setter = 2;
+
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+			setter--;
+		}
+
+		if ( arguments.length < setter ) {
+			return jQuery.queue( this[ 0 ], type );
+		}
+
+		return data === undefined ?
+			this :
+			this.each( function() {
+				var queue = jQuery.queue( this, type, data );
+
+				// Ensure a hooks for this queue
+				jQuery._queueHooks( this, type );
+
+				if ( type === "fx" && queue[ 0 ] !== "inprogress" ) {
+					jQuery.dequeue( this, type );
+				}
+			} );
+	},
+	dequeue: function( type ) {
+		return this.each( function() {
+			jQuery.dequeue( this, type );
+		} );
+	},
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	},
+
+	// Get a promise resolved when queues of a certain type
+	// are emptied (fx is the type by default)
+	promise: function( type, obj ) {
+		var tmp,
+			count = 1,
+			defer = jQuery.Deferred(),
+			elements = this,
+			i = this.length,
+			resolve = function() {
+				if ( !( --count ) ) {
+					defer.resolveWith( elements, [ elements ] );
+				}
+			};
+
+		if ( typeof type !== "string" ) {
+			obj = type;
+			type = undefined;
+		}
+		type = type || "fx";
+
+		while ( i-- ) {
+			tmp = dataPriv.get( elements[ i ], type + "queueHooks" );
+			if ( tmp && tmp.empty ) {
+				count++;
+				tmp.empty.add( resolve );
+			}
+		}
+		resolve();
+		return defer.promise( obj );
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/queue/delay.js b/public/bower_components/jquery/src/queue/delay.js
new file mode 100644
index 0000000..d471eed
--- /dev/null
+++ b/public/bower_components/jquery/src/queue/delay.js
@@ -0,0 +1,24 @@
+define( [
+	"../core",
+	"../queue",
+	"../effects" // Delay is optional because of this dependency
+], function( jQuery ) {
+
+"use strict";
+
+// Based off of the plugin by Clint Helfers, with permission.
+// https://web.archive.org/web/20100324014747/http://blindsignals.com/index.php/2009/07/jquery-delay/
+jQuery.fn.delay = function( time, type ) {
+	time = jQuery.fx ? jQuery.fx.speeds[ time ] || time : time;
+	type = type || "fx";
+
+	return this.queue( type, function( next, hooks ) {
+		var timeout = window.setTimeout( next, time );
+		hooks.stop = function() {
+			window.clearTimeout( timeout );
+		};
+	} );
+};
+
+return jQuery.fn.delay;
+} );
diff --git a/public/bower_components/jquery/src/selector-native.js b/public/bower_components/jquery/src/selector-native.js
new file mode 100644
index 0000000..da837a0
--- /dev/null
+++ b/public/bower_components/jquery/src/selector-native.js
@@ -0,0 +1,237 @@
+define( [
+	"./core",
+	"./var/document",
+	"./var/documentElement",
+	"./var/hasOwn",
+	"./var/indexOf"
+], function( jQuery, document, documentElement, hasOwn, indexOf ) {
+
+"use strict";
+
+/*
+ * Optional (non-Sizzle) selector module for custom builds.
+ *
+ * Note that this DOES NOT SUPPORT many documented jQuery
+ * features in exchange for its smaller size:
+ *
+ * Attribute not equal selector
+ * Positional selectors (:first; :eq(n); :odd; etc.)
+ * Type selectors (:input; :checkbox; :button; etc.)
+ * State-based selectors (:animated; :visible; :hidden; etc.)
+ * :has(selector)
+ * :not(complex selector)
+ * custom selectors via Sizzle extensions
+ * Leading combinators (e.g., $collection.find("> *"))
+ * Reliable functionality on XML fragments
+ * Requiring all parts of a selector to match elements under context
+ *   (e.g., $div.find("div > *") now matches children of $div)
+ * Matching against non-elements
+ * Reliable sorting of disconnected nodes
+ * querySelectorAll bug fixes (e.g., unreliable :focus on WebKit)
+ *
+ * If any of these are unacceptable tradeoffs, either use Sizzle or
+ * customize this stub for the project's specific needs.
+ */
+
+var hasDuplicate, sortInput,
+	sortStable = jQuery.expando.split( "" ).sort( sortOrder ).join( "" ) === jQuery.expando,
+	matches = documentElement.matches ||
+		documentElement.webkitMatchesSelector ||
+		documentElement.mozMatchesSelector ||
+		documentElement.oMatchesSelector ||
+		documentElement.msMatchesSelector,
+
+	// CSS string/identifier serialization
+	// https://drafts.csswg.org/cssom/#common-serializing-idioms
+	rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,
+	fcssescape = function( ch, asCodePoint ) {
+		if ( asCodePoint ) {
+
+			// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
+			if ( ch === "\0" ) {
+				return "\uFFFD";
+			}
+
+			// Control characters and (dependent upon position) numbers get escaped as code points
+			return ch.slice( 0, -1 ) + "\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
+		}
+
+		// Other potentially-special ASCII characters get backslash-escaped
+		return "\\" + ch;
+	};
+
+function sortOrder( a, b ) {
+
+	// Flag for duplicate removal
+	if ( a === b ) {
+		hasDuplicate = true;
+		return 0;
+	}
+
+	// Sort on method existence if only one input has compareDocumentPosition
+	var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
+	if ( compare ) {
+		return compare;
+	}
+
+	// Calculate position if both inputs belong to the same document
+	compare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?
+		a.compareDocumentPosition( b ) :
+
+		// Otherwise we know they are disconnected
+		1;
+
+	// Disconnected nodes
+	if ( compare & 1 ) {
+
+		// Choose the first element that is related to our preferred document
+		if ( a === document || a.ownerDocument === document &&
+			jQuery.contains( document, a ) ) {
+			return -1;
+		}
+		if ( b === document || b.ownerDocument === document &&
+			jQuery.contains( document, b ) ) {
+			return 1;
+		}
+
+		// Maintain original order
+		return sortInput ?
+			( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
+			0;
+	}
+
+	return compare & 4 ? -1 : 1;
+}
+
+function uniqueSort( results ) {
+	var elem,
+		duplicates = [],
+		j = 0,
+		i = 0;
+
+	hasDuplicate = false;
+	sortInput = !sortStable && results.slice( 0 );
+	results.sort( sortOrder );
+
+	if ( hasDuplicate ) {
+		while ( ( elem = results[ i++ ] ) ) {
+			if ( elem === results[ i ] ) {
+				j = duplicates.push( i );
+			}
+		}
+		while ( j-- ) {
+			results.splice( duplicates[ j ], 1 );
+		}
+	}
+
+	// Clear input after sorting to release objects
+	// See https://github.com/jquery/sizzle/pull/225
+	sortInput = null;
+
+	return results;
+}
+
+function escape( sel ) {
+	return ( sel + "" ).replace( rcssescape, fcssescape );
+}
+
+jQuery.extend( {
+	uniqueSort: uniqueSort,
+	unique: uniqueSort,
+	escapeSelector: escape,
+	find: function( selector, context, results, seed ) {
+		var elem, nodeType,
+			i = 0;
+
+		results = results || [];
+		context = context || document;
+
+		// Same basic safeguard as Sizzle
+		if ( !selector || typeof selector !== "string" ) {
+			return results;
+		}
+
+		// Early return if context is not an element or document
+		if ( ( nodeType = context.nodeType ) !== 1 && nodeType !== 9 ) {
+			return [];
+		}
+
+		if ( seed ) {
+			while ( ( elem = seed[ i++ ] ) ) {
+				if ( jQuery.find.matchesSelector( elem, selector ) ) {
+					results.push( elem );
+				}
+			}
+		} else {
+			jQuery.merge( results, context.querySelectorAll( selector ) );
+		}
+
+		return results;
+	},
+	text: function( elem ) {
+		var node,
+			ret = "",
+			i = 0,
+			nodeType = elem.nodeType;
+
+		if ( !nodeType ) {
+
+			// If no nodeType, this is expected to be an array
+			while ( ( node = elem[ i++ ] ) ) {
+
+				// Do not traverse comment nodes
+				ret += jQuery.text( node );
+			}
+		} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
+
+			// Use textContent for elements
+			return elem.textContent;
+		} else if ( nodeType === 3 || nodeType === 4 ) {
+			return elem.nodeValue;
+		}
+
+		// Do not include comment or processing instruction nodes
+
+		return ret;
+	},
+	contains: function( a, b ) {
+		var adown = a.nodeType === 9 ? a.documentElement : a,
+			bup = b && b.parentNode;
+		return a === bup || !!( bup && bup.nodeType === 1 && adown.contains( bup ) );
+	},
+	isXMLDoc: function( elem ) {
+
+		// documentElement is verified for cases where it doesn't yet exist
+		// (such as loading iframes in IE - #4833)
+		var documentElement = elem && ( elem.ownerDocument || elem ).documentElement;
+		return documentElement ? documentElement.nodeName !== "HTML" : false;
+	},
+	expr: {
+		attrHandle: {},
+		match: {
+			bool: new RegExp( "^(?:checked|selected|async|autofocus|autoplay|controls|defer" +
+				"|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$", "i" ),
+			needsContext: /^[\x20\t\r\n\f]*[>+~]/
+		}
+	}
+} );
+
+jQuery.extend( jQuery.find, {
+	matches: function( expr, elements ) {
+		return jQuery.find( expr, null, null, elements );
+	},
+	matchesSelector: function( elem, expr ) {
+		return matches.call( elem, expr );
+	},
+	attr: function( elem, name ) {
+		var fn = jQuery.expr.attrHandle[ name.toLowerCase() ],
+
+			// Don't get fooled by Object.prototype properties (jQuery #13807)
+			value = fn && hasOwn.call( jQuery.expr.attrHandle, name.toLowerCase() ) ?
+				fn( elem, name, jQuery.isXMLDoc( elem ) ) :
+				undefined;
+		return value !== undefined ? value : elem.getAttribute( name );
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/selector-sizzle.js b/public/bower_components/jquery/src/selector-sizzle.js
new file mode 100644
index 0000000..ff7bc70
--- /dev/null
+++ b/public/bower_components/jquery/src/selector-sizzle.js
@@ -0,0 +1,19 @@
+define( [
+	"./core",
+	"../external/sizzle/dist/sizzle"
+], function( jQuery, Sizzle ) {
+
+"use strict";
+
+jQuery.find = Sizzle;
+jQuery.expr = Sizzle.selectors;
+
+// Deprecated
+jQuery.expr[ ":" ] = jQuery.expr.pseudos;
+jQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;
+jQuery.text = Sizzle.getText;
+jQuery.isXMLDoc = Sizzle.isXML;
+jQuery.contains = Sizzle.contains;
+jQuery.escapeSelector = Sizzle.escape;
+
+} );
diff --git a/public/bower_components/jquery/src/selector.js b/public/bower_components/jquery/src/selector.js
new file mode 100644
index 0000000..2e0c17e
--- /dev/null
+++ b/public/bower_components/jquery/src/selector.js
@@ -0,0 +1,3 @@
+define( [ "./selector-sizzle" ], function() {
+	"use strict";
+} );
diff --git a/public/bower_components/jquery/src/serialize.js b/public/bower_components/jquery/src/serialize.js
new file mode 100644
index 0000000..30fcf98
--- /dev/null
+++ b/public/bower_components/jquery/src/serialize.js
@@ -0,0 +1,132 @@
+define( [
+	"./core",
+	"./core/toType",
+	"./manipulation/var/rcheckableType",
+	"./var/isFunction",
+	"./core/init",
+	"./traversing", // filter
+	"./attributes/prop"
+], function( jQuery, toType, rcheckableType, isFunction ) {
+
+"use strict";
+
+var
+	rbracket = /\[\]$/,
+	rCRLF = /\r?\n/g,
+	rsubmitterTypes = /^(?:submit|button|image|reset|file)$/i,
+	rsubmittable = /^(?:input|select|textarea|keygen)/i;
+
+function buildParams( prefix, obj, traditional, add ) {
+	var name;
+
+	if ( Array.isArray( obj ) ) {
+
+		// Serialize array item.
+		jQuery.each( obj, function( i, v ) {
+			if ( traditional || rbracket.test( prefix ) ) {
+
+				// Treat each array item as a scalar.
+				add( prefix, v );
+
+			} else {
+
+				// Item is non-scalar (array or object), encode its numeric index.
+				buildParams(
+					prefix + "[" + ( typeof v === "object" && v != null ? i : "" ) + "]",
+					v,
+					traditional,
+					add
+				);
+			}
+		} );
+
+	} else if ( !traditional && toType( obj ) === "object" ) {
+
+		// Serialize object item.
+		for ( name in obj ) {
+			buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add );
+		}
+
+	} else {
+
+		// Serialize scalar item.
+		add( prefix, obj );
+	}
+}
+
+// Serialize an array of form elements or a set of
+// key/values into a query string
+jQuery.param = function( a, traditional ) {
+	var prefix,
+		s = [],
+		add = function( key, valueOrFunction ) {
+
+			// If value is a function, invoke it and use its return value
+			var value = isFunction( valueOrFunction ) ?
+				valueOrFunction() :
+				valueOrFunction;
+
+			s[ s.length ] = encodeURIComponent( key ) + "=" +
+				encodeURIComponent( value == null ? "" : value );
+		};
+
+	// If an array was passed in, assume that it is an array of form elements.
+	if ( Array.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) {
+
+		// Serialize the form elements
+		jQuery.each( a, function() {
+			add( this.name, this.value );
+		} );
+
+	} else {
+
+		// If traditional, encode the "old" way (the way 1.3.2 or older
+		// did it), otherwise encode params recursively.
+		for ( prefix in a ) {
+			buildParams( prefix, a[ prefix ], traditional, add );
+		}
+	}
+
+	// Return the resulting serialization
+	return s.join( "&" );
+};
+
+jQuery.fn.extend( {
+	serialize: function() {
+		return jQuery.param( this.serializeArray() );
+	},
+	serializeArray: function() {
+		return this.map( function() {
+
+			// Can add propHook for "elements" to filter or add form elements
+			var elements = jQuery.prop( this, "elements" );
+			return elements ? jQuery.makeArray( elements ) : this;
+		} )
+		.filter( function() {
+			var type = this.type;
+
+			// Use .is( ":disabled" ) so that fieldset[disabled] works
+			return this.name && !jQuery( this ).is( ":disabled" ) &&
+				rsubmittable.test( this.nodeName ) && !rsubmitterTypes.test( type ) &&
+				( this.checked || !rcheckableType.test( type ) );
+		} )
+		.map( function( i, elem ) {
+			var val = jQuery( this ).val();
+
+			if ( val == null ) {
+				return null;
+			}
+
+			if ( Array.isArray( val ) ) {
+				return jQuery.map( val, function( val ) {
+					return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+				} );
+			}
+
+			return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) };
+		} ).get();
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/traversing.js b/public/bower_components/jquery/src/traversing.js
new file mode 100644
index 0000000..64c7252
--- /dev/null
+++ b/public/bower_components/jquery/src/traversing.js
@@ -0,0 +1,191 @@
+define( [
+	"./core",
+	"./var/indexOf",
+	"./traversing/var/dir",
+	"./traversing/var/siblings",
+	"./traversing/var/rneedsContext",
+	"./core/nodeName",
+
+	"./core/init",
+	"./traversing/findFilter",
+	"./selector"
+], function( jQuery, indexOf, dir, siblings, rneedsContext, nodeName ) {
+
+"use strict";
+
+var rparentsprev = /^(?:parents|prev(?:Until|All))/,
+
+	// Methods guaranteed to produce a unique set when starting from a unique set
+	guaranteedUnique = {
+		children: true,
+		contents: true,
+		next: true,
+		prev: true
+	};
+
+jQuery.fn.extend( {
+	has: function( target ) {
+		var targets = jQuery( target, this ),
+			l = targets.length;
+
+		return this.filter( function() {
+			var i = 0;
+			for ( ; i < l; i++ ) {
+				if ( jQuery.contains( this, targets[ i ] ) ) {
+					return true;
+				}
+			}
+		} );
+	},
+
+	closest: function( selectors, context ) {
+		var cur,
+			i = 0,
+			l = this.length,
+			matched = [],
+			targets = typeof selectors !== "string" && jQuery( selectors );
+
+		// Positional selectors never match, since there's no _selection_ context
+		if ( !rneedsContext.test( selectors ) ) {
+			for ( ; i < l; i++ ) {
+				for ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {
+
+					// Always skip document fragments
+					if ( cur.nodeType < 11 && ( targets ?
+						targets.index( cur ) > -1 :
+
+						// Don't pass non-elements to Sizzle
+						cur.nodeType === 1 &&
+							jQuery.find.matchesSelector( cur, selectors ) ) ) {
+
+						matched.push( cur );
+						break;
+					}
+				}
+			}
+		}
+
+		return this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );
+	},
+
+	// Determine the position of an element within the set
+	index: function( elem ) {
+
+		// No argument, return index in parent
+		if ( !elem ) {
+			return ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;
+		}
+
+		// Index in selector
+		if ( typeof elem === "string" ) {
+			return indexOf.call( jQuery( elem ), this[ 0 ] );
+		}
+
+		// Locate the position of the desired element
+		return indexOf.call( this,
+
+			// If it receives a jQuery object, the first element is used
+			elem.jquery ? elem[ 0 ] : elem
+		);
+	},
+
+	add: function( selector, context ) {
+		return this.pushStack(
+			jQuery.uniqueSort(
+				jQuery.merge( this.get(), jQuery( selector, context ) )
+			)
+		);
+	},
+
+	addBack: function( selector ) {
+		return this.add( selector == null ?
+			this.prevObject : this.prevObject.filter( selector )
+		);
+	}
+} );
+
+function sibling( cur, dir ) {
+	while ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}
+	return cur;
+}
+
+jQuery.each( {
+	parent: function( elem ) {
+		var parent = elem.parentNode;
+		return parent && parent.nodeType !== 11 ? parent : null;
+	},
+	parents: function( elem ) {
+		return dir( elem, "parentNode" );
+	},
+	parentsUntil: function( elem, i, until ) {
+		return dir( elem, "parentNode", until );
+	},
+	next: function( elem ) {
+		return sibling( elem, "nextSibling" );
+	},
+	prev: function( elem ) {
+		return sibling( elem, "previousSibling" );
+	},
+	nextAll: function( elem ) {
+		return dir( elem, "nextSibling" );
+	},
+	prevAll: function( elem ) {
+		return dir( elem, "previousSibling" );
+	},
+	nextUntil: function( elem, i, until ) {
+		return dir( elem, "nextSibling", until );
+	},
+	prevUntil: function( elem, i, until ) {
+		return dir( elem, "previousSibling", until );
+	},
+	siblings: function( elem ) {
+		return siblings( ( elem.parentNode || {} ).firstChild, elem );
+	},
+	children: function( elem ) {
+		return siblings( elem.firstChild );
+	},
+	contents: function( elem ) {
+        if ( nodeName( elem, "iframe" ) ) {
+            return elem.contentDocument;
+        }
+
+        // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only
+        // Treat the template element as a regular one in browsers that
+        // don't support it.
+        if ( nodeName( elem, "template" ) ) {
+            elem = elem.content || elem;
+        }
+
+        return jQuery.merge( [], elem.childNodes );
+	}
+}, function( name, fn ) {
+	jQuery.fn[ name ] = function( until, selector ) {
+		var matched = jQuery.map( this, fn, until );
+
+		if ( name.slice( -5 ) !== "Until" ) {
+			selector = until;
+		}
+
+		if ( selector && typeof selector === "string" ) {
+			matched = jQuery.filter( selector, matched );
+		}
+
+		if ( this.length > 1 ) {
+
+			// Remove duplicates
+			if ( !guaranteedUnique[ name ] ) {
+				jQuery.uniqueSort( matched );
+			}
+
+			// Reverse order for parents* and prev-derivatives
+			if ( rparentsprev.test( name ) ) {
+				matched.reverse();
+			}
+		}
+
+		return this.pushStack( matched );
+	};
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/jquery/src/traversing/findFilter.js b/public/bower_components/jquery/src/traversing/findFilter.js
new file mode 100644
index 0000000..268dad7
--- /dev/null
+++ b/public/bower_components/jquery/src/traversing/findFilter.js
@@ -0,0 +1,97 @@
+define( [
+	"../core",
+	"../var/indexOf",
+	"../var/isFunction",
+	"./var/rneedsContext",
+	"../selector"
+], function( jQuery, indexOf, isFunction, rneedsContext ) {
+
+"use strict";
+
+// Implement the identical functionality for filter and not
+function winnow( elements, qualifier, not ) {
+	if ( isFunction( qualifier ) ) {
+		return jQuery.grep( elements, function( elem, i ) {
+			return !!qualifier.call( elem, i, elem ) !== not;
+		} );
+	}
+
+	// Single element
+	if ( qualifier.nodeType ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( elem === qualifier ) !== not;
+		} );
+	}
+
+	// Arraylike of elements (jQuery, arguments, Array)
+	if ( typeof qualifier !== "string" ) {
+		return jQuery.grep( elements, function( elem ) {
+			return ( indexOf.call( qualifier, elem ) > -1 ) !== not;
+		} );
+	}
+
+	// Filtered directly for both simple and complex selectors
+	return jQuery.filter( qualifier, elements, not );
+}
+
+jQuery.filter = function( expr, elems, not ) {
+	var elem = elems[ 0 ];
+
+	if ( not ) {
+		expr = ":not(" + expr + ")";
+	}
+
+	if ( elems.length === 1 && elem.nodeType === 1 ) {
+		return jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];
+	}
+
+	return jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {
+		return elem.nodeType === 1;
+	} ) );
+};
+
+jQuery.fn.extend( {
+	find: function( selector ) {
+		var i, ret,
+			len = this.length,
+			self = this;
+
+		if ( typeof selector !== "string" ) {
+			return this.pushStack( jQuery( selector ).filter( function() {
+				for ( i = 0; i < len; i++ ) {
+					if ( jQuery.contains( self[ i ], this ) ) {
+						return true;
+					}
+				}
+			} ) );
+		}
+
+		ret = this.pushStack( [] );
+
+		for ( i = 0; i < len; i++ ) {
+			jQuery.find( selector, self[ i ], ret );
+		}
+
+		return len > 1 ? jQuery.uniqueSort( ret ) : ret;
+	},
+	filter: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], false ) );
+	},
+	not: function( selector ) {
+		return this.pushStack( winnow( this, selector || [], true ) );
+	},
+	is: function( selector ) {
+		return !!winnow(
+			this,
+
+			// If this is a positional/relative selector, check membership in the returned set
+			// so $("p:first").is("p:last") won't return true for a doc with two "p".
+			typeof selector === "string" && rneedsContext.test( selector ) ?
+				jQuery( selector ) :
+				selector || [],
+			false
+		).length;
+	}
+} );
+
+} );
diff --git a/public/bower_components/jquery/src/traversing/var/dir.js b/public/bower_components/jquery/src/traversing/var/dir.js
new file mode 100644
index 0000000..366a823
--- /dev/null
+++ b/public/bower_components/jquery/src/traversing/var/dir.js
@@ -0,0 +1,22 @@
+define( [
+	"../../core"
+], function( jQuery ) {
+
+"use strict";
+
+return function( elem, dir, until ) {
+	var matched = [],
+		truncate = until !== undefined;
+
+	while ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {
+		if ( elem.nodeType === 1 ) {
+			if ( truncate && jQuery( elem ).is( until ) ) {
+				break;
+			}
+			matched.push( elem );
+		}
+	}
+	return matched;
+};
+
+} );
diff --git a/public/bower_components/jquery/src/traversing/var/rneedsContext.js b/public/bower_components/jquery/src/traversing/var/rneedsContext.js
new file mode 100644
index 0000000..d0663ce
--- /dev/null
+++ b/public/bower_components/jquery/src/traversing/var/rneedsContext.js
@@ -0,0 +1,8 @@
+define( [
+	"../../core",
+	"../../selector"
+], function( jQuery ) {
+	"use strict";
+
+	return jQuery.expr.match.needsContext;
+} );
diff --git a/public/bower_components/jquery/src/traversing/var/siblings.js b/public/bower_components/jquery/src/traversing/var/siblings.js
new file mode 100644
index 0000000..952629d
--- /dev/null
+++ b/public/bower_components/jquery/src/traversing/var/siblings.js
@@ -0,0 +1,17 @@
+define( function() {
+
+"use strict";
+
+return function( n, elem ) {
+	var matched = [];
+
+	for ( ; n; n = n.nextSibling ) {
+		if ( n.nodeType === 1 && n !== elem ) {
+			matched.push( n );
+		}
+	}
+
+	return matched;
+};
+
+} );
diff --git a/public/bower_components/jquery/src/var/ObjectFunctionString.js b/public/bower_components/jquery/src/var/ObjectFunctionString.js
new file mode 100644
index 0000000..f9e850f
--- /dev/null
+++ b/public/bower_components/jquery/src/var/ObjectFunctionString.js
@@ -0,0 +1,7 @@
+define( [
+	"./fnToString"
+], function( fnToString ) {
+	"use strict";
+
+	return fnToString.call( Object );
+} );
diff --git a/public/bower_components/jquery/src/var/arr.js b/public/bower_components/jquery/src/var/arr.js
new file mode 100644
index 0000000..84713d8
--- /dev/null
+++ b/public/bower_components/jquery/src/var/arr.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return [];
+} );
diff --git a/public/bower_components/jquery/src/var/class2type.js b/public/bower_components/jquery/src/var/class2type.js
new file mode 100644
index 0000000..4365d46
--- /dev/null
+++ b/public/bower_components/jquery/src/var/class2type.js
@@ -0,0 +1,6 @@
+define( function() {
+	"use strict";
+
+	// [[Class]] -> type pairs
+	return {};
+} );
diff --git a/public/bower_components/jquery/src/var/concat.js b/public/bower_components/jquery/src/var/concat.js
new file mode 100644
index 0000000..e47c19d
--- /dev/null
+++ b/public/bower_components/jquery/src/var/concat.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.concat;
+} );
diff --git a/public/bower_components/jquery/src/var/document.js b/public/bower_components/jquery/src/var/document.js
new file mode 100644
index 0000000..dd3939d
--- /dev/null
+++ b/public/bower_components/jquery/src/var/document.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return window.document;
+} );
diff --git a/public/bower_components/jquery/src/var/documentElement.js b/public/bower_components/jquery/src/var/documentElement.js
new file mode 100644
index 0000000..0e3f8b4
--- /dev/null
+++ b/public/bower_components/jquery/src/var/documentElement.js
@@ -0,0 +1,7 @@
+define( [
+	"./document"
+], function( document ) {
+	"use strict";
+
+	return document.documentElement;
+} );
diff --git a/public/bower_components/jquery/src/var/fnToString.js b/public/bower_components/jquery/src/var/fnToString.js
new file mode 100644
index 0000000..18c43ff
--- /dev/null
+++ b/public/bower_components/jquery/src/var/fnToString.js
@@ -0,0 +1,7 @@
+define( [
+	"./hasOwn"
+], function( hasOwn ) {
+	"use strict";
+
+	return hasOwn.toString;
+} );
diff --git a/public/bower_components/jquery/src/var/getProto.js b/public/bower_components/jquery/src/var/getProto.js
new file mode 100644
index 0000000..965fab8
--- /dev/null
+++ b/public/bower_components/jquery/src/var/getProto.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return Object.getPrototypeOf;
+} );
diff --git a/public/bower_components/jquery/src/var/hasOwn.js b/public/bower_components/jquery/src/var/hasOwn.js
new file mode 100644
index 0000000..44ab680
--- /dev/null
+++ b/public/bower_components/jquery/src/var/hasOwn.js
@@ -0,0 +1,7 @@
+define( [
+	"./class2type"
+], function( class2type ) {
+	"use strict";
+
+	return class2type.hasOwnProperty;
+} );
diff --git a/public/bower_components/jquery/src/var/indexOf.js b/public/bower_components/jquery/src/var/indexOf.js
new file mode 100644
index 0000000..8320b98
--- /dev/null
+++ b/public/bower_components/jquery/src/var/indexOf.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.indexOf;
+} );
diff --git a/public/bower_components/jquery/src/var/isFunction.js b/public/bower_components/jquery/src/var/isFunction.js
new file mode 100644
index 0000000..dad662e
--- /dev/null
+++ b/public/bower_components/jquery/src/var/isFunction.js
@@ -0,0 +1,13 @@
+define( function() {
+	"use strict";
+
+	return function isFunction( obj ) {
+
+      // Support: Chrome <=57, Firefox <=52
+      // In some browsers, typeof returns "function" for HTML <object> elements
+      // (i.e., `typeof document.createElement( "object" ) === "function"`).
+      // We don't want to classify *any* DOM node as a function.
+      return typeof obj === "function" && typeof obj.nodeType !== "number";
+  };
+
+} );
diff --git a/public/bower_components/jquery/src/var/isWindow.js b/public/bower_components/jquery/src/var/isWindow.js
new file mode 100644
index 0000000..2ba1168
--- /dev/null
+++ b/public/bower_components/jquery/src/var/isWindow.js
@@ -0,0 +1,8 @@
+define( function() {
+	"use strict";
+
+	return function isWindow( obj ) {
+		return obj != null && obj === obj.window;
+	};
+
+} );
diff --git a/public/bower_components/jquery/src/var/pnum.js b/public/bower_components/jquery/src/var/pnum.js
new file mode 100644
index 0000000..6f06d73
--- /dev/null
+++ b/public/bower_components/jquery/src/var/pnum.js
@@ -0,0 +1,5 @@
+define( function() {
+	"use strict";
+
+	return ( /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/ ).source;
+} );
diff --git a/public/bower_components/jquery/src/var/push.js b/public/bower_components/jquery/src/var/push.js
new file mode 100644
index 0000000..9465620
--- /dev/null
+++ b/public/bower_components/jquery/src/var/push.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.push;
+} );
diff --git a/public/bower_components/jquery/src/var/rcssNum.js b/public/bower_components/jquery/src/var/rcssNum.js
new file mode 100644
index 0000000..4214b14
--- /dev/null
+++ b/public/bower_components/jquery/src/var/rcssNum.js
@@ -0,0 +1,9 @@
+define( [
+	"../var/pnum"
+], function( pnum ) {
+
+"use strict";
+
+return new RegExp( "^(?:([+-])=|)(" + pnum + ")([a-z%]*)$", "i" );
+
+} );
diff --git a/public/bower_components/jquery/src/var/rnothtmlwhite.js b/public/bower_components/jquery/src/var/rnothtmlwhite.js
new file mode 100644
index 0000000..29eebf2
--- /dev/null
+++ b/public/bower_components/jquery/src/var/rnothtmlwhite.js
@@ -0,0 +1,8 @@
+define( function() {
+	"use strict";
+
+	// Only count HTML whitespace
+	// Other whitespace should count in values
+	// https://infra.spec.whatwg.org/#ascii-whitespace
+	return ( /[^\x20\t\r\n\f]+/g );
+} );
diff --git a/public/bower_components/jquery/src/var/slice.js b/public/bower_components/jquery/src/var/slice.js
new file mode 100644
index 0000000..915f837
--- /dev/null
+++ b/public/bower_components/jquery/src/var/slice.js
@@ -0,0 +1,7 @@
+define( [
+	"./arr"
+], function( arr ) {
+	"use strict";
+
+	return arr.slice;
+} );
diff --git a/public/bower_components/jquery/src/var/support.js b/public/bower_components/jquery/src/var/support.js
new file mode 100644
index 0000000..094d0ae
--- /dev/null
+++ b/public/bower_components/jquery/src/var/support.js
@@ -0,0 +1,6 @@
+define( function() {
+	"use strict";
+
+	// All support tests are defined in their respective modules.
+	return {};
+} );
diff --git a/public/bower_components/jquery/src/var/toString.js b/public/bower_components/jquery/src/var/toString.js
new file mode 100644
index 0000000..ff4ecdc
--- /dev/null
+++ b/public/bower_components/jquery/src/var/toString.js
@@ -0,0 +1,7 @@
+define( [
+	"./class2type"
+], function( class2type ) {
+	"use strict";
+
+	return class2type.toString;
+} );
diff --git a/public/bower_components/jquery/src/wrap.js b/public/bower_components/jquery/src/wrap.js
new file mode 100644
index 0000000..41b716f
--- /dev/null
+++ b/public/bower_components/jquery/src/wrap.js
@@ -0,0 +1,78 @@
+define( [
+	"./core",
+	"./var/isFunction",
+	"./core/init",
+	"./manipulation", // clone
+	"./traversing" // parent, contents
+], function( jQuery, isFunction ) {
+
+"use strict";
+
+jQuery.fn.extend( {
+	wrapAll: function( html ) {
+		var wrap;
+
+		if ( this[ 0 ] ) {
+			if ( isFunction( html ) ) {
+				html = html.call( this[ 0 ] );
+			}
+
+			// The elements to wrap the target around
+			wrap = jQuery( html, this[ 0 ].ownerDocument ).eq( 0 ).clone( true );
+
+			if ( this[ 0 ].parentNode ) {
+				wrap.insertBefore( this[ 0 ] );
+			}
+
+			wrap.map( function() {
+				var elem = this;
+
+				while ( elem.firstElementChild ) {
+					elem = elem.firstElementChild;
+				}
+
+				return elem;
+			} ).append( this );
+		}
+
+		return this;
+	},
+
+	wrapInner: function( html ) {
+		if ( isFunction( html ) ) {
+			return this.each( function( i ) {
+				jQuery( this ).wrapInner( html.call( this, i ) );
+			} );
+		}
+
+		return this.each( function() {
+			var self = jQuery( this ),
+				contents = self.contents();
+
+			if ( contents.length ) {
+				contents.wrapAll( html );
+
+			} else {
+				self.append( html );
+			}
+		} );
+	},
+
+	wrap: function( html ) {
+		var htmlIsFunction = isFunction( html );
+
+		return this.each( function( i ) {
+			jQuery( this ).wrapAll( htmlIsFunction ? html.call( this, i ) : html );
+		} );
+	},
+
+	unwrap: function( selector ) {
+		this.parent( selector ).not( "body" ).each( function() {
+			jQuery( this ).replaceWith( this.childNodes );
+		} );
+		return this;
+	}
+} );
+
+return jQuery;
+} );
diff --git a/public/bower_components/moment/.bower.json b/public/bower_components/moment/.bower.json
new file mode 100644
index 0000000..6ac0fcb
--- /dev/null
+++ b/public/bower_components/moment/.bower.json
@@ -0,0 +1,37 @@
+{
+  "name": "moment",
+  "license": "MIT",
+  "main": "moment.js",
+  "ignore": [
+    "**/.*",
+    "benchmarks",
+    "bower_components",
+    "meteor",
+    "node_modules",
+    "scripts",
+    "tasks",
+    "test",
+    "component.json",
+    "composer.json",
+    "CONTRIBUTING.md",
+    "ender.js",
+    "Gruntfile.js",
+    "Moment.js.nuspec",
+    "package.js",
+    "package.json",
+    "ISSUE_TEMPLATE.md",
+    "typing-tests",
+    "min/tests.js"
+  ],
+  "homepage": "https://github.com/moment/moment",
+  "version": "2.24.0",
+  "_release": "2.24.0",
+  "_resolution": {
+    "type": "version",
+    "tag": "2.24.0",
+    "commit": "8a6b2e11207a3856bd858d4d65d4b0822571e6c3"
+  },
+  "_source": "https://github.com/moment/moment.git",
+  "_target": ">=2.10.5",
+  "_originalSource": "moment"
+}
\ No newline at end of file
diff --git a/public/bower_components/moment/CHANGELOG.md b/public/bower_components/moment/CHANGELOG.md
new file mode 100644
index 0000000..aa3aef2
--- /dev/null
+++ b/public/bower_components/moment/CHANGELOG.md
@@ -0,0 +1,895 @@
+Changelog
+=========
+
+### 2.24.0 [See full changelog](https://gist.github.com/marwahaha/12366fe45bee328f33acf125d4cd540e)
+
+* Release Jan 21, 2019
+
+* [#4338](https://github.com/moment/moment/pull/4338) [bugfix] Fix startOf/endOf DST issues while boosting performance
+* [#4553](https://github.com/moment/moment/pull/4553) [feature] Add localeSort param to Locale weekday methods
+* [#4887](https://github.com/moment/moment/pull/4887) [bugfix] Make Duration#as work with quarters
+* 3 new locales (it-ch, ga, en-SG)
+* Lots of locale improvements
+
+### 2.23.0 [See full changelog](https://gist.github.com/marwahaha/eadb7ac11b761290399a576f8b2419a5)
+
+* Release Dec 12, 2018
+
+* [#4863](https://github.com/moment/moment/pull/4863) [new locale] added Kurdish language (ku)
+* [#4417](https://github.com/moment/moment/pull/4417) [bugfix] isBetween should return false for invalid dates
+* [#4700](https://github.com/moment/moment/pull/4700) [bugfix] Fix [#4698](https://github.com/moment/moment/pull/4698): Use ISO WeekYear for HTML5_FMT.WEEK
+* [#4563](https://github.com/moment/moment/pull/4563) [feature] Fix [#4518](https://github.com/moment/moment/pull/4518): Add support to add/subtract ISO weeks
+* other locale changes, build process changes, typos
+
+### 2.22.2 [See full changelog](https://gist.github.com/marwahaha/4d992c13c2dbc0f59d4d8acae1dc6d3a)
+
+* Release May 31, 2018
+
+* [#4564](https://github.com/moment/moment/pull/4564) [bugfix] Avoid using trim()
+* [#4453](https://github.com/moment/moment/pull/4453) [bugfix] Treat periods as periods, not regex-anything period, for weekday parsing in strict mode.
+* Minor locale improvements (pa-in, be, az)
+
+### 2.22.1 [See full changelog](https://gist.github.com/marwahaha/ff2cd13d0eda08afb7a237b10aae558c)
+
+* Release Apr 14, 2018
+
+* [#4495](https://github.com/moment/moment/pull/4495) [bugfix] Added HTML5_FMT to moment.d.ts
+* Minor locale improvements
+* QUnit upgrade and coveralls reporting
+
+### 2.22.0 [See full changelog](https://gist.github.com/marwahaha/ae895025dac3f0641fa9ec2e36d282bb)
+
+* Release Mar 30, 2018
+
+* [#4423](https://github.com/moment/moment/pull/4423) [new locale] Added Mongolian locale mn
+* Various locale improvements
+* Minor misc changes
+
+### 2.21.0 [See full changelog](https://gist.github.com/marwahaha/80d19ef882b71df1948df7865efdd40e)
+
+* Release Mar 2, 2018
+
+* [#4391](https://github.com/moment/moment/pull/4391) [bugfix] Fix [#4390](https://github.com/moment/moment/pull/4390): use offset properly in toISOString
+* [#4310](https://github.com/moment/moment/pull/4310) [bugfix] Fix [#3883](https://github.com/moment/moment/pull/3883) lazy load parentLocale in defineLocale, fallback to global if missing
+* [#4085](https://github.com/moment/moment/pull/4085) [misc] Print console warning when setting non-existent locales
+* [#4371](https://github.com/moment/moment/pull/4371) [misc] fix deprecated rollup options
+* New locales: ug-cn, en-il, tg
+* Various locale improvements
+
+### 2.20.1 [See changelog](https://gist.github.com/marwahaha/d72c1cb22076373be889b16272cbd187)
+
+* Release Dec 18, 2017
+
+* [#4359](https://github.com/moment/moment/pull/4359) [locale] Fix Arabic locale for months (again)
+* [#4357](https://github.com/moment/moment/pull/4357) [misc] Add optional parameter keepOffset to toISOString
+
+### 2.20.0 [See full changelog](https://gist.github.com/marwahaha/e0d4135fbf8bb75fa85c4aa2bddc5031)
+
+* Release Dec 16, 2017
+
+* [#4312](https://github.com/moment/moment/pull/4312) [bugfix] Fix [#4251](https://github.com/moment/moment/pull/4251): Avoid RFC2822 in utc() test
+* [#4240](https://github.com/moment/moment/pull/4240) [bugfix] Fix incorrect strict parsing with full-width parentheses
+* [#4341](https://github.com/moment/moment/pull/4341) [feature] Prevent toISOString converting to UTC (issue [#1751](https://github.com/moment/moment/pull/1751))
+* [#4154](https://github.com/moment/moment/pull/4154) [feature] add format constants to support output to HTML5 input type formats (see [#3928](https://github.com/moment/moment/pull/3928))
+* [#4143](https://github.com/moment/moment/pull/4143) [new locale] mt: Maltese language
+* [#4183](https://github.com/moment/moment/pull/4183) [locale] Relative seconds i18n
+* Various other locale improvements
+
+### 2.19.4 [See changelog](https://gist.github.com/marwahaha/d3b7b0ddf4bdae512244f16e8cc59efb)
+
+* Release Dec 10, 2017
+
+* [#4332](https://github.com/moment/moment/pull/4332) [bugfix] Fix weekday verification for UTC and offset days (fixes [#4227](https://github.com/moment/moment/pull/4227))
+* [#4336](https://github.com/moment/moment/pull/4336) [bugfix] Fix [#4334](https://github.com/moment/moment/pull/4334): Remove unused function call argument
+* [#4246](https://github.com/moment/moment/pull/4246) [misc] Add 'ss' relative time key to typescript definition
+
+### 2.19.3 [See changelog](https://gist.github.com/marwahaha/3654006bc0c2e522451c08d12c0bfabf)
+
+* Release Nov 29, 2017
+
+* [#4326](https://github.com/moment/moment/pull/4326) [bugfix] Fix for ReDOS vulnerability (see [#4163](https://github.com/moment/moment/issues/4163))
+* [#4289](https://github.com/moment/moment/pull/4289) [misc] Fix spelling and formatting for U.S. for es-us
+
+### 2.19.2 [See changelog (it's the same >:D)](https://gist.github.com/ichernev/76b1a3f33d3a8ff9665ce434a45221d0)
+
+* Release Nov 11, 2017
+
+* [#4255](https://github.com/moment/moment/pull/4255) [bugfix] Fix year setter for random days in a leap year, fixes [#4238](https://github.com/moment/moment/issues/4238)
+* [#4242](https://github.com/moment/moment/pull/4242) [bugfix] updateLocale now tries to load parent, fixes [#3626](https://github.com/moment/moment/issues/3626)
+
+### 2.19.1
+
+* Release Oct 11, 2017
+
+Make react native and webpack both work
+* #4225 #4226 #4232
+
+### 2.19.0 [See full changelog](https://gist.github.com/ichernev/5f3f4eb02761b4f765a0cccf02cec603)
+
+* Release Oct 10, 2017
+
+## Fix React Native 0.49+ crash
+* [#4213](https://github.com/moment/moment/pull/4213) [critical] Rename dynamic
+  require to avoid React Native crash
+* [#4214](https://github.com/moment/moment/pull/4214) [fixup] Move require
+  rename inside try/catch, fixes
+  [#4213](https://github.com/moment/moment/issues/4213)
+
+## Features
+
+* [#3735](https://github.com/moment/moment/pull/3735) [feature] Ignore NaN values in setters
+* [#4106](https://github.com/moment/moment/pull/4106) [fixup] Drop isNumeric utility fn, fixes [#3735](https://github.com/moment/moment/issues/3735)
+* [#4080](https://github.com/moment/moment/pull/4080) [feature] Implement a clone method for durations, fixes [#4078](https://github.com/moment/moment/issues/4078)
+* [#4215](https://github.com/moment/moment/pull/4215) [misc] TS: Add duration.clone(), for [#4080](https://github.com/moment/moment/issues/4080)
+
+## Packaging
+
+* [#4003](https://github.com/moment/moment/pull/4003) [pkg] bower: Remove tests from package
+* [#3904](https://github.com/moment/moment/pull/3904) [pkg] jsnext:main -> module in package.json
+* [#4060](https://github.com/moment/moment/pull/4060) [pkg] Account for new rollup interface
+
+Bugfixes, new locales, locale fixes etc...
+
+### 2.18.1
+
+* Release Mar 22, 2017
+
+* [#3853](https://github.com/moment/moment/pull/3853) [misc] Fix invalid whitespace character causing inability to parse
+  moment.js
+
+### 2.18.0 [See full changelog](https://gist.github.com/ichernev/78920c5a1e419fb28c6e4546d1b7235c)
+
+* Release Mar 18, 2017
+
+## Features
+
+* [#3708](https://github.com/moment/moment/pull/3708) [feature] RFC2822 parsing
+* [#3611](https://github.com/moment/moment/pull/3611) [feature] Durations gain validity
+* [#3738](https://github.com/moment/moment/pull/3738) [feature] Enable relative time for multiple seconds, request [#2558](https://github.com/moment/moment/issues/2558)
+* [#3766](https://github.com/moment/moment/pull/3766) [feature] Add support for k and kk format parsing
+
+## Bugfixes
+
+* [#3643](https://github.com/moment/moment/pull/3643) [bugfix] Fixes [#3520](https://github.com/moment/moment/issues/3520), parseZone incorrectly handled minutes under 16
+* [#3710](https://github.com/moment/moment/pull/3710) [bugfix] Fixes [#3632](https://github.com/moment/moment/issues/3632), toISOString returns null for invalid date
+* [#3787](https://github.com/moment/moment/pull/3787) [bugfix] Fixes [#3717](https://github.com/moment/moment/issues/3717), ensure day-of-year is non-zero
+* [#3780](https://github.com/moment/moment/pull/3780) [bugfix] Fixes [#3765](https://github.com/moment/moment/issues/3765): Ensure year 0 is formatted with YYYY
+* [#3806](https://github.com/moment/moment/pull/3806) [bugfix] Fixes [#3805](https://github.com/moment/moment/issues/3805), fix locale month getters for standalone/format cases
+
+7 new locales, many locale improvements and some misc changes
+
+### 2.17.1 [Also available here](https://gist.github.com/ichernev/f38280b2b29c4932914a6d3a4e50bfb2)
+* Release Dec 03, 2016
+
+* [#3638](https://github.com/moment/moment/pull/3638) [misc] TS: Make typescript definitions work with 1.x
+* [#3628](https://github.com/moment/moment/pull/3628) [misc] Adds "sign CLA" link to `CONTRIBUTING.md`
+* [#3640](https://github.com/moment/moment/pull/3640) [misc] Fix locale issues
+
+### 2.17.0 [Also available here](https://gist.github.com/ichernev/ed58f76fb95205eeac653d719972b90c)
+* Release Nov 22, 2016
+
+* [#3435](https://github.com/moment/moment/pull/3435) [new locale] yo: Yoruba (Nigeria) locale
+* [#3595](https://github.com/moment/moment/pull/3595) [bugfix] Fix accidental reference to global "value" variable
+* [#3506](https://github.com/moment/moment/pull/3506) [bugfix] Fix invalid moments returning valid dates to method calls
+* [#3563](https://github.com/moment/moment/pull/3563) [locale] ca: Change future relative time
+* [#3504](https://github.com/moment/moment/pull/3504) [tests] Fixes [#3463](https://github.com/moment/moment/issues/3463), parseZone not handling Z correctly (tests only)
+* [#3591](https://github.com/moment/moment/pull/3591) [misc] typescript: update typescript to 2.0.8, add strictNullChecks=true
+* [#3597](https://github.com/moment/moment/pull/3597) [misc] Fixed capitalization in nuget spec
+
+### 2.16.0 [See full changelog](https://gist.github.com/ichernev/17bffc1005a032cb1a8ac4c1558b4994)
+* Release Nov 9, 2016
+
+## Features
+* [#3530](https://github.com/moment/moment/pull/3530) [feature] Check whether input is date before checking if format is array
+* [#3515](https://github.com/moment/moment/pull/3515) [feature] Fix [#2300](https://github.com/moment/moment/issues/2300): Default to current week.
+
+## Bugfixes
+* [#3546](https://github.com/moment/moment/pull/3546) [bugfix] Implement lazy-loading of child locales with missing prents
+* [#3523](https://github.com/moment/moment/pull/3523) [bugfix] parseZone should handle UTC
+* [#3502](https://github.com/moment/moment/pull/3502) [bugfix] Fix [#3500](https://github.com/moment/moment/issues/3500): ISO 8601 parsing should match the full string, not the beginning of the string.
+* [#3581](https://github.com/moment/moment/pull/3581) [bugfix] Fix parseZone, redo [#3504](https://github.com/moment/moment/issues/3504), fix [#3463](https://github.com/moment/moment/issues/3463)
+
+## New Locales
+* [#3416](https://github.com/moment/moment/pull/3416) [new locale] nl-be: Dutch (Belgium) locale
+* [#3393](https://github.com/moment/moment/pull/3393) [new locale] ar-dz: Arabic (Algeria) locale
+* [#3342](https://github.com/moment/moment/pull/3342) [new locale] tet: Tetun Dili (East Timor) locale
+
+And more locale, build and typescript improvements
+
+### 2.15.2
+* Release Oct 23, 2016
+* [#3525](https://github.com/moment/moment/pull/3525) Speedup month standalone/format regexes **(IMPORTANT)**
+* [#3466](https://github.com/moment/moment/pull/3466) Fix typo of Javanese
+
+### 2.15.1
+* Release Sept 20, 2016
+* [#3438](https://github.com/moment/moment/pull/3438) Fix locale autoload, revert [#3344](https://github.com/moment/moment/pull/3344)
+
+### 2.15.0 [See full changelog](https://gist.github.com/ichernev/10e1c5bf647545c72ca30e9628a09ed3)
+- Release Sept 12, 2016
+
+## New Locales
+* [#3255](https://github.com/moment/moment/pull/3255) [new locale] mi: Maori language
+* [#3267](https://github.com/moment/moment/pull/3267) [new locale] ar-ly: Arabic (Libya) locale
+* [#3333](https://github.com/moment/moment/pull/3333) [new locale] zh-hk: Chinese (Hong Kong) locale
+
+## Bugfixes
+* [#3276](https://github.com/moment/moment/pull/3276) [bugfix] duration: parser: Support ms durations in .NET syntax
+* [#3312](https://github.com/moment/moment/pull/3312) [bugfix] locales: Enable locale-data getters without moment (fixes [#3284](https://github.com/moment/moment/issues/3284))
+* [#3381](https://github.com/moment/moment/pull/3381) [bugfix] parsing: Fix parseZone without timezone in string, fixes [#3083](https://github.com/moment/moment/issues/3083)
+* [#3383](https://github.com/moment/moment/pull/3383) [bugfix] toJSON: Fix isValid so that toJSON works after a moment is frozen
+* [#3427](https://github.com/moment/moment/pull/3427) [bugfix] ie8: Fix IE8 (regression in 2.14.x)
+
+## Packaging
+* [#3299](https://github.com/moment/moment/pull/3299) [pkg] npm: Do not include .npmignore in npm package
+* [#3273](https://github.com/moment/moment/pull/3273) [pkg] jspm: Include moment.d.ts file in package
+* [#3344](https://github.com/moment/moment/pull/3344) [pkg] exports: use module.require for nodejs
+
+Also some locale and typescript improvements
+
+### 2.14.1
+- Release July 20, 2016
+* [#3280](https://github.com/moment/moment/pull/3280) Fix typescript definitions
+
+
+### 2.14.0 [See full changelog](https://gist.github.com/ichernev/812e79ac36a7829a22598fe964bfc18a)
+
+- Release July 20, 2016
+
+## New Features
+* [#3233](https://github.com/moment/moment/pull/3233) Introduce month.isFormat for format/standalone discovery
+* [#2848](https://github.com/moment/moment/pull/2848) Allow user to get/set the rounding method used when calculating relative time
+* [#3112](https://github.com/moment/moment/pull/3112) optimize configFromStringAndFormat
+* [#3147](https://github.com/moment/moment/pull/3147) Call calendar format function with moment context
+* [#3160](https://github.com/moment/moment/pull/3160) deprecate isDSTShifted
+* [#3175](https://github.com/moment/moment/pull/3175) make moment calendar extensible with ad-hoc options
+* [#3191](https://github.com/moment/moment/pull/3191) toDate returns a copy of the internal date object
+* [#3192](https://github.com/moment/moment/pull/3192) Adding support for rollup import.
+* [#3238](https://github.com/moment/moment/pull/3238) Handle empty object and empty array for creation as now
+* [#3082](https://github.com/moment/moment/pull/3082) Use relative AMD moment dependency
+
+## Bugfixes
+* [#3241](https://github.com/moment/moment/pull/3241) Escape all 24 mixed pieces, not only first 12 in computeMonthsParse
+* [#3008](https://github.com/moment/moment/pull/3008) Object setter orders sets based on size of unit
+* [#3177](https://github.com/moment/moment/pull/3177) Bug Fix [#2704](https://github.com/moment/moment/pull/2704) - isoWeekday(String) inconsistent with isoWeekday(Number)
+* [#3230](https://github.com/moment/moment/pull/3230) fix passing date with format string to ignore format string
+* [#3232](https://github.com/moment/moment/pull/3232) Fix negative 0 in certain diff cases
+* [#3235](https://github.com/moment/moment/pull/3235) Use proper locale inheritance for the base locale, fixes [#3137](https://github.com/moment/moment/pull/3137)
+
+Plus es-do locale and locale bugfixes
+
+### 2.13.0 [See full changelog](https://gist.github.com/ichernev/0132fcf5b61f7fc140b0bb0090480d49)
+- Release April 18, 2016
+
+## Enhancements:
+* [#2982](https://github.com/moment/moment/pull/2982) Add 'date' as alias to 'day' for startOf() and endOf().
+* [#2955](https://github.com/moment/moment/pull/2955) Add parsing negative components in durations when ISO 8601
+* [#2991](https://github.com/moment/moment/pull/2991) isBetween support for both open and closed intervals
+* [#3105](https://github.com/moment/moment/pull/3105) Add localeSorted argument to weekday listers
+* [#3102](https://github.com/moment/moment/pull/3102) Add k and kk formatting tokens
+
+## Bugfixes
+* [#3109](https://github.com/moment/moment/pull/3109) Fix [#1756](https://github.com/moment/moment/issues/1756) Resolved thread-safe issue on server side.
+* [#3078](https://github.com/moment/moment/pull/3078) Fix parsing for months/weekdays with weird characters
+* [#3098](https://github.com/moment/moment/pull/3098) Use Z suffix when in UTC mode ([#3020](https://github.com/moment/moment/issues/3020))
+* [#2995](https://github.com/moment/moment/pull/2995) Fix floating point rounding errors in durations
+* [#3059](https://github.com/moment/moment/pull/3059) fix bug where diff returns -0 in month-related diffs
+* [#3045](https://github.com/moment/moment/pull/3045) Fix mistaking any input for 'a' token
+* [#2877](https://github.com/moment/moment/pull/2877) Use explicit .valueOf() calls instead of coercion
+* [#3036](https://github.com/moment/moment/pull/3036) Year setter should keep time when DST changes
+
+Plus 3 new locales and locale fixes.
+
+### 2.12.0 [See full changelog](https://gist.github.com/ichernev/6e5bfdf8d6522fc4ac73)
+
+- Release March 7, 2016
+
+## Enhancements:
+* [#2932](https://github.com/moment/moment/pull/2932) List loaded locales
+* [#2818](https://github.com/moment/moment/pull/2818) Parse ISO-8061 duration containing both day and week values
+* [#2774](https://github.com/moment/moment/pull/2774) Implement locale inheritance and locale updating
+
+## Bugfixes:
+* [#2970](https://github.com/moment/moment/pull/2970) change add subtract to handle decimal values by rounding
+* [#2887](https://github.com/moment/moment/pull/2887) Fix toJSON casting of invalid moment
+* [#2897](https://github.com/moment/moment/pull/2897) parse string arguments for month() correctly, closes #2884
+* [#2946](https://github.com/moment/moment/pull/2946) Fix usage suggestions for min and max
+
+## New locales:
+* [#2917](https://github.com/moment/moment/pull/2917) Locale Punjabi(Gurmukhi) India format conversion
+
+And more
+
+### 2.11.2 (Fix ReDoS attack vector)
+
+- Release February 7, 2016
+
+* [#2939](https://github.com/moment/moment/pull/2939) use full-string match to speed up aspnet regex match
+
+### 2.11.1 [See full changelog](https://gist.github.com/ichernev/8ec3ee25b749b4cff3c2)
+
+- Release January 9, 2016
+
+## Bugfixes:
+* [#2881](https://github.com/moment/moment/pull/2881) Revert "Merge pull request #2746 from mbad0la:develop" Sep->Sept
+* [#2868](https://github.com/moment/moment/pull/2868) Add format and parse token Y, so it actually works
+* [#2865](https://github.com/moment/moment/pull/2865) Use typeof checks for undefined for global variables
+* [#2858](https://github.com/moment/moment/pull/2858) Fix Date mocking regression introduced in 2.11.0
+* [#2864](https://github.com/moment/moment/pull/2864) Include changelog in npm release
+* [#2830](https://github.com/moment/moment/pull/2830) dep: add grunt-cli
+* [#2869](https://github.com/moment/moment/pull/2869) Fix months parsing for some locales
+
+### 2.11.0 [See full changelog](https://gist.github.com/ichernev/6594bc29719dde6b2f66)
+
+- Release January 4, 2016
+
+* [#2624](https://github.com/moment/moment/pull/2624) Proper handling of invalid moments
+* [#2634](https://github.com/moment/moment/pull/2634) Fix strict month parsing issue in cs,ru,sk
+* [#2735](https://github.com/moment/moment/pull/2735) Reset the locale back to 'en' after defining all locales in min/locales.js
+* [#2702](https://github.com/moment/moment/pull/2702) Week rework
+* [#2746](https://github.com/moment/moment/pull/2746) Changed September Abbreviation to "Sept" in locale-specific english
+  files and default locale file
+* [#2646](https://github.com/moment/moment/pull/2646) Fix [#2645](https://github.com/moment/moment/pull/2645) - invalid dates pre-1970
+
+* [#2641](https://github.com/moment/moment/pull/2641) Implement basic format and comma as ms separator in ISO 8601
+* [#2665](https://github.com/moment/moment/pull/2665) Implement stricter weekday parsing
+* [#2700](https://github.com/moment/moment/pull/2700) Add [Hh]mm and [Hh]mmss formatting tokens, so you can parse 123 with
+  hmm for example
+* [#2565](https://github.com/moment/moment/pull/2565) [#2835](https://github.com/moment/moment/pull/2835) Expose arguments used for moment creation with creationData
+  (fix [#2443](https://github.com/moment/moment/pull/2443))
+* [#2648](https://github.com/moment/moment/pull/2648) fix issue [#2640](https://github.com/moment/moment/pull/2640): support instanceof operator
+* [#2709](https://github.com/moment/moment/pull/2709) Add isSameOrAfter and isSameOrBefore comparison methods
+* [#2721](https://github.com/moment/moment/pull/2721) Fix moment creation from object with strings values
+* [#2740](https://github.com/moment/moment/pull/2740) Enable 'd hh:mm:ss.sss' format for durations
+* [#2766](https://github.com/moment/moment/pull/2766) [#2833](https://github.com/moment/moment/pull/2833) Alternate Clock Source Support
+
+### 2.10.6
+
+- Release July 28, 2015
+
+[#2515](https://github.com/moment/moment/pull/2515) Fix regression introduced
+in `2.10.5` related to `moment.ISO_8601` parsing.
+
+### 2.10.5 [See full changelog](https://gist.github.com/ichernev/6ec13ac7efc396da44b2)
+
+- Release July 26, 2015
+
+Important changes:
+* [#2357](https://github.com/moment/moment/pull/2357) Improve unit bubbling for ISO dates
+  this fixes day to year conversions to work around end-of-year (~365 days). As
+  a side effect 365 days is 11 months and 30 days, and 366 days is one year.
+* [#2438](https://github.com/moment/moment/pull/2438) Fix inconsistent moment.min and moment.max results
+  Return invalid result if any of the inputs is invalid
+* [#2494](https://github.com/moment/moment/pull/2494) Fix two digit year parsing with YYYY format
+  This brings the benefits of YY to YYYY
+* [#2368](https://github.com/moment/moment/pull/2368) perf: use faster form of copying dates, across the board improvement
+
+
+### 2.10.3 [See full changelog](https://gist.github.com/ichernev/f264b9bed5b00f8b1b7f)
+
+- Release May 13, 2015
+
+* add `moment.fn.to` and `moment.fn.toNow` (similar to `from` and `fromNow`)
+* new locales (Sinhalese (si), Montenegrin (me), Javanese (ja))
+* performance improvements
+
+### 2.10.2
+
+- Release April 9, 2015
+
+* fixed moment-with-locales in browser env caused by esperanto change
+
+### 2.10.1
+
+* regression: Add moment.duration.fn back
+
+### 2.10.0
+
+Ported code to es6 modules.
+
+### 2.9.0 [See full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7)
+
+- Release January 8, 2015
+
+languages:
+* [2104](https://github.com/moment/moment/issues/2104) Frisian (fy) language file with unit test
+* [2097](https://github.com/moment/moment/issues/2097) add ar-tn locale
+
+deprecations:
+* [2074](https://github.com/moment/moment/issues/2074) Implement `moment.fn.utcOffset`, deprecate `moment.fn.zone`
+
+features:
+* [2088](https://github.com/moment/moment/issues/2088) add moment.fn.isBetween
+* [2054](https://github.com/moment/moment/issues/2054) Call updateOffset when creating moment (needed for default timezone in
+  moment-timezone)
+* [1893](https://github.com/moment/moment/issues/1893) Add moment.isDate method
+* [1825](https://github.com/moment/moment/issues/1825) Implement toJSON function on Duration
+* [1809](https://github.com/moment/moment/issues/1809) Allowing moment.set() to accept a hash of units
+* [2128](https://github.com/moment/moment/issues/2128) Add firstDayOfWeek, firstDayOfYear locale getters
+* [2131](https://github.com/moment/moment/issues/2131) Add quarter diff support
+
+Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/0c9a9b49951111a27ce7)
+
+### 2.8.4 [See full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996)
+
+- Release November 19, 2014
+
+Features:
+
+* [#2000](https://github.com/moment/moment/issues/2000) Add LTS localised format that includes seconds
+* [#1960](https://github.com/moment/moment/issues/1960) added formatToken 'x' for unix offset in milliseconds #1938
+* [#1965](https://github.com/moment/moment/issues/1965) Support 24:00:00.000 to mean next day, at midnight.
+* [#2002](https://github.com/moment/moment/issues/2002) Accept 'date' key when creating moment with object
+* [#2009](https://github.com/moment/moment/issues/2009) Use native toISOString when we can
+
+Some bugfixes and language improvements -- [full changelog](https://gist.github.com/ichernev/a4fcb0a46d74e4b9b996)
+
+### 2.8.3
+
+- Release September 5, 2014
+
+Bugfixes:
+
+* [#1801](https://github.com/moment/moment/issues/1801) proper pluralization for Arabic
+* [#1833](https://github.com/moment/moment/issues/1833) improve spm integration
+* [#1871](https://github.com/moment/moment/issues/1871) fix zone bug caused by Firefox 24
+* [#1882](https://github.com/moment/moment/issues/1882) Use hh:mm in Czech
+* [#1883](https://github.com/moment/moment/issues/1883) Fix 2.8.0 regression in duration as conversions
+* [#1890](https://github.com/moment/moment/issues/1890) Faster travis builds
+* [#1892](https://github.com/moment/moment/issues/1892) Faster isBefore/After/Same
+* [#1848](https://github.com/moment/moment/issues/1848) Fix flaky month diffs
+* [#1895](https://github.com/moment/moment/issues/1895) Fix 2.8.0 regression in moment.utc with format array
+* [#1896](https://github.com/moment/moment/issues/1896) Support setting invalid instance locale (noop)
+* [#1897](https://github.com/moment/moment/issues/1897) Support moment([str]) in addition to moment([int])
+
+### 2.8.2
+
+- Release August 22, 2014
+
+Minor bugfixes:
+
+* [#1874](https://github.com/moment/moment/issues/1874) use `Object.prototype.hasOwnProperty`
+  instead of `obj.hasOwnProperty` (ie8 bug)
+* [#1873](https://github.com/moment/moment/issues/1873) add `duration#toString()`
+* [#1859](https://github.com/moment/moment/issues/1859) better month/weekday names in norwegian
+* [#1812](https://github.com/moment/moment/issues/1812) meridiem parsing for greek
+* [#1804](https://github.com/moment/moment/issues/1804) spanish del -> de
+* [#1800](https://github.com/moment/moment/issues/1800) korean LT improvement
+
+### 2.8.1
+
+- Release August 1, 2014
+
+* bugfix [#1813](https://github.com/moment/moment/issues/1813): fix moment().lang([key]) incompatibility
+
+### 2.8.0 [See changelog](https://gist.github.com/ichernev/ac3899324a5fa6c8c9b4)
+
+- Release July 31, 2014
+
+* incompatible changes
+    * [#1761](https://github.com/moment/moment/issues/1761): moments created without a language are no longer following the global language, in case it changes. Only newly created moments take the global language by default. In case you're affected by this, wait, comment on [#1797](https://github.com/moment/moment/issues/1797) and wait for a proper reimplementation
+    * [#1642](https://github.com/moment/moment/issues/1642): 45 days is no longer "a month" according to humanize, cutoffs for month, and year have changed. Hopefully your code does not depend on a particular answer from humanize (which it shouldn't anyway)
+    * [#1784](https://github.com/moment/moment/issues/1784): if you use the human readable English datetime format in a weird way (like storing them in a database) that would break when the format changes you're at risk.
+
+* deprecations (old behavior will be dropped in 3.0)
+    * [#1761](https://github.com/moment/moment/issues/1761) `lang` is renamed to `locale`, `langData` -> `localeData`. Also there is now `defineLocale` that should be used when creating new locales
+    * [#1763](https://github.com/moment/moment/issues/1763) `add(unit, value)` and `subtract(unit, value)` are now deprecated. Use `add(value, unit)` and `subtract(value, unit)` instead.
+    * [#1759](https://github.com/moment/moment/issues/1759) rename `duration.toIsoString` to `duration.toISOString`. The js standard library and moment's `toISOString` follow that convention.
+
+* new locales
+    * [#1789](https://github.com/moment/moment/issues/1789) Tibetan (bo)
+    * [#1786](https://github.com/moment/moment/issues/1786) Africaans (af)
+    * [#1778](https://github.com/moment/moment/issues/1778) Burmese (my)
+    * [#1727](https://github.com/moment/moment/issues/1727) Belarusian (be)
+
+* bugfixes, locale bugfixes, performance improvements, features
+
+### 2.7.0 [See changelog](https://gist.github.com/ichernev/b0a3d456d5a84c9901d7)
+
+- Release June 12, 2014
+
+* new languages
+
+  * [#1678](https://github.com/moment/moment/issues/1678) Bengali (bn)
+  * [#1628](https://github.com/moment/moment/issues/1628) Azerbaijani (az)
+  * [#1633](https://github.com/moment/moment/issues/1633) Arabic, Saudi Arabia (ar-sa)
+  * [#1648](https://github.com/moment/moment/issues/1648) Austrian German (de-at)
+
+* features
+
+  * [#1663](https://github.com/moment/moment/issues/1663) configurable relative time thresholds
+  * [#1554](https://github.com/moment/moment/issues/1554) support anchor time in moment.calendar
+  * [#1693](https://github.com/moment/moment/issues/1693) support moment.ISO_8601 as parsing format
+  * [#1637](https://github.com/moment/moment/issues/1637) add moment.min and moment.max and deprecate min/max instance methods
+  * [#1704](https://github.com/moment/moment/issues/1704) support string value in add/subtract
+  * [#1647](https://github.com/moment/moment/issues/1647) add spm support (package manager)
+
+* bugfixes
+
+### 2.6.0 [See changelog](https://gist.github.com/ichernev/10544682)
+
+- Release April 12 , 2014
+
+* languages
+  * [#1529](https://github.com/moment/moment/issues/1529) Serbian-Cyrillic (sr-cyr)
+  * [#1544](https://github.com/moment/moment/issues/1544), [#1546](https://github.com/moment/moment/issues/1546) Khmer Cambodia (km)
+
+* features
+    * [#1419](https://github.com/moment/moment/issues/1419), [#1468](https://github.com/moment/moment/issues/1468), [#1467](https://github.com/moment/moment/issues/1467), [#1546](https://github.com/moment/moment/issues/1546) better handling of timezone-d moments around DST
+    * [#1462](https://github.com/moment/moment/issues/1462) add weeksInYear and isoWeeksInYear
+    * [#1475](https://github.com/moment/moment/issues/1475) support ordinal parsing
+    * [#1499](https://github.com/moment/moment/issues/1499) composer support
+    * [#1577](https://github.com/moment/moment/issues/1577), [#1604](https://github.com/moment/moment/issues/1604) put Date parsing in moment.createFromInputFallback so it can be properly deprecated and controlled in the future
+    * [#1545](https://github.com/moment/moment/issues/1545) extract two-digit year parsing in moment.parseTwoDigitYear, so it can be overwritten
+    * [#1590](https://github.com/moment/moment/issues/1590) (see [#1574](https://github.com/moment/moment/issues/1574)) set AMD global before module definition to better support non AMD module dependencies used in AMD environment
+    * [#1589](https://github.com/moment/moment/issues/1589) remove global in Node.JS environment (was not working before, nobody complained, was scheduled for removal anyway)
+    * [#1586](https://github.com/moment/moment/issues/1586) support quarter setting and parsing
+
+* 18 bugs fixed
+
+### 2.5.1
+
+- Release January 22, 2014
+
+* languages
+  * [#1392](https://github.com/moment/moment/issues/1392) Armenian (hy-am)
+
+* bugfixes
+  * [#1429](https://github.com/moment/moment/issues/1429) fixes [#1423](https://github.com/moment/moment/issues/1423) weird chrome-32 bug with js object creation
+  * [#1421](https://github.com/moment/moment/issues/1421) remove html entities from Welsh
+  * [#1418](https://github.com/moment/moment/issues/1418) fixes [#1401](https://github.com/moment/moment/issues/1401) improved non-padded tokens in strict matching
+  * [#1417](https://github.com/moment/moment/issues/1417) fixes [#1404](https://github.com/moment/moment/issues/1404) handle buggy moment object created by property cloning
+  * [#1398](https://github.com/moment/moment/issues/1398) fixes [#1397](https://github.com/moment/moment/issues/1397) fix Arabic-like week number parsing
+  * [#1396](https://github.com/moment/moment/issues/1396) add leftZeroFill(4) to GGGG and gggg formats
+  * [#1373](https://github.com/moment/moment/issues/1373) use lowercase for months and days in Catalan
+
+* testing
+  * [#1374](https://github.com/moment/moment/issues/1374) run tests on multiple browser/os combos via SauceLabs and Travis
+
+### 2.5.0 [See changelog](https://gist.github.com/ichernev/8104451)
+
+- Release Dec 24, 2013
+
+* New languages
+  * Luxemburish (lb) [1247](https://github.com/moment/moment/issues/1247)
+  * Serbian (rs) [1319](https://github.com/moment/moment/issues/1319)
+  * Tamil (ta) [1324](https://github.com/moment/moment/issues/1324)
+  * Macedonian (mk) [1337](https://github.com/moment/moment/issues/1337)
+
+* Features
+  * [1311](https://github.com/moment/moment/issues/1311) Add quarter getter and format token `Q`
+  * [1303](https://github.com/moment/moment/issues/1303) strict parsing now respects number of digits per token (fix [1196](https://github.com/moment/moment/issues/1196))
+  * 0d30bb7 add jspm support
+  * [1347](https://github.com/moment/moment/issues/1347) improve zone parsing
+  * [1362](https://github.com/moment/moment/issues/1362) support merideam parsing in Korean
+
+* 22 bugfixes
+
+### 2.4.0
+
+- Release Oct 27, 2013
+
+* **Deprecate** globally exported moment, will be removed in next major
+* New languages
+  * Farose (fo) [#1206](https://github.com/moment/moment/issues/1206)
+  * Tagalog/Filipino (tl-ph) [#1197](https://github.com/moment/moment/issues/1197)
+  * Welsh (cy) [#1215](https://github.com/moment/moment/issues/1215)
+* Bugfixes
+  * properly handle Z at the end of iso RegExp [#1187](https://github.com/moment/moment/issues/1187)
+  * chinese meridian time improvements [#1076](https://github.com/moment/moment/issues/1076)
+  * fix language tests [#1177](https://github.com/moment/moment/issues/1177)
+  * remove some failing tests (that should have never existed :))
+    [#1185](https://github.com/moment/moment/issues/1185)
+    [#1183](https://github.com/moment/moment/issues/1183)
+  * handle russian noun cases in weird cases [#1195](https://github.com/moment/moment/issues/1195)
+
+### 2.3.1
+
+- Release Oct 9, 2013
+
+Removed a trailing comma [1169] and fixed a bug with `months`, `weekdays` getters [#1171](https://github.com/moment/moment/issues/1171).
+
+### 2.3.0 [See changelog](https://gist.github.com/ichernev/6864354)
+
+- Release Oct 7, 2013
+
+Changed isValid, added strict parsing.
+Week tokens parsing.
+
+### 2.2.1
+
+- Release Sep 12, 2013
+
+Fixed bug in string prototype test.
+Updated authors and contributors.
+
+### 2.2.0 [See changelog](https://gist.github.com/ichernev/00f837a9baf46a3565e4)
+
+- Release  Sep 11, 2013
+
+Added bower support.
+
+Language files now use UMD.
+
+Creating moment defaults to current date/month/year.
+
+Added a bundle of moment and all language files.
+
+### 2.1.0 [See changelog](https://gist.github.com/timrwood/b8c2d90d528eddb53ab5)
+
+- Release Jul 8, 2013
+
+Added better week support.
+
+Added ability to set offset with `moment#zone`.
+
+Added ability to set month or weekday from a string.
+
+Added `moment#min` and `moment#max`
+
+### 2.0.0 [See changelog](https://gist.github.com/timrwood/e72f2eef320ed9e37c51)
+
+- Release Feb 9, 2013
+
+Added short form localized tokens.
+
+Added ability to define language a string should be parsed in.
+
+Added support for reversed add/subtract arguments.
+
+Added support for `endOf('week')` and `startOf('week')`.
+
+Fixed the logic for `moment#diff(Moment, 'months')` and `moment#diff(Moment, 'years')`
+
+`moment#diff` now floors instead of rounds.
+
+Normalized `moment#toString`.
+
+Added `isSame`, `isAfter`, and `isBefore` methods.
+
+Added better week support.
+
+Added `moment#toJSON`
+
+Bugfix: Fixed parsing of first century dates
+
+Bugfix: Parsing 10Sep2001 should work as expected
+
+Bugfix: Fixed weirdness with `moment.utc()` parsing.
+
+Changed language ordinal method to return the number + ordinal instead of just the ordinal.
+
+Changed two digit year parsing cutoff to match strptime.
+
+Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`.
+
+Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`.
+
+Removed the lang data objects from the top level namespace.
+
+Duplicate `Date` passed to `moment()` instead of referencing it.
+
+### 1.7.2 [See discussion](https://github.com/timrwood/moment/issues/456)
+
+- Release Oct 2, 2012
+
+Bugfixes
+
+### 1.7.1 [See discussion](https://github.com/timrwood/moment/issues/384)
+
+- Release Oct 1, 2012
+
+Bugfixes
+
+### 1.7.0 [See discussion](https://github.com/timrwood/moment/issues/288)
+
+- Release Jul 26, 2012
+
+Added `moment.fn.endOf()` and `moment.fn.startOf()`.
+
+Added validation via `moment.fn.isValid()`.
+
+Made formatting method 3x faster. http://jsperf.com/momentjs-cached-format-functions
+
+Add support for month/weekday callbacks in `moment.fn.format()`
+
+Added instance specific languages.
+
+Added two letter weekday abbreviations with the formatting token `dd`.
+
+Various language updates.
+
+Various bugfixes.
+
+### 1.6.0 [See discussion](https://github.com/timrwood/moment/pull/268)
+
+- Release Apr 26, 2012
+
+Added Durations.
+
+Revamped parser to support parsing non-separated strings (YYYYMMDD vs YYYY-MM-DD).
+
+Added support for millisecond parsing and formatting tokens (S SS SSS)
+
+Added a getter for `moment.lang()`
+
+Various bugfixes.
+
+There are a few things deprecated in the 1.6.0 release.
+
+1. The format tokens `z` and `zz` (timezone abbreviations like EST CST MST etc) will no longer be supported. Due to inconsistent browser support, we are unable to consistently produce this value. See [this issue](https://github.com/timrwood/moment/issues/162) for more background.
+
+2. The method `moment.fn.native` is deprecated in favor of `moment.fn.toDate`. There continue to be issues with Google Closure Compiler throwing errors when using `native`, even in valid instances.
+
+3. The way to customize am/pm strings is being changed. This would only affect you if you created a custom language file. For more information, see [this issue](https://github.com/timrwood/moment/pull/222).
+
+### 1.5.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=10&page=1&state=closed)
+
+- Release Mar 20, 2012
+
+Added UTC mode.
+
+Added automatic ISO8601 parsing.
+
+Various bugfixes.
+
+### 1.4.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=8&state=closed)
+
+- Release Feb 4, 2012
+
+Added `moment.fn.toDate` as a replacement for `moment.fn.native`.
+
+Added `moment.fn.sod` and `moment.fn.eod` to get the start and end of day.
+
+Various bugfixes.
+
+### 1.3.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=7&state=closed)
+
+- Release Jan 5, 2012
+
+Added support for parsing month names in the current language.
+
+Added escape blocks for parsing tokens.
+
+Added `moment.fn.calendar` to format strings like 'Today 2:30 PM', 'Tomorrow 1:25 AM', and 'Last Sunday 4:30 AM'.
+
+Added `moment.fn.day` as a setter.
+
+Various bugfixes
+
+### 1.2.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=4&state=closed)
+
+- Release Dec 7, 2011
+
+Added timezones to parser and formatter.
+
+Added `moment.fn.isDST`.
+
+Added `moment.fn.zone` to get the timezone offset in minutes.
+
+### 1.1.2 [See milestone](https://github.com/timrwood/moment/issues?milestone=6&state=closed)
+
+- Release Nov 18, 2011
+
+Various bugfixes
+
+### 1.1.1 [See milestone](https://github.com/timrwood/moment/issues?milestone=5&state=closed)
+
+- Release Nov 12, 2011
+
+Added time specific diffs (months, days, hours, etc)
+
+### 1.1.0
+
+- Release Oct 28, 2011
+
+Added `moment.fn.format` localized masks. 'L LL LLL LLLL' [issue 29](https://github.com/timrwood/moment/pull/29)
+
+Fixed [issue 31](https://github.com/timrwood/moment/pull/31).
+
+### 1.0.1
+
+- Release Oct 18, 2011
+
+Added `moment.version` to get the current version.
+
+Removed `window !== undefined` when checking if module exists to support browserify. [issue 25](https://github.com/timrwood/moment/pull/25)
+
+### 1.0.0
+
+- Release
+
+Added convenience methods for getting and setting date parts.
+
+Added better support for `moment.add()`.
+
+Added better lang support in NodeJS.
+
+Renamed library from underscore.date to Moment.js
+
+### 0.6.1
+
+- Release Oct 12, 2011
+
+Added Portuguese, Italian, and French language support
+
+### 0.6.0
+
+- Release Sep 21, 2011
+
+Added _date.lang() support.
+Added support for passing multiple formats to try to parse a date. _date("07-10-1986", ["MM-DD-YYYY", "YYYY-MM-DD"]);
+Made parse from string and single format 25% faster.
+
+### 0.5.2
+
+- Release Jul 11, 2011
+
+Bugfix for [issue 8](https://github.com/timrwood/underscore.date/pull/8) and [issue 9](https://github.com/timrwood/underscore.date/pull/9).
+
+### 0.5.1
+
+- Release Jun 17, 2011
+
+Bugfix for [issue 5](https://github.com/timrwood/underscore.date/pull/5).
+
+### 0.5.0
+
+- Release Jun 13, 2011
+
+Dropped the redundant `_date.date()` in favor of `_date()`.
+Removed `_date.now()`, as it is a duplicate of `_date()` with no parameters.
+Removed `_date.isLeapYear(yearNumber)`. Use `_date([yearNumber]).isLeapYear()` instead.
+Exposed customization options through the `_date.relativeTime`, `_date.weekdays`, `_date.weekdaysShort`, `_date.months`, `_date.monthsShort`, and `_date.ordinal` variables instead of the `_date.customize()` function.
+
+### 0.4.1
+
+- Release May 9, 2011
+
+Added date input formats for input strings.
+
+### 0.4.0
+
+- Release May 9, 2011
+
+Added underscore.date to npm. Removed dependencies on underscore.
+
+### 0.3.2
+
+- Release Apr 9, 2011
+
+Added `'z'` and `'zz'` to `_.date().format()`. Cleaned up some redundant code to trim off some bytes.
+
+### 0.3.1
+
+- Release Mar 25, 2011
+
+Cleaned up the namespace. Moved all date manipulation and display functions to the _.date() object.
+
+### 0.3.0
+
+- Release Mar 25, 2011
+
+Switched to the Underscore methodology of not mucking with the native objects' prototypes.
+Made chaining possible.
+
+### 0.2.1
+
+- Release
+
+Changed date names to be a more pseudo standardized 'dddd, MMMM Do YYYY, h:mm:ss a'.
+Added `Date.prototype` functions `add`, `subtract`, `isdst`, and `isleapyear`.
+
+### 0.2.0
+
+- Release
+
+Changed function names to be more concise.
+Changed date format from php date format to custom format.
+
+### 0.1.0
+
+- Release
+
+Initial release
+
diff --git a/public/bower_components/moment/LICENSE b/public/bower_components/moment/LICENSE
new file mode 100644
index 0000000..8618b73
--- /dev/null
+++ b/public/bower_components/moment/LICENSE
@@ -0,0 +1,22 @@
+Copyright (c) JS Foundation and other contributors
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
diff --git a/public/bower_components/moment/README.md b/public/bower_components/moment/README.md
new file mode 100644
index 0000000..a922aea
--- /dev/null
+++ b/public/bower_components/moment/README.md
@@ -0,0 +1,65 @@
+[![Join the chat at https://gitter.im/moment/moment](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/moment/moment?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
+
+[![NPM version][npm-version-image]][npm-url] [![NPM downloads][npm-downloads-image]][downloads-url] [![MIT License][license-image]][license-url] [![Build Status][travis-image]][travis-url]
+[![Coverage Status](https://coveralls.io/repos/moment/moment/badge.svg?branch=develop)](https://coveralls.io/r/moment/moment?branch=develop)
+[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment.svg?type=shield)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment?ref=badge_shield)
+[![SemVer compatibility](https://api.dependabot.com/badges/compatibility_score?dependency-name=moment&package-manager=npm_and_yarn&version-scheme=semver)](https://dependabot.com/compatibility-score.html?dependency-name=moment&package-manager=npm_and_yarn&version-scheme=semver)
+
+A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
+
+**[Documentation](http://momentjs.com/docs/)**
+
+## Port to ECMAScript 6 (version 2.10.0)
+
+Moment 2.10.0 does not bring any new features, but the code is now written in
+ECMAScript 6 modules and placed inside `src/`. Previously `moment.js`, `locale/*.js` and
+`test/moment/*.js`, `test/locale/*.js` contained the source of the project. Now
+the source is in `src/`, temporary build (ECMAScript 5) files are placed under
+`build/umd/` (for running tests during development), and the `moment.js` and
+`locale/*.js` files are updated only on release.
+
+If you want to use a particular revision of the code, make sure to run
+`grunt transpile update-index`, so `moment.js` and `locales/*.js` are synced
+with `src/*`. We might place that in a commit hook in the future.
+
+## Upgrading to 2.0.0
+
+There are a number of small backwards incompatible changes with version 2.0.0. [See the full descriptions here](https://gist.github.com/timrwood/e72f2eef320ed9e37c51#backwards-incompatible-changes)
+
+ * Changed language ordinal method to return the number + ordinal instead of just the ordinal.
+
+ * Changed two digit year parsing cutoff to match strptime.
+
+ * Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`.
+
+ * Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`.
+
+ * Removed the lang data objects from the top level namespace.
+
+ * Duplicate `Date` passed to `moment()` instead of referencing it.
+
+## [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
+
+## [Contributing](https://github.com/moment/moment/blob/develop/CONTRIBUTING.md) [![Open Source Helpers](https://www.codetriage.com/moment/moment/badges/users.svg)](https://www.codetriage.com/moment/moment)
+
+We're looking for co-maintainers! If you want to become a master of time please
+write to [ichernev](https://github.com/ichernev).
+
+In addition to contributing code, you can help to triage issues. This can include reproducing bug reports, or asking for vital information such as version numbers or reproduction instructions. If you would like to start triaging issues, one easy way to get started is to [subscribe to moment/moment on CodeTriage](https://www.codetriage.com/moment/moment).
+
+## License
+
+Moment.js is freely distributable under the terms of the [MIT license](https://github.com/moment/moment/blob/develop/LICENSE).
+
+[![FOSSA Status](https://app.fossa.io/api/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment.svg?type=large)](https://app.fossa.io/projects/git%2Bhttps%3A%2F%2Fgithub.com%2Fmoment%2Fmoment?ref=badge_large)
+
+[license-image]: http://img.shields.io/badge/license-MIT-blue.svg?style=flat
+[license-url]: LICENSE
+
+[npm-url]: https://npmjs.org/package/moment
+[npm-version-image]: http://img.shields.io/npm/v/moment.svg?style=flat
+[npm-downloads-image]: http://img.shields.io/npm/dm/moment.svg?style=flat
+[downloads-url]: https://npmcharts.com/compare/moment?minimal=true
+
+[travis-url]: http://travis-ci.org/moment/moment
+[travis-image]: http://img.shields.io/travis/moment/moment/develop.svg?style=flat
diff --git a/public/bower_components/moment/bower.json b/public/bower_components/moment/bower.json
new file mode 100644
index 0000000..6afea16
--- /dev/null
+++ b/public/bower_components/moment/bower.json
@@ -0,0 +1,26 @@
+{
+  "name": "moment",
+  "license": "MIT",
+  "main": "moment.js",
+  "ignore": [
+    "**/.*",
+    "benchmarks",
+    "bower_components",
+    "meteor",
+    "node_modules",
+    "scripts",
+    "tasks",
+    "test",
+    "component.json",
+    "composer.json",
+    "CONTRIBUTING.md",
+    "ender.js",
+    "Gruntfile.js",
+    "Moment.js.nuspec",
+    "package.js",
+    "package.json",
+    "ISSUE_TEMPLATE.md",
+    "typing-tests",
+    "min/tests.js"
+  ]
+}
diff --git a/public/bower_components/moment/locale/af.js b/public/bower_components/moment/locale/af.js
new file mode 100644
index 0000000..0b2bb26
--- /dev/null
+++ b/public/bower_components/moment/locale/af.js
@@ -0,0 +1,72 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var af = moment.defineLocale('af', {
+        months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
+        weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
+        weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
+        meridiemParse: /vm|nm/i,
+        isPM : function (input) {
+            return /^nm$/i.test(input);
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'vm' : 'VM';
+            } else {
+                return isLower ? 'nm' : 'NM';
+            }
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Vandag om] LT',
+            nextDay : '[Môre om] LT',
+            nextWeek : 'dddd [om] LT',
+            lastDay : '[Gister om] LT',
+            lastWeek : '[Laas] dddd [om] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'oor %s',
+            past : '%s gelede',
+            s : '\'n paar sekondes',
+            ss : '%d sekondes',
+            m : '\'n minuut',
+            mm : '%d minute',
+            h : '\'n uur',
+            hh : '%d ure',
+            d : '\'n dag',
+            dd : '%d dae',
+            M : '\'n maand',
+            MM : '%d maande',
+            y : '\'n jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
+        },
+        week : {
+            dow : 1, // Maandag is die eerste dag van die week.
+            doy : 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
+        }
+    });
+
+    return af;
+
+})));
diff --git a/public/bower_components/moment/locale/ar-dz.js b/public/bower_components/moment/locale/ar-dz.js
new file mode 100644
index 0000000..e6efd0a
--- /dev/null
+++ b/public/bower_components/moment/locale/ar-dz.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var arDz = moment.defineLocale('ar-dz', {
+        months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return arDz;
+
+})));
diff --git a/public/bower_components/moment/locale/ar-kw.js b/public/bower_components/moment/locale/ar-kw.js
new file mode 100644
index 0000000..6a72e9b
--- /dev/null
+++ b/public/bower_components/moment/locale/ar-kw.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var arKw = moment.defineLocale('ar-kw', {
+        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return arKw;
+
+})));
diff --git a/public/bower_components/moment/locale/ar-ly.js b/public/bower_components/moment/locale/ar-ly.js
new file mode 100644
index 0000000..0df68c8
--- /dev/null
+++ b/public/bower_components/moment/locale/ar-ly.js
@@ -0,0 +1,121 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '1',
+        '2': '2',
+        '3': '3',
+        '4': '4',
+        '5': '5',
+        '6': '6',
+        '7': '7',
+        '8': '8',
+        '9': '9',
+        '0': '0'
+    }, pluralForm = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm(number),
+                str = plurals[u][pluralForm(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر'
+    ];
+
+    var arLy = moment.defineLocale('ar-ly', {
+        months : months,
+        monthsShort : months,
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/\u200FM/\u200FYYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم عند الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عند الساعة] LT',
+            lastDay: '[أمس عند الساعة] LT',
+            lastWeek: 'dddd [عند الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'بعد %s',
+            past : 'منذ %s',
+            s : pluralize('s'),
+            ss : pluralize('s'),
+            m : pluralize('m'),
+            mm : pluralize('m'),
+            h : pluralize('h'),
+            hh : pluralize('h'),
+            d : pluralize('d'),
+            dd : pluralize('d'),
+            M : pluralize('M'),
+            MM : pluralize('M'),
+            y : pluralize('y'),
+            yy : pluralize('y')
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return arLy;
+
+})));
diff --git a/public/bower_components/moment/locale/ar-ma.js b/public/bower_components/moment/locale/ar-ma.js
new file mode 100644
index 0000000..42db49a
--- /dev/null
+++ b/public/bower_components/moment/locale/ar-ma.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var arMa = moment.defineLocale('ar-ma', {
+        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return arMa;
+
+})));
diff --git a/public/bower_components/moment/locale/ar-sa.js b/public/bower_components/moment/locale/ar-sa.js
new file mode 100644
index 0000000..1c6d46d
--- /dev/null
+++ b/public/bower_components/moment/locale/ar-sa.js
@@ -0,0 +1,103 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    };
+
+    var arSa = moment.defineLocale('ar-sa', {
+        months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return arSa;
+
+})));
diff --git a/public/bower_components/moment/locale/ar-tn.js b/public/bower_components/moment/locale/ar-tn.js
new file mode 100644
index 0000000..8437717
--- /dev/null
+++ b/public/bower_components/moment/locale/ar-tn.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var arTn = moment.defineLocale('ar-tn', {
+        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'في %s',
+            past: 'منذ %s',
+            s: 'ثوان',
+            ss : '%d ثانية',
+            m: 'دقيقة',
+            mm: '%d دقائق',
+            h: 'ساعة',
+            hh: '%d ساعات',
+            d: 'يوم',
+            dd: '%d أيام',
+            M: 'شهر',
+            MM: '%d أشهر',
+            y: 'سنة',
+            yy: '%d سنوات'
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return arTn;
+
+})));
diff --git a/public/bower_components/moment/locale/ar.js b/public/bower_components/moment/locale/ar.js
new file mode 100644
index 0000000..1549cc1
--- /dev/null
+++ b/public/bower_components/moment/locale/ar.js
@@ -0,0 +1,134 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    }, pluralForm = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm(number),
+                str = plurals[u][pluralForm(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر'
+    ];
+
+    var ar = moment.defineLocale('ar', {
+        months : months,
+        monthsShort : months,
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/\u200FM/\u200FYYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم عند الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عند الساعة] LT',
+            lastDay: '[أمس عند الساعة] LT',
+            lastWeek: 'dddd [عند الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'بعد %s',
+            past : 'منذ %s',
+            s : pluralize('s'),
+            ss : pluralize('s'),
+            m : pluralize('m'),
+            mm : pluralize('m'),
+            h : pluralize('h'),
+            hh : pluralize('h'),
+            d : pluralize('d'),
+            dd : pluralize('d'),
+            M : pluralize('M'),
+            MM : pluralize('M'),
+            y : pluralize('y'),
+            yy : pluralize('y')
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return ar;
+
+})));
diff --git a/public/bower_components/moment/locale/az.js b/public/bower_components/moment/locale/az.js
new file mode 100644
index 0000000..348ddff
--- /dev/null
+++ b/public/bower_components/moment/locale/az.js
@@ -0,0 +1,104 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var suffixes = {
+        1: '-inci',
+        5: '-inci',
+        8: '-inci',
+        70: '-inci',
+        80: '-inci',
+        2: '-nci',
+        7: '-nci',
+        20: '-nci',
+        50: '-nci',
+        3: '-üncü',
+        4: '-üncü',
+        100: '-üncü',
+        6: '-ncı',
+        9: '-uncu',
+        10: '-uncu',
+        30: '-uncu',
+        60: '-ıncı',
+        90: '-ıncı'
+    };
+
+    var az = moment.defineLocale('az', {
+        months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
+        monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
+        weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
+        weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
+        weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[bugün saat] LT',
+            nextDay : '[sabah saat] LT',
+            nextWeek : '[gələn həftə] dddd [saat] LT',
+            lastDay : '[dünən] LT',
+            lastWeek : '[keçən həftə] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s sonra',
+            past : '%s əvvəl',
+            s : 'birneçə saniyə',
+            ss : '%d saniyÉ™',
+            m : 'bir dəqiqə',
+            mm : '%d dəqiqə',
+            h : 'bir saat',
+            hh : '%d saat',
+            d : 'bir gün',
+            dd : '%d gün',
+            M : 'bir ay',
+            MM : '%d ay',
+            y : 'bir il',
+            yy : '%d il'
+        },
+        meridiemParse: /gecə|səhər|gündüz|axşam/,
+        isPM : function (input) {
+            return /^(gündüz|axşam)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'gecÉ™';
+            } else if (hour < 12) {
+                return 'səhər';
+            } else if (hour < 17) {
+                return 'gündüz';
+            } else {
+                return 'axÅŸam';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
+        ordinal : function (number) {
+            if (number === 0) {  // special case for zero
+                return number + '-ıncı';
+            }
+            var a = number % 10,
+                b = number % 100 - a,
+                c = number >= 100 ? 100 : null;
+            return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return az;
+
+})));
diff --git a/public/bower_components/moment/locale/be.js b/public/bower_components/moment/locale/be.js
new file mode 100644
index 0000000..10db1c1
--- /dev/null
+++ b/public/bower_components/moment/locale/be.js
@@ -0,0 +1,131 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function plural(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
+            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
+            'dd': 'дзень_дні_дзён',
+            'MM': 'месяц_месяцы_месяцаў',
+            'yy': 'год_гады_гадоў'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'хвіліна' : 'хвіліну';
+        }
+        else if (key === 'h') {
+            return withoutSuffix ? 'гадзіна' : 'гадзіну';
+        }
+        else {
+            return number + ' ' + plural(format[key], +number);
+        }
+    }
+
+    var be = moment.defineLocale('be', {
+        months : {
+            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
+            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
+        },
+        monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
+        weekdays : {
+            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
+            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
+            isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
+        },
+        weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+        weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY г.',
+            LLL : 'D MMMM YYYY г., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY г., HH:mm'
+        },
+        calendar : {
+            sameDay: '[Сёння ў] LT',
+            nextDay: '[Заўтра ў] LT',
+            lastDay: '[Учора ў] LT',
+            nextWeek: function () {
+                return '[У] dddd [ў] LT';
+            },
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[У мінулую] dddd [ў] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[У мінулы] dddd [ў] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'праз %s',
+            past : '%s таму',
+            s : 'некалькі секунд',
+            m : relativeTimeWithPlural,
+            mm : relativeTimeWithPlural,
+            h : relativeTimeWithPlural,
+            hh : relativeTimeWithPlural,
+            d : 'дзень',
+            dd : relativeTimeWithPlural,
+            M : 'месяц',
+            MM : relativeTimeWithPlural,
+            y : 'год',
+            yy : relativeTimeWithPlural
+        },
+        meridiemParse: /ночы|раніцы|дня|вечара/,
+        isPM : function (input) {
+            return /^(дня|вечара)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночы';
+            } else if (hour < 12) {
+                return 'раніцы';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечара';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                case 'w':
+                case 'W':
+                    return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹';
+                case 'D':
+                    return number + '-га';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return be;
+
+})));
diff --git a/public/bower_components/moment/locale/bg.js b/public/bower_components/moment/locale/bg.js
new file mode 100644
index 0000000..c70ba30
--- /dev/null
+++ b/public/bower_components/moment/locale/bg.js
@@ -0,0 +1,89 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var bg = moment.defineLocale('bg', {
+        months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
+        monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
+        weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
+        weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
+        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'D.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay : '[Днес в] LT',
+            nextDay : '[Утре в] LT',
+            nextWeek : 'dddd [в] LT',
+            lastDay : '[Вчера в] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 6:
+                        return '[В изминалата] dddd [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[В изминалия] dddd [в] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'след %s',
+            past : 'преди %s',
+            s : 'няколко секунди',
+            ss : '%d секунди',
+            m : 'минута',
+            mm : '%d минути',
+            h : 'час',
+            hh : '%d часа',
+            d : 'ден',
+            dd : '%d дни',
+            M : 'месец',
+            MM : '%d месеца',
+            y : 'година',
+            yy : '%d години'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+        ordinal : function (number) {
+            var lastDigit = number % 10,
+                last2Digits = number % 100;
+            if (number === 0) {
+                return number + '-ев';
+            } else if (last2Digits === 0) {
+                return number + '-ен';
+            } else if (last2Digits > 10 && last2Digits < 20) {
+                return number + '-ти';
+            } else if (lastDigit === 1) {
+                return number + '-ви';
+            } else if (lastDigit === 2) {
+                return number + '-ри';
+            } else if (lastDigit === 7 || lastDigit === 8) {
+                return number + '-ми';
+            } else {
+                return number + '-ти';
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return bg;
+
+})));
diff --git a/public/bower_components/moment/locale/bm.js b/public/bower_components/moment/locale/bm.js
new file mode 100644
index 0000000..2bb50f5
--- /dev/null
+++ b/public/bower_components/moment/locale/bm.js
@@ -0,0 +1,57 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var bm = moment.defineLocale('bm', {
+        months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
+        monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
+        weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
+        weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
+        weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'MMMM [tile] D [san] YYYY',
+            LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+            LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
+        },
+        calendar : {
+            sameDay : '[Bi lɛrɛ] LT',
+            nextDay : '[Sini lɛrɛ] LT',
+            nextWeek : 'dddd [don lɛrɛ] LT',
+            lastDay : '[Kunu lɛrɛ] LT',
+            lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s kɔnɔ',
+            past : 'a bÉ› %s bÉ”',
+            s : 'sanga dama dama',
+            ss : 'sekondi %d',
+            m : 'miniti kelen',
+            mm : 'miniti %d',
+            h : 'lɛrɛ kelen',
+            hh : 'lɛrɛ %d',
+            d : 'tile kelen',
+            dd : 'tile %d',
+            M : 'kalo kelen',
+            MM : 'kalo %d',
+            y : 'san kelen',
+            yy : 'san %d'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return bm;
+
+})));
diff --git a/public/bower_components/moment/locale/bn.js b/public/bower_components/moment/locale/bn.js
new file mode 100644
index 0000000..8fe7158
--- /dev/null
+++ b/public/bower_components/moment/locale/bn.js
@@ -0,0 +1,118 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'à§§',
+        '2': '২',
+        '3': 'à§©',
+        '4': '৪',
+        '5': 'à§«',
+        '6': '৬',
+        '7': 'à§­',
+        '8': 'à§®',
+        '9': '৯',
+        '0': '০'
+    },
+    numberMap = {
+        'à§§': '1',
+        '২': '2',
+        'à§©': '3',
+        '৪': '4',
+        'à§«': '5',
+        '৬': '6',
+        'à§­': '7',
+        'à§®': '8',
+        '৯': '9',
+        '০': '0'
+    };
+
+    var bn = moment.defineLocale('bn', {
+        months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
+        monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
+        weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
+        weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
+        weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm সময়',
+            LTS : 'A h:mm:ss সময়',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm সময়',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
+        },
+        calendar : {
+            sameDay : '[আজ] LT',
+            nextDay : '[আগামীকাল] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[গতকাল] LT',
+            lastWeek : '[গত] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s পরে',
+            past : '%s আগে',
+            s : 'কয়েক সেকেন্ড',
+            ss : '%d সেকেন্ড',
+            m : 'এক মিনিট',
+            mm : '%d মিনিট',
+            h : 'এক ঘন্টা',
+            hh : '%d ঘন্টা',
+            d : 'এক দিন',
+            dd : '%d দিন',
+            M : 'এক মাস',
+            MM : '%d মাস',
+            y : 'এক বছর',
+            yy : '%d বছর'
+        },
+        preparse: function (string) {
+            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'রাত' && hour >= 4) ||
+                    (meridiem === 'দুপুর' && hour < 5) ||
+                    meridiem === 'বিকাল') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'রাত';
+            } else if (hour < 10) {
+                return 'সকাল';
+            } else if (hour < 17) {
+                return 'দুপুর';
+            } else if (hour < 20) {
+                return 'বিকাল';
+            } else {
+                return 'রাত';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return bn;
+
+})));
diff --git a/public/bower_components/moment/locale/bo.js b/public/bower_components/moment/locale/bo.js
new file mode 100644
index 0000000..6a98016
--- /dev/null
+++ b/public/bower_components/moment/locale/bo.js
@@ -0,0 +1,118 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '༡',
+        '2': '༢',
+        '3': '༣',
+        '4': '༤',
+        '5': '༥',
+        '6': '༦',
+        '7': '༧',
+        '8': '༨',
+        '9': '༩',
+        '0': '༠'
+    },
+    numberMap = {
+        '༡': '1',
+        '༢': '2',
+        '༣': '3',
+        '༤': '4',
+        '༥': '5',
+        '༦': '6',
+        '༧': '7',
+        '༨': '8',
+        '༩': '9',
+        '༠': '0'
+    };
+
+    var bo = moment.defineLocale('bo', {
+        months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+        monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+        weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
+        weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+        weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[དི་རིང] LT',
+            nextDay : '[སང་ཉིན] LT',
+            nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
+            lastDay : '[ཁ་སང] LT',
+            lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ལ་',
+            past : '%s སྔན་ལ',
+            s : 'ལམ་སང',
+            ss : '%d སྐར་ཆ།',
+            m : 'སྐར་མ་གཅིག',
+            mm : '%d སྐར་མ',
+            h : 'ཆུ་ཚོད་གཅིག',
+            hh : '%d ཆུ་ཚོད',
+            d : 'ཉིན་གཅིག',
+            dd : '%d ཉིན་',
+            M : 'ཟླ་བ་གཅིག',
+            MM : '%d ཟླ་བ',
+            y : 'ལོ་གཅིག',
+            yy : '%d ལོ'
+        },
+        preparse: function (string) {
+            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
+                    (meridiem === 'ཉིན་གུང' && hour < 5) ||
+                    meridiem === 'དགོང་དག') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'མཚན་མོ';
+            } else if (hour < 10) {
+                return 'ཞོགས་ཀས';
+            } else if (hour < 17) {
+                return 'ཉིན་གུང';
+            } else if (hour < 20) {
+                return 'དགོང་དག';
+            } else {
+                return 'མཚན་མོ';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return bo;
+
+})));
diff --git a/public/bower_components/moment/locale/br.js b/public/bower_components/moment/locale/br.js
new file mode 100644
index 0000000..42994ca
--- /dev/null
+++ b/public/bower_components/moment/locale/br.js
@@ -0,0 +1,107 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function relativeTimeWithMutation(number, withoutSuffix, key) {
+        var format = {
+            'mm': 'munutenn',
+            'MM': 'miz',
+            'dd': 'devezh'
+        };
+        return number + ' ' + mutation(format[key], number);
+    }
+    function specialMutationForYears(number) {
+        switch (lastNumber(number)) {
+            case 1:
+            case 3:
+            case 4:
+            case 5:
+            case 9:
+                return number + ' bloaz';
+            default:
+                return number + ' vloaz';
+        }
+    }
+    function lastNumber(number) {
+        if (number > 9) {
+            return lastNumber(number % 10);
+        }
+        return number;
+    }
+    function mutation(text, number) {
+        if (number === 2) {
+            return softMutation(text);
+        }
+        return text;
+    }
+    function softMutation(text) {
+        var mutationTable = {
+            'm': 'v',
+            'b': 'v',
+            'd': 'z'
+        };
+        if (mutationTable[text.charAt(0)] === undefined) {
+            return text;
+        }
+        return mutationTable[text.charAt(0)] + text.substring(1);
+    }
+
+    var br = moment.defineLocale('br', {
+        months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
+        monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
+        weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
+        weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
+        weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h[e]mm A',
+            LTS : 'h[e]mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D [a viz] MMMM YYYY',
+            LLL : 'D [a viz] MMMM YYYY h[e]mm A',
+            LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
+        },
+        calendar : {
+            sameDay : '[Hiziv da] LT',
+            nextDay : '[Warc\'hoazh da] LT',
+            nextWeek : 'dddd [da] LT',
+            lastDay : '[Dec\'h da] LT',
+            lastWeek : 'dddd [paset da] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'a-benn %s',
+            past : '%s \'zo',
+            s : 'un nebeud segondennoù',
+            ss : '%d eilenn',
+            m : 'ur vunutenn',
+            mm : relativeTimeWithMutation,
+            h : 'un eur',
+            hh : '%d eur',
+            d : 'un devezh',
+            dd : relativeTimeWithMutation,
+            M : 'ur miz',
+            MM : relativeTimeWithMutation,
+            y : 'ur bloaz',
+            yy : specialMutationForYears
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
+        ordinal : function (number) {
+            var output = (number === 1) ? 'añ' : 'vet';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return br;
+
+})));
diff --git a/public/bower_components/moment/locale/bs.js b/public/bower_components/moment/locale/bs.js
new file mode 100644
index 0000000..5e3e428
--- /dev/null
+++ b/public/bower_components/moment/locale/bs.js
@@ -0,0 +1,150 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function translate(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                if (number === 1) {
+                    result += 'sekunda';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sekunde';
+                } else {
+                    result += 'sekundi';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+            case 'mm':
+                if (number === 1) {
+                    result += 'minuta';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'minute';
+                } else {
+                    result += 'minuta';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            case 'hh':
+                if (number === 1) {
+                    result += 'sat';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sata';
+                } else {
+                    result += 'sati';
+                }
+                return result;
+            case 'dd':
+                if (number === 1) {
+                    result += 'dan';
+                } else {
+                    result += 'dana';
+                }
+                return result;
+            case 'MM':
+                if (number === 1) {
+                    result += 'mjesec';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'mjeseca';
+                } else {
+                    result += 'mjeseci';
+                }
+                return result;
+            case 'yy':
+                if (number === 1) {
+                    result += 'godina';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'godine';
+                } else {
+                    result += 'godina';
+                }
+                return result;
+        }
+    }
+
+    var bs = moment.defineLocale('bs', {
+        months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danas u] LT',
+            nextDay  : '[sutra u] LT',
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[jučer u] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                        return '[prošlu] dddd [u] LT';
+                    case 6:
+                        return '[prošle] [subote] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prošli] dddd [u] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'par sekundi',
+            ss     : translate,
+            m      : translate,
+            mm     : translate,
+            h      : translate,
+            hh     : translate,
+            d      : 'dan',
+            dd     : translate,
+            M      : 'mjesec',
+            MM     : translate,
+            y      : 'godinu',
+            yy     : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return bs;
+
+})));
diff --git a/public/bower_components/moment/locale/ca.js b/public/bower_components/moment/locale/ca.js
new file mode 100644
index 0000000..9a823b9
--- /dev/null
+++ b/public/bower_components/moment/locale/ca.js
@@ -0,0 +1,87 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ca = moment.defineLocale('ca', {
+        months : {
+            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
+            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('_'),
+            isFormat: /D[oD]?(\s)+MMMM/
+        },
+        monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
+        weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
+        weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM [de] YYYY',
+            ll : 'D MMM YYYY',
+            LLL : 'D MMMM [de] YYYY [a les] H:mm',
+            lll : 'D MMM YYYY, H:mm',
+            LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
+            llll : 'ddd D MMM YYYY, H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            nextDay : function () {
+                return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            lastDay : function () {
+                return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'd\'aquí %s',
+            past : 'fa %s',
+            s : 'uns segons',
+            ss : '%d segons',
+            m : 'un minut',
+            mm : '%d minuts',
+            h : 'una hora',
+            hh : '%d hores',
+            d : 'un dia',
+            dd : '%d dies',
+            M : 'un mes',
+            MM : '%d mesos',
+            y : 'un any',
+            yy : '%d anys'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
+        ordinal : function (number, period) {
+            var output = (number === 1) ? 'r' :
+                (number === 2) ? 'n' :
+                (number === 3) ? 'r' :
+                (number === 4) ? 't' : 'è';
+            if (period === 'w' || period === 'W') {
+                output = 'a';
+            }
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return ca;
+
+})));
diff --git a/public/bower_components/moment/locale/cs.js b/public/bower_components/moment/locale/cs.js
new file mode 100644
index 0000000..bb9e357
--- /dev/null
+++ b/public/bower_components/moment/locale/cs.js
@@ -0,0 +1,171 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
+        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
+
+    var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];
+    // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+    // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+    var monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
+
+    function plural(n) {
+        return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
+    }
+    function translate(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':  // a few seconds / in a few seconds / a few seconds ago
+                return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
+            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'sekundy' : 'sekund');
+                } else {
+                    return result + 'sekundami';
+                }
+                break;
+            case 'm':  // a minute / in a minute / a minute ago
+                return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
+            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'minuty' : 'minut');
+                } else {
+                    return result + 'minutami';
+                }
+                break;
+            case 'h':  // an hour / in an hour / an hour ago
+                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+            case 'hh': // 9 hours / in 9 hours / 9 hours ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'hodiny' : 'hodin');
+                } else {
+                    return result + 'hodinami';
+                }
+                break;
+            case 'd':  // a day / in a day / a day ago
+                return (withoutSuffix || isFuture) ? 'den' : 'dnem';
+            case 'dd': // 9 days / in 9 days / 9 days ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'dny' : 'dní');
+                } else {
+                    return result + 'dny';
+                }
+                break;
+            case 'M':  // a month / in a month / a month ago
+                return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
+            case 'MM': // 9 months / in 9 months / 9 months ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'měsíce' : 'měsíců');
+                } else {
+                    return result + 'měsíci';
+                }
+                break;
+            case 'y':  // a year / in a year / a year ago
+                return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
+            case 'yy': // 9 years / in 9 years / 9 years ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'roky' : 'let');
+                } else {
+                    return result + 'lety';
+                }
+                break;
+        }
+    }
+
+    var cs = moment.defineLocale('cs', {
+        months : months,
+        monthsShort : monthsShort,
+        monthsRegex : monthsRegex,
+        monthsShortRegex : monthsRegex,
+        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+        monthsStrictRegex : /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
+        monthsShortStrictRegex : /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+        weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
+        weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
+        weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
+        longDateFormat : {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd D. MMMM YYYY H:mm',
+            l : 'D. M. YYYY'
+        },
+        calendar : {
+            sameDay: '[dnes v] LT',
+            nextDay: '[zítra v] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v neděli v] LT';
+                    case 1:
+                    case 2:
+                        return '[v] dddd [v] LT';
+                    case 3:
+                        return '[ve středu v] LT';
+                    case 4:
+                        return '[ve čtvrtek v] LT';
+                    case 5:
+                        return '[v pátek v] LT';
+                    case 6:
+                        return '[v sobotu v] LT';
+                }
+            },
+            lastDay: '[včera v] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[minulou neděli v] LT';
+                    case 1:
+                    case 2:
+                        return '[minulé] dddd [v] LT';
+                    case 3:
+                        return '[minulou středu v] LT';
+                    case 4:
+                    case 5:
+                        return '[minulý] dddd [v] LT';
+                    case 6:
+                        return '[minulou sobotu v] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : 'před %s',
+            s : translate,
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : translate,
+            hh : translate,
+            d : translate,
+            dd : translate,
+            M : translate,
+            MM : translate,
+            y : translate,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return cs;
+
+})));
diff --git a/public/bower_components/moment/locale/cv.js b/public/bower_components/moment/locale/cv.js
new file mode 100644
index 0000000..1db1488
--- /dev/null
+++ b/public/bower_components/moment/locale/cv.js
@@ -0,0 +1,62 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var cv = moment.defineLocale('cv', {
+        months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
+        monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
+        weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
+        weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
+        weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+            LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+            LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
+        },
+        calendar : {
+            sameDay: '[Паян] LT [сехетре]',
+            nextDay: '[Ыран] LT [сехетре]',
+            lastDay: '[Ӗнер] LT [сехетре]',
+            nextWeek: '[Ҫитес] dddd LT [сехетре]',
+            lastWeek: '[Иртнӗ] dddd LT [сехетре]',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (output) {
+                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
+                return output + affix;
+            },
+            past : '%s каялла',
+            s : 'пӗр-ик ҫеккунт',
+            ss : '%d ҫеккунт',
+            m : 'пӗр минут',
+            mm : '%d минут',
+            h : 'пӗр сехет',
+            hh : '%d сехет',
+            d : 'пӗр кун',
+            dd : '%d кун',
+            M : 'пӗр уйӑх',
+            MM : '%d уйӑх',
+            y : 'пӗр ҫул',
+            yy : '%d ҫул'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
+        ordinal : '%d-мӗш',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return cv;
+
+})));
diff --git a/public/bower_components/moment/locale/cy.js b/public/bower_components/moment/locale/cy.js
new file mode 100644
index 0000000..84cbd46
--- /dev/null
+++ b/public/bower_components/moment/locale/cy.js
@@ -0,0 +1,79 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var cy = moment.defineLocale('cy', {
+        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
+        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
+        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
+        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
+        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
+        weekdaysParseExact : true,
+        // time formats are the same as en-gb
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[Heddiw am] LT',
+            nextDay: '[Yfory am] LT',
+            nextWeek: 'dddd [am] LT',
+            lastDay: '[Ddoe am] LT',
+            lastWeek: 'dddd [diwethaf am] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'mewn %s',
+            past: '%s yn ôl',
+            s: 'ychydig eiliadau',
+            ss: '%d eiliad',
+            m: 'munud',
+            mm: '%d munud',
+            h: 'awr',
+            hh: '%d awr',
+            d: 'diwrnod',
+            dd: '%d diwrnod',
+            M: 'mis',
+            MM: '%d mis',
+            y: 'blwyddyn',
+            yy: '%d flynedd'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
+        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
+        ordinal: function (number) {
+            var b = number,
+                output = '',
+                lookup = [
+                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
+                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
+                ];
+            if (b > 20) {
+                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
+                    output = 'fed'; // not 30ain, 70ain or 90ain
+                } else {
+                    output = 'ain';
+                }
+            } else if (b > 0) {
+                output = lookup[b];
+            }
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return cy;
+
+})));
diff --git a/public/bower_components/moment/locale/da.js b/public/bower_components/moment/locale/da.js
new file mode 100644
index 0000000..22a1a5b
--- /dev/null
+++ b/public/bower_components/moment/locale/da.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var da = moment.defineLocale('da', {
+        months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+        weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
+        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay : '[i dag kl.] LT',
+            nextDay : '[i morgen kl.] LT',
+            nextWeek : 'på dddd [kl.] LT',
+            lastDay : '[i går kl.] LT',
+            lastWeek : '[i] dddd[s kl.] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s siden',
+            s : 'få sekunder',
+            ss : '%d sekunder',
+            m : 'et minut',
+            mm : '%d minutter',
+            h : 'en time',
+            hh : '%d timer',
+            d : 'en dag',
+            dd : '%d dage',
+            M : 'en måned',
+            MM : '%d måneder',
+            y : 'et år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return da;
+
+})));
diff --git a/public/bower_components/moment/locale/de-at.js b/public/bower_components/moment/locale/de-at.js
new file mode 100644
index 0000000..e3ac47b
--- /dev/null
+++ b/public/bower_components/moment/locale/de-at.js
@@ -0,0 +1,75 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    var deAt = moment.defineLocale('de-at', {
+        months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime,
+            mm : '%d Minuten',
+            h : processRelativeTime,
+            hh : '%d Stunden',
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return deAt;
+
+})));
diff --git a/public/bower_components/moment/locale/de-ch.js b/public/bower_components/moment/locale/de-ch.js
new file mode 100644
index 0000000..2676afb
--- /dev/null
+++ b/public/bower_components/moment/locale/de-ch.js
@@ -0,0 +1,75 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    var deCh = moment.defineLocale('de-ch', {
+        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime,
+            mm : '%d Minuten',
+            h : processRelativeTime,
+            hh : '%d Stunden',
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return deCh;
+
+})));
diff --git a/public/bower_components/moment/locale/de.js b/public/bower_components/moment/locale/de.js
new file mode 100644
index 0000000..d5c084a
--- /dev/null
+++ b/public/bower_components/moment/locale/de.js
@@ -0,0 +1,75 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    var de = moment.defineLocale('de', {
+        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime,
+            mm : '%d Minuten',
+            h : processRelativeTime,
+            hh : '%d Stunden',
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return de;
+
+})));
diff --git a/public/bower_components/moment/locale/dv.js b/public/bower_components/moment/locale/dv.js
new file mode 100644
index 0000000..8729b02
--- /dev/null
+++ b/public/bower_components/moment/locale/dv.js
@@ -0,0 +1,98 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var months = [
+        'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©',
+        'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©',
+        'Þ‰Þ§ÞƒÞ¨Þ—Þª',
+        'އޭޕްރީލު',
+        'Þ‰Þ­',
+        'Þ–Þ«Þ‚Þ°',
+        'ޖުލައި',
+        'އޯގަސްޓު',
+        'ސެޕްޓެމްބަރު',
+        'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª',
+        'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',
+        'ޑިސެމްބަރު'
+    ], weekdays = [
+        'އާދިއްތަ',
+        'Þ€Þ¯Þ‰Þ¦',
+        'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦',
+        'Þ„ÞªÞ‹Þ¦',
+        'ބުރާސްފަތި',
+        'Þ€ÞªÞ†ÞªÞƒÞª',
+        'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª'
+    ];
+
+    var dv = moment.defineLocale('dv', {
+        months : months,
+        monthsShort : months,
+        weekdays : weekdays,
+        weekdaysShort : weekdays,
+        weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'),
+        longDateFormat : {
+
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/M/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /Þ‰Þ†|Þ‰ÞŠ/,
+        isPM : function (input) {
+            return 'Þ‰ÞŠ' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'Þ‰Þ†';
+            } else {
+                return 'Þ‰ÞŠ';
+            }
+        },
+        calendar : {
+            sameDay : '[Þ‰Þ¨Þ‡Þ¦Þ‹Þª] LT',
+            nextDay : '[Þ‰Þ§Þ‹Þ¦Þ‰Þ§] LT',
+            nextWeek : 'dddd LT',
+            lastDay : '[Þ‡Þ¨Þ‡Þ°Þ”Þ¬] LT',
+            lastWeek : '[ފާއިތުވި] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ތެރޭގައި %s',
+            past : 'Þ†ÞªÞƒÞ¨Þ‚Þ° %s',
+            s : 'ސިކުންތުކޮޅެއް',
+            ss : 'd% ސިކުންތު',
+            m : 'Þ‰Þ¨Þ‚Þ¨Þ“Þ¬Þ‡Þ°',
+            mm : 'Þ‰Þ¨Þ‚Þ¨Þ“Þª %d',
+            h : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°',
+            hh : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª %d',
+            d : 'Þ‹ÞªÞˆÞ¦Þ€Þ¬Þ‡Þ°',
+            dd : 'ދުވަސް %d',
+            M : 'Þ‰Þ¦Þ€Þ¬Þ‡Þ°',
+            MM : 'މަސް %d',
+            y : 'Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°',
+            yy : 'Þ‡Þ¦Þ€Þ¦ÞƒÞª %d'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 7,  // Sunday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return dv;
+
+})));
diff --git a/public/bower_components/moment/locale/el.js b/public/bower_components/moment/locale/el.js
new file mode 100644
index 0000000..f01fa77
--- /dev/null
+++ b/public/bower_components/moment/locale/el.js
@@ -0,0 +1,99 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    function isFunction(input) {
+        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
+    }
+
+
+    var el = moment.defineLocale('el', {
+        monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
+        monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
+        months : function (momentToFormat, format) {
+            if (!momentToFormat) {
+                return this._monthsNominativeEl;
+            } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
+                return this._monthsGenitiveEl[momentToFormat.month()];
+            } else {
+                return this._monthsNominativeEl[momentToFormat.month()];
+            }
+        },
+        monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
+        weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
+        weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
+        weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'μμ' : 'ΜΜ';
+            } else {
+                return isLower ? 'πμ' : 'ΠΜ';
+            }
+        },
+        isPM : function (input) {
+            return ((input + '').toLowerCase()[0] === 'μ');
+        },
+        meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendarEl : {
+            sameDay : '[Σήμερα {}] LT',
+            nextDay : '[Αύριο {}] LT',
+            nextWeek : 'dddd [{}] LT',
+            lastDay : '[Χθες {}] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 6:
+                        return '[το προηγούμενο] dddd [{}] LT';
+                    default:
+                        return '[την προηγούμενη] dddd [{}] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        calendar : function (key, mom) {
+            var output = this._calendarEl[key],
+                hours = mom && mom.hours();
+            if (isFunction(output)) {
+                output = output.apply(mom);
+            }
+            return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
+        },
+        relativeTime : {
+            future : 'σε %s',
+            past : '%s πριν',
+            s : 'λίγα δευτερόλεπτα',
+            ss : '%d δευτερόλεπτα',
+            m : 'ένα λεπτό',
+            mm : '%d λεπτά',
+            h : 'μία ώρα',
+            hh : '%d ώρες',
+            d : 'μία μέρα',
+            dd : '%d μέρες',
+            M : 'ένας μήνας',
+            MM : '%d μήνες',
+            y : 'ένας χρόνος',
+            yy : '%d χρόνια'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}η/,
+        ordinal: '%dη',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4st is the first week of the year.
+        }
+    });
+
+    return el;
+
+})));
diff --git a/public/bower_components/moment/locale/en-SG.js b/public/bower_components/moment/locale/en-SG.js
new file mode 100644
index 0000000..4c69f11
--- /dev/null
+++ b/public/bower_components/moment/locale/en-SG.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enSG = moment.defineLocale('en-SG', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return enSG;
+
+})));
diff --git a/public/bower_components/moment/locale/en-au.js b/public/bower_components/moment/locale/en-au.js
new file mode 100644
index 0000000..3720237
--- /dev/null
+++ b/public/bower_components/moment/locale/en-au.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enAu = moment.defineLocale('en-au', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return enAu;
+
+})));
diff --git a/public/bower_components/moment/locale/en-ca.js b/public/bower_components/moment/locale/en-ca.js
new file mode 100644
index 0000000..5d0dab0
--- /dev/null
+++ b/public/bower_components/moment/locale/en-ca.js
@@ -0,0 +1,62 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enCa = moment.defineLocale('en-ca', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'YYYY-MM-DD',
+            LL : 'MMMM D, YYYY',
+            LLL : 'MMMM D, YYYY h:mm A',
+            LLLL : 'dddd, MMMM D, YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    return enCa;
+
+})));
diff --git a/public/bower_components/moment/locale/en-gb.js b/public/bower_components/moment/locale/en-gb.js
new file mode 100644
index 0000000..85302e5
--- /dev/null
+++ b/public/bower_components/moment/locale/en-gb.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enGb = moment.defineLocale('en-gb', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return enGb;
+
+})));
diff --git a/public/bower_components/moment/locale/en-ie.js b/public/bower_components/moment/locale/en-ie.js
new file mode 100644
index 0000000..de0984c
--- /dev/null
+++ b/public/bower_components/moment/locale/en-ie.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enIe = moment.defineLocale('en-ie', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return enIe;
+
+})));
diff --git a/public/bower_components/moment/locale/en-il.js b/public/bower_components/moment/locale/en-il.js
new file mode 100644
index 0000000..b18eab8
--- /dev/null
+++ b/public/bower_components/moment/locale/en-il.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enIl = moment.defineLocale('en-il', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    return enIl;
+
+})));
diff --git a/public/bower_components/moment/locale/en-nz.js b/public/bower_components/moment/locale/en-nz.js
new file mode 100644
index 0000000..f4325d4
--- /dev/null
+++ b/public/bower_components/moment/locale/en-nz.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var enNz = moment.defineLocale('en-nz', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return enNz;
+
+})));
diff --git a/public/bower_components/moment/locale/eo.js b/public/bower_components/moment/locale/eo.js
new file mode 100644
index 0000000..283ebed
--- /dev/null
+++ b/public/bower_components/moment/locale/eo.js
@@ -0,0 +1,70 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var eo = moment.defineLocale('eo', {
+        months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'),
+        weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
+        weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D[-a de] MMMM, YYYY',
+            LLL : 'D[-a de] MMMM, YYYY HH:mm',
+            LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
+        },
+        meridiemParse: /[ap]\.t\.m/i,
+        isPM: function (input) {
+            return input.charAt(0).toLowerCase() === 'p';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'p.t.m.' : 'P.T.M.';
+            } else {
+                return isLower ? 'a.t.m.' : 'A.T.M.';
+            }
+        },
+        calendar : {
+            sameDay : '[HodiaÅ­ je] LT',
+            nextDay : '[MorgaÅ­ je] LT',
+            nextWeek : 'dddd [je] LT',
+            lastDay : '[HieraÅ­ je] LT',
+            lastWeek : '[pasinta] dddd [je] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'post %s',
+            past : 'antaÅ­ %s',
+            s : 'sekundoj',
+            ss : '%d sekundoj',
+            m : 'minuto',
+            mm : '%d minutoj',
+            h : 'horo',
+            hh : '%d horoj',
+            d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
+            dd : '%d tagoj',
+            M : 'monato',
+            MM : '%d monatoj',
+            y : 'jaro',
+            yy : '%d jaroj'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}a/,
+        ordinal : '%da',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return eo;
+
+})));
diff --git a/public/bower_components/moment/locale/es-do.js b/public/bower_components/moment/locale/es-do.js
new file mode 100644
index 0000000..829c2de
--- /dev/null
+++ b/public/bower_components/moment/locale/es-do.js
@@ -0,0 +1,91 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex = /^(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;
+
+    var esDo = moment.defineLocale('es-do', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort[m.month()];
+            } else {
+                return monthsShortDot[m.month()];
+            }
+        },
+        monthsRegex: monthsRegex,
+        monthsShortRegex: monthsRegex,
+        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse: monthsParse,
+        longMonthsParse: monthsParse,
+        shortMonthsParse: monthsParse,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY h:mm A',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return esDo;
+
+})));
diff --git a/public/bower_components/moment/locale/es-us.js b/public/bower_components/moment/locale/es-us.js
new file mode 100644
index 0000000..8e07d07
--- /dev/null
+++ b/public/bower_components/moment/locale/es-us.js
@@ -0,0 +1,91 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex = /^(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;
+
+    var esUs = moment.defineLocale('es-us', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort[m.month()];
+            } else {
+                return monthsShortDot[m.month()];
+            }
+        },
+        monthsRegex: monthsRegex,
+        monthsShortRegex: monthsRegex,
+        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse: monthsParse,
+        longMonthsParse: monthsParse,
+        shortMonthsParse: monthsParse,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'MM/DD/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY h:mm A',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return esUs;
+
+})));
diff --git a/public/bower_components/moment/locale/es.js b/public/bower_components/moment/locale/es.js
new file mode 100644
index 0000000..aed6802
--- /dev/null
+++ b/public/bower_components/moment/locale/es.js
@@ -0,0 +1,91 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex = /^(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;
+
+    var es = moment.defineLocale('es', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort[m.month()];
+            } else {
+                return monthsShortDot[m.month()];
+            }
+        },
+        monthsRegex : monthsRegex,
+        monthsShortRegex : monthsRegex,
+        monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY H:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return es;
+
+})));
diff --git a/public/bower_components/moment/locale/et.js b/public/bower_components/moment/locale/et.js
new file mode 100644
index 0000000..8a81b04
--- /dev/null
+++ b/public/bower_components/moment/locale/et.js
@@ -0,0 +1,79 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
+            'ss': [number + 'sekundi', number + 'sekundit'],
+            'm' : ['ühe minuti', 'üks minut'],
+            'mm': [number + ' minuti', number + ' minutit'],
+            'h' : ['ühe tunni', 'tund aega', 'üks tund'],
+            'hh': [number + ' tunni', number + ' tundi'],
+            'd' : ['ühe päeva', 'üks päev'],
+            'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
+            'MM': [number + ' kuu', number + ' kuud'],
+            'y' : ['ühe aasta', 'aasta', 'üks aasta'],
+            'yy': [number + ' aasta', number + ' aastat']
+        };
+        if (withoutSuffix) {
+            return format[key][2] ? format[key][2] : format[key][1];
+        }
+        return isFuture ? format[key][0] : format[key][1];
+    }
+
+    var et = moment.defineLocale('et', {
+        months        : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
+        monthsShort   : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
+        weekdays      : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
+        weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
+        weekdaysMin   : 'P_E_T_K_N_R_L'.split('_'),
+        longDateFormat : {
+            LT   : 'H:mm',
+            LTS : 'H:mm:ss',
+            L    : 'DD.MM.YYYY',
+            LL   : 'D. MMMM YYYY',
+            LLL  : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[Täna,] LT',
+            nextDay  : '[Homme,] LT',
+            nextWeek : '[Järgmine] dddd LT',
+            lastDay  : '[Eile,] LT',
+            lastWeek : '[Eelmine] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s pärast',
+            past   : '%s tagasi',
+            s      : processRelativeTime,
+            ss     : processRelativeTime,
+            m      : processRelativeTime,
+            mm     : processRelativeTime,
+            h      : processRelativeTime,
+            hh     : processRelativeTime,
+            d      : processRelativeTime,
+            dd     : '%d päeva',
+            M      : processRelativeTime,
+            MM     : processRelativeTime,
+            y      : processRelativeTime,
+            yy     : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return et;
+
+})));
diff --git a/public/bower_components/moment/locale/eu.js b/public/bower_components/moment/locale/eu.js
new file mode 100644
index 0000000..2c7781b
--- /dev/null
+++ b/public/bower_components/moment/locale/eu.js
@@ -0,0 +1,65 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var eu = moment.defineLocale('eu', {
+        months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
+        monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
+        weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
+        weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY[ko] MMMM[ren] D[a]',
+            LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+            LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+            l : 'YYYY-M-D',
+            ll : 'YYYY[ko] MMM D[a]',
+            lll : 'YYYY[ko] MMM D[a] HH:mm',
+            llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
+        },
+        calendar : {
+            sameDay : '[gaur] LT[etan]',
+            nextDay : '[bihar] LT[etan]',
+            nextWeek : 'dddd LT[etan]',
+            lastDay : '[atzo] LT[etan]',
+            lastWeek : '[aurreko] dddd LT[etan]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s barru',
+            past : 'duela %s',
+            s : 'segundo batzuk',
+            ss : '%d segundo',
+            m : 'minutu bat',
+            mm : '%d minutu',
+            h : 'ordu bat',
+            hh : '%d ordu',
+            d : 'egun bat',
+            dd : '%d egun',
+            M : 'hilabete bat',
+            MM : '%d hilabete',
+            y : 'urte bat',
+            yy : '%d urte'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return eu;
+
+})));
diff --git a/public/bower_components/moment/locale/fa.js b/public/bower_components/moment/locale/fa.js
new file mode 100644
index 0000000..e84f7ca
--- /dev/null
+++ b/public/bower_components/moment/locale/fa.js
@@ -0,0 +1,105 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'Û±',
+        '2': 'Û²',
+        '3': 'Û³',
+        '4': 'Û´',
+        '5': 'Ûµ',
+        '6': 'Û¶',
+        '7': 'Û·',
+        '8': 'Û¸',
+        '9': 'Û¹',
+        '0': 'Û°'
+    }, numberMap = {
+        'Û±': '1',
+        'Û²': '2',
+        'Û³': '3',
+        'Û´': '4',
+        'Ûµ': '5',
+        'Û¶': '6',
+        'Û·': '7',
+        'Û¸': '8',
+        'Û¹': '9',
+        'Û°': '0'
+    };
+
+    var fa = moment.defineLocale('fa', {
+        months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+        monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+        weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+        weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+        weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /قبل از ظهر|بعد از ظهر/,
+        isPM: function (input) {
+            return /بعد از ظهر/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'قبل از ظهر';
+            } else {
+                return 'بعد از ظهر';
+            }
+        },
+        calendar : {
+            sameDay : '[امروز ساعت] LT',
+            nextDay : '[فردا ساعت] LT',
+            nextWeek : 'dddd [ساعت] LT',
+            lastDay : '[دیروز ساعت] LT',
+            lastWeek : 'dddd [پیش] [ساعت] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'در %s',
+            past : '%s پیش',
+            s : 'چند ثانیه',
+            ss : 'ثانیه d%',
+            m : 'یک دقیقه',
+            mm : '%d دقیقه',
+            h : 'یک ساعت',
+            hh : '%d ساعت',
+            d : 'یک روز',
+            dd : '%d روز',
+            M : 'یک ماه',
+            MM : '%d ماه',
+            y : 'یک سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/[Û°-Û¹]/g, function (match) {
+                return numberMap[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}Ù…/,
+        ordinal : '%dÙ…',
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12 // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return fa;
+
+})));
diff --git a/public/bower_components/moment/locale/fi.js b/public/bower_components/moment/locale/fi.js
new file mode 100644
index 0000000..b011599
--- /dev/null
+++ b/public/bower_components/moment/locale/fi.js
@@ -0,0 +1,108 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
+        numbersFuture = [
+            'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
+            numbersPast[7], numbersPast[8], numbersPast[9]
+        ];
+    function translate(number, withoutSuffix, key, isFuture) {
+        var result = '';
+        switch (key) {
+            case 's':
+                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
+            case 'ss':
+                return isFuture ? 'sekunnin' : 'sekuntia';
+            case 'm':
+                return isFuture ? 'minuutin' : 'minuutti';
+            case 'mm':
+                result = isFuture ? 'minuutin' : 'minuuttia';
+                break;
+            case 'h':
+                return isFuture ? 'tunnin' : 'tunti';
+            case 'hh':
+                result = isFuture ? 'tunnin' : 'tuntia';
+                break;
+            case 'd':
+                return isFuture ? 'päivän' : 'päivä';
+            case 'dd':
+                result = isFuture ? 'päivän' : 'päivää';
+                break;
+            case 'M':
+                return isFuture ? 'kuukauden' : 'kuukausi';
+            case 'MM':
+                result = isFuture ? 'kuukauden' : 'kuukautta';
+                break;
+            case 'y':
+                return isFuture ? 'vuoden' : 'vuosi';
+            case 'yy':
+                result = isFuture ? 'vuoden' : 'vuotta';
+                break;
+        }
+        result = verbalNumber(number, isFuture) + ' ' + result;
+        return result;
+    }
+    function verbalNumber(number, isFuture) {
+        return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
+    }
+
+    var fi = moment.defineLocale('fi', {
+        months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
+        monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
+        weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
+        weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
+        weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD.MM.YYYY',
+            LL : 'Do MMMM[ta] YYYY',
+            LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
+            LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
+            l : 'D.M.YYYY',
+            ll : 'Do MMM YYYY',
+            lll : 'Do MMM YYYY, [klo] HH.mm',
+            llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
+        },
+        calendar : {
+            sameDay : '[tänään] [klo] LT',
+            nextDay : '[huomenna] [klo] LT',
+            nextWeek : 'dddd [klo] LT',
+            lastDay : '[eilen] [klo] LT',
+            lastWeek : '[viime] dddd[na] [klo] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s päästä',
+            past : '%s sitten',
+            s : translate,
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : translate,
+            hh : translate,
+            d : translate,
+            dd : translate,
+            M : translate,
+            MM : translate,
+            y : translate,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return fi;
+
+})));
diff --git a/public/bower_components/moment/locale/fo.js b/public/bower_components/moment/locale/fo.js
new file mode 100644
index 0000000..8e81cfe
--- /dev/null
+++ b/public/bower_components/moment/locale/fo.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var fo = moment.defineLocale('fo', {
+        months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+        weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
+        weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
+        weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D. MMMM, YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Í dag kl.] LT',
+            nextDay : '[Í morgin kl.] LT',
+            nextWeek : 'dddd [kl.] LT',
+            lastDay : '[Í gjár kl.] LT',
+            lastWeek : '[síðstu] dddd [kl] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'um %s',
+            past : '%s síðani',
+            s : 'fá sekund',
+            ss : '%d sekundir',
+            m : 'ein minuttur',
+            mm : '%d minuttir',
+            h : 'ein tími',
+            hh : '%d tímar',
+            d : 'ein dagur',
+            dd : '%d dagar',
+            M : 'ein mánaður',
+            MM : '%d mánaðir',
+            y : 'eitt ár',
+            yy : '%d ár'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return fo;
+
+})));
diff --git a/public/bower_components/moment/locale/fr-ca.js b/public/bower_components/moment/locale/fr-ca.js
new file mode 100644
index 0000000..ad1f77d
--- /dev/null
+++ b/public/bower_components/moment/locale/fr-ca.js
@@ -0,0 +1,73 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var frCa = moment.defineLocale('fr-ca', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'D':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        }
+    });
+
+    return frCa;
+
+})));
diff --git a/public/bower_components/moment/locale/fr-ch.js b/public/bower_components/moment/locale/fr-ch.js
new file mode 100644
index 0000000..54033d1
--- /dev/null
+++ b/public/bower_components/moment/locale/fr-ch.js
@@ -0,0 +1,77 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var frCh = moment.defineLocale('fr-ch', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'D':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return frCh;
+
+})));
diff --git a/public/bower_components/moment/locale/fr.js b/public/bower_components/moment/locale/fr.js
new file mode 100644
index 0000000..9286707
--- /dev/null
+++ b/public/bower_components/moment/locale/fr.js
@@ -0,0 +1,82 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var fr = moment.defineLocale('fr', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // TODO: Return 'e' when day of month > 1. Move this case inside
+                // block for masculine words below.
+                // See https://github.com/moment/moment/issues/3375
+                case 'D':
+                    return number + (number === 1 ? 'er' : '');
+
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return fr;
+
+})));
diff --git a/public/bower_components/moment/locale/fy.js b/public/bower_components/moment/locale/fy.js
new file mode 100644
index 0000000..9a672bf
--- /dev/null
+++ b/public/bower_components/moment/locale/fy.js
@@ -0,0 +1,74 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
+        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
+
+    var fy = moment.defineLocale('fy', {
+        months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots[m.month()];
+            } else {
+                return monthsShortWithDots[m.month()];
+            }
+        },
+        monthsParseExact : true,
+        weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
+        weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
+        weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[hjoed om] LT',
+            nextDay: '[moarn om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[juster om] LT',
+            lastWeek: '[ôfrûne] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'oer %s',
+            past : '%s lyn',
+            s : 'in pear sekonden',
+            ss : '%d sekonden',
+            m : 'ien minút',
+            mm : '%d minuten',
+            h : 'ien oere',
+            hh : '%d oeren',
+            d : 'ien dei',
+            dd : '%d dagen',
+            M : 'ien moanne',
+            MM : '%d moannen',
+            y : 'ien jier',
+            yy : '%d jierren'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return fy;
+
+})));
diff --git a/public/bower_components/moment/locale/ga.js b/public/bower_components/moment/locale/ga.js
new file mode 100644
index 0000000..a5b92de
--- /dev/null
+++ b/public/bower_components/moment/locale/ga.js
@@ -0,0 +1,76 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+
+    var months = [
+        'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'
+    ];
+
+    var monthsShort = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];
+
+    var weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];
+
+    var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];
+
+    var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];
+
+    var ga = moment.defineLocale('ga', {
+        months: months,
+        monthsShort: monthsShort,
+        monthsParseExact: true,
+        weekdays: weekdays,
+        weekdaysShort: weekdaysShort,
+        weekdaysMin: weekdaysMin,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[Inniu ag] LT',
+            nextDay: '[Amárach ag] LT',
+            nextWeek: 'dddd [ag] LT',
+            lastDay: '[Inné aig] LT',
+            lastWeek: 'dddd [seo caite] [ag] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'i %s',
+            past: '%s ó shin',
+            s: 'cúpla soicind',
+            ss: '%d soicind',
+            m: 'nóiméad',
+            mm: '%d nóiméad',
+            h: 'uair an chloig',
+            hh: '%d uair an chloig',
+            d: 'lá',
+            dd: '%d lá',
+            M: 'mí',
+            MM: '%d mí',
+            y: 'bliain',
+            yy: '%d bliain'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
+        ordinal: function (number) {
+            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+            return number + output;
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return ga;
+
+})));
diff --git a/public/bower_components/moment/locale/gd.js b/public/bower_components/moment/locale/gd.js
new file mode 100644
index 0000000..4d0d88a
--- /dev/null
+++ b/public/bower_components/moment/locale/gd.js
@@ -0,0 +1,75 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var months = [
+        'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
+    ];
+
+    var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
+
+    var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
+
+    var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
+
+    var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
+
+    var gd = moment.defineLocale('gd', {
+        months : months,
+        monthsShort : monthsShort,
+        monthsParseExact : true,
+        weekdays : weekdays,
+        weekdaysShort : weekdaysShort,
+        weekdaysMin : weekdaysMin,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[An-diugh aig] LT',
+            nextDay : '[A-màireach aig] LT',
+            nextWeek : 'dddd [aig] LT',
+            lastDay : '[An-dè aig] LT',
+            lastWeek : 'dddd [seo chaidh] [aig] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ann an %s',
+            past : 'bho chionn %s',
+            s : 'beagan diogan',
+            ss : '%d diogan',
+            m : 'mionaid',
+            mm : '%d mionaidean',
+            h : 'uair',
+            hh : '%d uairean',
+            d : 'latha',
+            dd : '%d latha',
+            M : 'mìos',
+            MM : '%d mìosan',
+            y : 'bliadhna',
+            yy : '%d bliadhna'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/,
+        ordinal : function (number) {
+            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return gd;
+
+})));
diff --git a/public/bower_components/moment/locale/gl.js b/public/bower_components/moment/locale/gl.js
new file mode 100644
index 0000000..1cc4177
--- /dev/null
+++ b/public/bower_components/moment/locale/gl.js
@@ -0,0 +1,76 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var gl = moment.defineLocale('gl', {
+        months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
+        monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY H:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+            },
+            lastDay : function () {
+                return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
+            },
+            lastWeek : function () {
+                return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : function (str) {
+                if (str.indexOf('un') === 0) {
+                    return 'n' + str;
+                }
+                return 'en ' + str;
+            },
+            past : 'hai %s',
+            s : 'uns segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'unha hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return gl;
+
+})));
diff --git a/public/bower_components/moment/locale/gom-latn.js b/public/bower_components/moment/locale/gom-latn.js
new file mode 100644
index 0000000..bfad12e
--- /dev/null
+++ b/public/bower_components/moment/locale/gom-latn.js
@@ -0,0 +1,122 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's': ['thodde secondanim', 'thodde second'],
+            'ss': [number + ' secondanim', number + ' second'],
+            'm': ['eka mintan', 'ek minute'],
+            'mm': [number + ' mintanim', number + ' mintam'],
+            'h': ['eka voran', 'ek vor'],
+            'hh': [number + ' voranim', number + ' voram'],
+            'd': ['eka disan', 'ek dis'],
+            'dd': [number + ' disanim', number + ' dis'],
+            'M': ['eka mhoinean', 'ek mhoino'],
+            'MM': [number + ' mhoineanim', number + ' mhoine'],
+            'y': ['eka vorsan', 'ek voros'],
+            'yy': [number + ' vorsanim', number + ' vorsam']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    var gomLatn = moment.defineLocale('gom-latn', {
+        months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
+        monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
+        weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
+        weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'A h:mm [vazta]',
+            LTS : 'A h:mm:ss [vazta]',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY A h:mm [vazta]',
+            LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
+            llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
+        },
+        calendar : {
+            sameDay: '[Aiz] LT',
+            nextDay: '[Faleam] LT',
+            nextWeek: '[Ieta to] dddd[,] LT',
+            lastDay: '[Kal] LT',
+            lastWeek: '[Fatlo] dddd[,] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s',
+            past : '%s adim',
+            s : processRelativeTime,
+            ss : processRelativeTime,
+            m : processRelativeTime,
+            mm : processRelativeTime,
+            h : processRelativeTime,
+            hh : processRelativeTime,
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(er)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // the ordinal 'er' only applies to day of the month
+                case 'D':
+                    return number + 'er';
+                default:
+                case 'M':
+                case 'Q':
+                case 'DDD':
+                case 'd':
+                case 'w':
+                case 'W':
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        },
+        meridiemParse: /rati|sokalli|donparam|sanje/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'rati') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'sokalli') {
+                return hour;
+            } else if (meridiem === 'donparam') {
+                return hour > 12 ? hour : hour + 12;
+            } else if (meridiem === 'sanje') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'rati';
+            } else if (hour < 12) {
+                return 'sokalli';
+            } else if (hour < 16) {
+                return 'donparam';
+            } else if (hour < 20) {
+                return 'sanje';
+            } else {
+                return 'rati';
+            }
+        }
+    });
+
+    return gomLatn;
+
+})));
diff --git a/public/bower_components/moment/locale/gu.js b/public/bower_components/moment/locale/gu.js
new file mode 100644
index 0000000..9f80dbd
--- /dev/null
+++ b/public/bower_components/moment/locale/gu.js
@@ -0,0 +1,123 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+            '1': 'à«§',
+            '2': '૨',
+            '3': 'à«©',
+            '4': '૪',
+            '5': 'à««',
+            '6': '૬',
+            '7': 'à«­',
+            '8': 'à«®',
+            '9': '૯',
+            '0': '૦'
+        },
+        numberMap = {
+            'à«§': '1',
+            '૨': '2',
+            'à«©': '3',
+            '૪': '4',
+            'à««': '5',
+            '૬': '6',
+            'à«­': '7',
+            'à«®': '8',
+            '૯': '9',
+            '૦': '0'
+        };
+
+    var gu = moment.defineLocale('gu', {
+        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
+        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
+        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
+        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
+        longDateFormat: {
+            LT: 'A h:mm વાગ્યે',
+            LTS: 'A h:mm:ss વાગ્યે',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
+            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
+        },
+        calendar: {
+            sameDay: '[આજ] LT',
+            nextDay: '[કાલે] LT',
+            nextWeek: 'dddd, LT',
+            lastDay: '[ગઇકાલે] LT',
+            lastWeek: '[પાછલા] dddd, LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%s મા',
+            past: '%s પેહલા',
+            s: 'અમુક પળો',
+            ss: '%d સેકંડ',
+            m: 'એક મિનિટ',
+            mm: '%d મિનિટ',
+            h: 'એક કલાક',
+            hh: '%d કલાક',
+            d: 'એક દિવસ',
+            dd: '%d દિવસ',
+            M: 'એક મહિનો',
+            MM: '%d મહિનો',
+            y: 'એક વર્ષ',
+            yy: '%d વર્ષ'
+        },
+        preparse: function (string) {
+            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
+        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'રાત') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'સવાર') {
+                return hour;
+            } else if (meridiem === 'બપોર') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'સાંજ') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'રાત';
+            } else if (hour < 10) {
+                return 'સવાર';
+            } else if (hour < 17) {
+                return 'બપોર';
+            } else if (hour < 20) {
+                return 'સાંજ';
+            } else {
+                return 'રાત';
+            }
+        },
+        week: {
+            dow: 0, // Sunday is the first day of the week.
+            doy: 6 // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return gu;
+
+})));
diff --git a/public/bower_components/moment/locale/he.js b/public/bower_components/moment/locale/he.js
new file mode 100644
index 0000000..7a22e8d
--- /dev/null
+++ b/public/bower_components/moment/locale/he.js
@@ -0,0 +1,96 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var he = moment.defineLocale('he', {
+        months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
+        monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
+        weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
+        weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
+        weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [ב]MMMM YYYY',
+            LLL : 'D [ב]MMMM YYYY HH:mm',
+            LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
+            l : 'D/M/YYYY',
+            ll : 'D MMM YYYY',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd, D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[היום ב־]LT',
+            nextDay : '[מחר ב־]LT',
+            nextWeek : 'dddd [בשעה] LT',
+            lastDay : '[אתמול ב־]LT',
+            lastWeek : '[ביום] dddd [האחרון בשעה] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'בעוד %s',
+            past : 'לפני %s',
+            s : 'מספר שניות',
+            ss : '%d שניות',
+            m : 'דקה',
+            mm : '%d דקות',
+            h : 'שעה',
+            hh : function (number) {
+                if (number === 2) {
+                    return 'שעתיים';
+                }
+                return number + ' שעות';
+            },
+            d : 'יום',
+            dd : function (number) {
+                if (number === 2) {
+                    return 'יומיים';
+                }
+                return number + ' ימים';
+            },
+            M : 'חודש',
+            MM : function (number) {
+                if (number === 2) {
+                    return 'חודשיים';
+                }
+                return number + ' חודשים';
+            },
+            y : 'שנה',
+            yy : function (number) {
+                if (number === 2) {
+                    return 'שנתיים';
+                } else if (number % 10 === 0 && number !== 10) {
+                    return number + ' שנה';
+                }
+                return number + ' שנים';
+            }
+        },
+        meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
+        isPM : function (input) {
+            return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 5) {
+                return 'לפנות בוקר';
+            } else if (hour < 10) {
+                return 'בבוקר';
+            } else if (hour < 12) {
+                return isLower ? 'לפנה"צ' : 'לפני הצהריים';
+            } else if (hour < 18) {
+                return isLower ? 'אחה"צ' : 'אחרי הצהריים';
+            } else {
+                return 'בערב';
+            }
+        }
+    });
+
+    return he;
+
+})));
diff --git a/public/bower_components/moment/locale/hi.js b/public/bower_components/moment/locale/hi.js
new file mode 100644
index 0000000..a07860a
--- /dev/null
+++ b/public/bower_components/moment/locale/hi.js
@@ -0,0 +1,123 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    var hi = moment.defineLocale('hi', {
+        months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
+        monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+        weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
+        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm बजे',
+            LTS : 'A h:mm:ss बजे',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm बजे',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[कल] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[कल] LT',
+            lastWeek : '[पिछले] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s में',
+            past : '%s पहले',
+            s : 'कुछ ही क्षण',
+            ss : '%d सेकंड',
+            m : 'एक मिनट',
+            mm : '%d मिनट',
+            h : 'एक घंटा',
+            hh : '%d घंटे',
+            d : 'एक दिन',
+            dd : '%d दिन',
+            M : 'एक महीने',
+            MM : '%d महीने',
+            y : 'एक वर्ष',
+            yy : '%d वर्ष'
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        // Hindi notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
+        meridiemParse: /रात|सुबह|दोपहर|शाम/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'रात') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'सुबह') {
+                return hour;
+            } else if (meridiem === 'दोपहर') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'शाम') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'रात';
+            } else if (hour < 10) {
+                return 'सुबह';
+            } else if (hour < 17) {
+                return 'दोपहर';
+            } else if (hour < 20) {
+                return 'शाम';
+            } else {
+                return 'रात';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return hi;
+
+})));
diff --git a/public/bower_components/moment/locale/hr.js b/public/bower_components/moment/locale/hr.js
new file mode 100644
index 0000000..bf1597b
--- /dev/null
+++ b/public/bower_components/moment/locale/hr.js
@@ -0,0 +1,153 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function translate(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                if (number === 1) {
+                    result += 'sekunda';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sekunde';
+                } else {
+                    result += 'sekundi';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+            case 'mm':
+                if (number === 1) {
+                    result += 'minuta';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'minute';
+                } else {
+                    result += 'minuta';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            case 'hh':
+                if (number === 1) {
+                    result += 'sat';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sata';
+                } else {
+                    result += 'sati';
+                }
+                return result;
+            case 'dd':
+                if (number === 1) {
+                    result += 'dan';
+                } else {
+                    result += 'dana';
+                }
+                return result;
+            case 'MM':
+                if (number === 1) {
+                    result += 'mjesec';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'mjeseca';
+                } else {
+                    result += 'mjeseci';
+                }
+                return result;
+            case 'yy':
+                if (number === 1) {
+                    result += 'godina';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'godine';
+                } else {
+                    result += 'godina';
+                }
+                return result;
+        }
+    }
+
+    var hr = moment.defineLocale('hr', {
+        months : {
+            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
+            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
+        },
+        monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danas u] LT',
+            nextDay  : '[sutra u] LT',
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[jučer u] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                        return '[prošlu] dddd [u] LT';
+                    case 6:
+                        return '[prošle] [subote] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prošli] dddd [u] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'par sekundi',
+            ss     : translate,
+            m      : translate,
+            mm     : translate,
+            h      : translate,
+            hh     : translate,
+            d      : 'dan',
+            dd     : translate,
+            M      : 'mjesec',
+            MM     : translate,
+            y      : 'godinu',
+            yy     : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return hr;
+
+})));
diff --git a/public/bower_components/moment/locale/hu.js b/public/bower_components/moment/locale/hu.js
new file mode 100644
index 0000000..53e9bb6
--- /dev/null
+++ b/public/bower_components/moment/locale/hu.js
@@ -0,0 +1,109 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
+    function translate(number, withoutSuffix, key, isFuture) {
+        var num = number;
+        switch (key) {
+            case 's':
+                return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
+            case 'ss':
+                return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
+            case 'm':
+                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
+            case 'mm':
+                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
+            case 'h':
+                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
+            case 'hh':
+                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
+            case 'd':
+                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
+            case 'dd':
+                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
+            case 'M':
+                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+            case 'MM':
+                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+            case 'y':
+                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
+            case 'yy':
+                return num + (isFuture || withoutSuffix ? ' év' : ' éve');
+        }
+        return '';
+    }
+    function week(isFuture) {
+        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
+    }
+
+    var hu = moment.defineLocale('hu', {
+        months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
+        monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
+        weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
+        weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
+        weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'YYYY.MM.DD.',
+            LL : 'YYYY. MMMM D.',
+            LLL : 'YYYY. MMMM D. H:mm',
+            LLLL : 'YYYY. MMMM D., dddd H:mm'
+        },
+        meridiemParse: /de|du/i,
+        isPM: function (input) {
+            return input.charAt(1).toLowerCase() === 'u';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower === true ? 'de' : 'DE';
+            } else {
+                return isLower === true ? 'du' : 'DU';
+            }
+        },
+        calendar : {
+            sameDay : '[ma] LT[-kor]',
+            nextDay : '[holnap] LT[-kor]',
+            nextWeek : function () {
+                return week.call(this, true);
+            },
+            lastDay : '[tegnap] LT[-kor]',
+            lastWeek : function () {
+                return week.call(this, false);
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s múlva',
+            past : '%s',
+            s : translate,
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : translate,
+            hh : translate,
+            d : translate,
+            dd : translate,
+            M : translate,
+            MM : translate,
+            y : translate,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return hu;
+
+})));
diff --git a/public/bower_components/moment/locale/hy-am.js b/public/bower_components/moment/locale/hy-am.js
new file mode 100644
index 0000000..1be1d85
--- /dev/null
+++ b/public/bower_components/moment/locale/hy-am.js
@@ -0,0 +1,94 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var hyAm = moment.defineLocale('hy-am', {
+        months : {
+            format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'),
+            standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.split('_')
+        },
+        monthsShort : 'Õ°Õ¶Õ¾_ÖƒÕ¿Ö€_Õ´Ö€Õ¿_Õ¡ÕºÖ€_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö…Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'),
+        weekdays : 'Õ¯Õ«Ö€Õ¡Õ¯Õ«_Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«_Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸Ö‚Ö€Õ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'),
+        weekdaysShort : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+        weekdaysMin : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY Õ©.',
+            LLL : 'D MMMM YYYY Õ©., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm'
+        },
+        calendar : {
+            sameDay: '[Õ¡ÕµÕ½Ö…Ö€] LT',
+            nextDay: '[Õ¾Õ¡Õ²Õ¨] LT',
+            lastDay: '[Õ¥Ö€Õ¥Õ¯] LT',
+            nextWeek: function () {
+                return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT';
+            },
+            lastWeek: function () {
+                return '[անցած] dddd [օրը ժամը] LT';
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s Õ°Õ¥Õ¿Õ¸',
+            past : '%s Õ¡Õ¼Õ¡Õ»',
+            s : 'Õ´Õ« Ö„Õ¡Õ¶Õ« Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+            ss : '%d Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+            m : 'Ö€Õ¸ÕºÕ¥',
+            mm : '%d Ö€Õ¸ÕºÕ¥',
+            h : 'ÕªÕ¡Õ´',
+            hh : '%d ÕªÕ¡Õ´',
+            d : 'Ö…Ö€',
+            dd : '%d Ö…Ö€',
+            M : 'Õ¡Õ´Õ«Õ½',
+            MM : '%d Õ¡Õ´Õ«Õ½',
+            y : 'Õ¿Õ¡Ö€Õ«',
+            yy : '%d Õ¿Õ¡Ö€Õ«'
+        },
+        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
+        isPM: function (input) {
+            return /^(ցերեկվա|երեկոյան)$/.test(input);
+        },
+        meridiem : function (hour) {
+            if (hour < 4) {
+                return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡';
+            } else if (hour < 12) {
+                return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡';
+            } else if (hour < 17) {
+                return 'ցերեկվա';
+            } else {
+                return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'DDD':
+                case 'w':
+                case 'W':
+                case 'DDDo':
+                    if (number === 1) {
+                        return number + '-Õ«Õ¶';
+                    }
+                    return number + '-Ö€Õ¤';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return hyAm;
+
+})));
diff --git a/public/bower_components/moment/locale/id.js b/public/bower_components/moment/locale/id.js
new file mode 100644
index 0000000..c3e8b9e
--- /dev/null
+++ b/public/bower_components/moment/locale/id.js
@@ -0,0 +1,81 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var id = moment.defineLocale('id', {
+        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
+        weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
+        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|siang|sore|malam/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'siang') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'sore' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'siang';
+            } else if (hours < 19) {
+                return 'sore';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Besok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kemarin pukul] LT',
+            lastWeek : 'dddd [lalu pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lalu',
+            s : 'beberapa detik',
+            ss : '%d detik',
+            m : 'semenit',
+            mm : '%d menit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return id;
+
+})));
diff --git a/public/bower_components/moment/locale/is.js b/public/bower_components/moment/locale/is.js
new file mode 100644
index 0000000..9856e92
--- /dev/null
+++ b/public/bower_components/moment/locale/is.js
@@ -0,0 +1,131 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function plural(n) {
+        if (n % 100 === 11) {
+            return true;
+        } else if (n % 10 === 1) {
+            return false;
+        }
+        return true;
+    }
+    function translate(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':
+                return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
+            case 'ss':
+                if (plural(number)) {
+                    return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
+                }
+                return result + 'sekúnda';
+            case 'm':
+                return withoutSuffix ? 'mínúta' : 'mínútu';
+            case 'mm':
+                if (plural(number)) {
+                    return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
+                } else if (withoutSuffix) {
+                    return result + 'mínúta';
+                }
+                return result + 'mínútu';
+            case 'hh':
+                if (plural(number)) {
+                    return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
+                }
+                return result + 'klukkustund';
+            case 'd':
+                if (withoutSuffix) {
+                    return 'dagur';
+                }
+                return isFuture ? 'dag' : 'degi';
+            case 'dd':
+                if (plural(number)) {
+                    if (withoutSuffix) {
+                        return result + 'dagar';
+                    }
+                    return result + (isFuture ? 'daga' : 'dögum');
+                } else if (withoutSuffix) {
+                    return result + 'dagur';
+                }
+                return result + (isFuture ? 'dag' : 'degi');
+            case 'M':
+                if (withoutSuffix) {
+                    return 'mánuður';
+                }
+                return isFuture ? 'mánuð' : 'mánuði';
+            case 'MM':
+                if (plural(number)) {
+                    if (withoutSuffix) {
+                        return result + 'mánuðir';
+                    }
+                    return result + (isFuture ? 'mánuði' : 'mánuðum');
+                } else if (withoutSuffix) {
+                    return result + 'mánuður';
+                }
+                return result + (isFuture ? 'mánuð' : 'mánuði');
+            case 'y':
+                return withoutSuffix || isFuture ? 'ár' : 'ári';
+            case 'yy':
+                if (plural(number)) {
+                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
+                }
+                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
+        }
+    }
+
+    var is = moment.defineLocale('is', {
+        months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
+        weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
+        weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
+        weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] H:mm',
+            LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
+        },
+        calendar : {
+            sameDay : '[í dag kl.] LT',
+            nextDay : '[á morgun kl.] LT',
+            nextWeek : 'dddd [kl.] LT',
+            lastDay : '[í gær kl.] LT',
+            lastWeek : '[síðasta] dddd [kl.] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'eftir %s',
+            past : 'fyrir %s síðan',
+            s : translate,
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : 'klukkustund',
+            hh : translate,
+            d : translate,
+            dd : translate,
+            M : translate,
+            MM : translate,
+            y : translate,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return is;
+
+})));
diff --git a/public/bower_components/moment/locale/it-ch.js b/public/bower_components/moment/locale/it-ch.js
new file mode 100644
index 0000000..fcf2d4b
--- /dev/null
+++ b/public/bower_components/moment/locale/it-ch.js
@@ -0,0 +1,68 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var itCh = moment.defineLocale('it-ch', {
+        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Oggi alle] LT',
+            nextDay: '[Domani alle] LT',
+            nextWeek: 'dddd [alle] LT',
+            lastDay: '[Ieri alle] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[la scorsa] dddd [alle] LT';
+                    default:
+                        return '[lo scorso] dddd [alle] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+            },
+            past : '%s fa',
+            s : 'alcuni secondi',
+            ss : '%d secondi',
+            m : 'un minuto',
+            mm : '%d minuti',
+            h : 'un\'ora',
+            hh : '%d ore',
+            d : 'un giorno',
+            dd : '%d giorni',
+            M : 'un mese',
+            MM : '%d mesi',
+            y : 'un anno',
+            yy : '%d anni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return itCh;
+
+})));
diff --git a/public/bower_components/moment/locale/it.js b/public/bower_components/moment/locale/it.js
new file mode 100644
index 0000000..f42ff8f
--- /dev/null
+++ b/public/bower_components/moment/locale/it.js
@@ -0,0 +1,68 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var it = moment.defineLocale('it', {
+        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Oggi alle] LT',
+            nextDay: '[Domani alle] LT',
+            nextWeek: 'dddd [alle] LT',
+            lastDay: '[Ieri alle] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[la scorsa] dddd [alle] LT';
+                    default:
+                        return '[lo scorso] dddd [alle] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+            },
+            past : '%s fa',
+            s : 'alcuni secondi',
+            ss : '%d secondi',
+            m : 'un minuto',
+            mm : '%d minuti',
+            h : 'un\'ora',
+            hh : '%d ore',
+            d : 'un giorno',
+            dd : '%d giorni',
+            M : 'un mese',
+            MM : '%d mesi',
+            y : 'un anno',
+            yy : '%d anni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return it;
+
+})));
diff --git a/public/bower_components/moment/locale/ja.js b/public/bower_components/moment/locale/ja.js
new file mode 100644
index 0000000..4e4efd6
--- /dev/null
+++ b/public/bower_components/moment/locale/ja.js
@@ -0,0 +1,91 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ja = moment.defineLocale('ja', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
+        weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
+        weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日 dddd HH:mm',
+            l : 'YYYY/MM/DD',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日(ddd) HH:mm'
+        },
+        meridiemParse: /午前|午後/i,
+        isPM : function (input) {
+            return input === '午後';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return '午前';
+            } else {
+                return '午後';
+            }
+        },
+        calendar : {
+            sameDay : '[今日] LT',
+            nextDay : '[明日] LT',
+            nextWeek : function (now) {
+                if (now.week() < this.week()) {
+                    return '[来週]dddd LT';
+                } else {
+                    return 'dddd LT';
+                }
+            },
+            lastDay : '[昨日] LT',
+            lastWeek : function (now) {
+                if (this.week() < now.week()) {
+                    return '[先週]dddd LT';
+                } else {
+                    return 'dddd LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}æ—¥/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + 'æ—¥';
+                default:
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%s後',
+            past : '%s前',
+            s : 'æ•°ç§’',
+            ss : '%dç§’',
+            m : '1分',
+            mm : '%d分',
+            h : '1時間',
+            hh : '%d時間',
+            d : '1æ—¥',
+            dd : '%dæ—¥',
+            M : '1ヶ月',
+            MM : '%dヶ月',
+            y : '1å¹´',
+            yy : '%då¹´'
+        }
+    });
+
+    return ja;
+
+})));
diff --git a/public/bower_components/moment/locale/jv.js b/public/bower_components/moment/locale/jv.js
new file mode 100644
index 0000000..b2bb4f4
--- /dev/null
+++ b/public/bower_components/moment/locale/jv.js
@@ -0,0 +1,81 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var jv = moment.defineLocale('jv', {
+        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
+        weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
+        weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
+        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /enjing|siyang|sonten|ndalu/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'enjing') {
+                return hour;
+            } else if (meridiem === 'siyang') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'enjing';
+            } else if (hours < 15) {
+                return 'siyang';
+            } else if (hours < 19) {
+                return 'sonten';
+            } else {
+                return 'ndalu';
+            }
+        },
+        calendar : {
+            sameDay : '[Dinten puniko pukul] LT',
+            nextDay : '[Mbenjang pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kala wingi pukul] LT',
+            lastWeek : 'dddd [kepengker pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'wonten ing %s',
+            past : '%s ingkang kepengker',
+            s : 'sawetawis detik',
+            ss : '%d detik',
+            m : 'setunggal menit',
+            mm : '%d menit',
+            h : 'setunggal jam',
+            hh : '%d jam',
+            d : 'sedinten',
+            dd : '%d dinten',
+            M : 'sewulan',
+            MM : '%d wulan',
+            y : 'setaun',
+            yy : '%d taun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return jv;
+
+})));
diff --git a/public/bower_components/moment/locale/ka.js b/public/bower_components/moment/locale/ka.js
new file mode 100644
index 0000000..0ec5eb2
--- /dev/null
+++ b/public/bower_components/moment/locale/ka.js
@@ -0,0 +1,88 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ka = moment.defineLocale('ka', {
+        months : {
+            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
+            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
+        },
+        monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
+        weekdays : {
+            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
+            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
+            isFormat: /(წინა|შემდეგ)/
+        },
+        weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
+        weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[დღეს] LT[-ზე]',
+            nextDay : '[ხვალ] LT[-ზე]',
+            lastDay : '[გუშინ] LT[-ზე]',
+            nextWeek : '[შემდეგ] dddd LT[-ზე]',
+            lastWeek : '[წინა] dddd LT-ზე',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
+                    s.replace(/ი$/, 'ში') :
+                    s + 'ში';
+            },
+            past : function (s) {
+                if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
+                    return s.replace(/(ი|ე)$/, 'ის წინ');
+                }
+                if ((/წელი/).test(s)) {
+                    return s.replace(/წელი$/, 'წლის წინ');
+                }
+            },
+            s : 'რამდენიმე წამი',
+            ss : '%d წამი',
+            m : 'წუთი',
+            mm : '%d წუთი',
+            h : 'საათი',
+            hh : '%d საათი',
+            d : 'დღე',
+            dd : '%d დღე',
+            M : 'თვე',
+            MM : '%d თვე',
+            y : 'წელი',
+            yy : '%d წელი'
+        },
+        dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
+        ordinal : function (number) {
+            if (number === 0) {
+                return number;
+            }
+            if (number === 1) {
+                return number + '-ლი';
+            }
+            if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
+                return 'მე-' + number;
+            }
+            return number + '-ე';
+        },
+        week : {
+            dow : 1,
+            doy : 7
+        }
+    });
+
+    return ka;
+
+})));
diff --git a/public/bower_components/moment/locale/kk.js b/public/bower_components/moment/locale/kk.js
new file mode 100644
index 0000000..c468f67
--- /dev/null
+++ b/public/bower_components/moment/locale/kk.js
@@ -0,0 +1,86 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var suffixes = {
+        0: '-ші',
+        1: '-ші',
+        2: '-ші',
+        3: '-ші',
+        4: '-ші',
+        5: '-ші',
+        6: '-шы',
+        7: '-ші',
+        8: '-ші',
+        9: '-шы',
+        10: '-шы',
+        20: '-шы',
+        30: '-шы',
+        40: '-шы',
+        50: '-ші',
+        60: '-шы',
+        70: '-ші',
+        80: '-ші',
+        90: '-шы',
+        100: '-ші'
+    };
+
+    var kk = moment.defineLocale('kk', {
+        months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
+        monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
+        weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
+        weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
+        weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бүгін сағат] LT',
+            nextDay : '[Ертең сағат] LT',
+            nextWeek : 'dddd [сағат] LT',
+            lastDay : '[Кеше сағат] LT',
+            lastWeek : '[Өткен аптаның] dddd [сағат] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ішінде',
+            past : '%s бұрын',
+            s : 'бірнеше секунд',
+            ss : '%d секунд',
+            m : 'бір минут',
+            mm : '%d минут',
+            h : 'бір сағат',
+            hh : '%d сағат',
+            d : 'бір күн',
+            dd : '%d күн',
+            M : 'бір ай',
+            MM : '%d ай',
+            y : 'бір жыл',
+            yy : '%d жыл'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
+        ordinal : function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return kk;
+
+})));
diff --git a/public/bower_components/moment/locale/km.js b/public/bower_components/moment/locale/km.js
new file mode 100644
index 0000000..fee3623
--- /dev/null
+++ b/public/bower_components/moment/locale/km.js
@@ -0,0 +1,109 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '១',
+        '2': '២',
+        '3': '៣',
+        '4': '៤',
+        '5': '៥',
+        '6': '៦',
+        '7': '៧',
+        '8': '៨',
+        '9': '៩',
+        '0': '០'
+    }, numberMap = {
+        '១': '1',
+        '២': '2',
+        '៣': '3',
+        '៤': '4',
+        '៥': '5',
+        '៦': '6',
+        '៧': '7',
+        '៨': '8',
+        '៩': '9',
+        '០': '0'
+    };
+
+    var km = moment.defineLocale('km', {
+        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+            '_'
+        ),
+        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+            '_'
+        ),
+        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
+        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+        weekdaysParseExact: true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ព្រឹក|ល្ងាច/,
+        isPM: function (input) {
+            return input === 'ល្ងាច';
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ព្រឹក';
+            } else {
+                return 'ល្ងាច';
+            }
+        },
+        calendar: {
+            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
+            nextDay: '[ស្អែក ម៉ោង] LT',
+            nextWeek: 'dddd [ម៉ោង] LT',
+            lastDay: '[ម្សិលមិញ ម៉ោង] LT',
+            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%sទៀត',
+            past: '%sមុន',
+            s: 'ប៉ុន្មានវិនាទី',
+            ss: '%d វិនាទី',
+            m: 'មួយនាទី',
+            mm: '%d នាទី',
+            h: 'មួយម៉ោង',
+            hh: '%d ម៉ោង',
+            d: 'មួយថ្ងៃ',
+            dd: '%d ថ្ងៃ',
+            M: 'មួយខែ',
+            MM: '%d ខែ',
+            y: 'មួយឆ្នាំ',
+            yy: '%d ឆ្នាំ'
+        },
+        dayOfMonthOrdinalParse : /ទី\d{1,2}/,
+        ordinal : 'ទី%d',
+        preparse: function (string) {
+            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return km;
+
+})));
diff --git a/public/bower_components/moment/locale/kn.js b/public/bower_components/moment/locale/kn.js
new file mode 100644
index 0000000..8d0ae9d
--- /dev/null
+++ b/public/bower_components/moment/locale/kn.js
@@ -0,0 +1,125 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'à³§',
+        '2': '೨',
+        '3': '೩',
+        '4': '೪',
+        '5': '೫',
+        '6': '೬',
+        '7': 'à³­',
+        '8': 'à³®',
+        '9': '೯',
+        '0': '೦'
+    },
+    numberMap = {
+        'à³§': '1',
+        '೨': '2',
+        '೩': '3',
+        '೪': '4',
+        '೫': '5',
+        '೬': '6',
+        'à³­': '7',
+        'à³®': '8',
+        '೯': '9',
+        '೦': '0'
+    };
+
+    var kn = moment.defineLocale('kn', {
+        months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
+        monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
+        weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
+        weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[ಇಂದು] LT',
+            nextDay : '[ನಾಳೆ] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[ನಿನ್ನೆ] LT',
+            lastWeek : '[ಕೊನೆಯ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ನಂತರ',
+            past : '%s ಹಿಂದೆ',
+            s : 'ಕೆಲವು ಕ್ಷಣಗಳು',
+            ss : '%d ಸೆಕೆಂಡುಗಳು',
+            m : 'ಒಂದು ನಿಮಿಷ',
+            mm : '%d ನಿಮಿಷ',
+            h : 'ಒಂದು ಗಂಟೆ',
+            hh : '%d ಗಂಟೆ',
+            d : 'ಒಂದು ದಿನ',
+            dd : '%d ದಿನ',
+            M : 'ಒಂದು ತಿಂಗಳು',
+            MM : '%d ತಿಂಗಳು',
+            y : 'ಒಂದು ವರ್ಷ',
+            yy : '%d ವರ್ಷ'
+        },
+        preparse: function (string) {
+            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ರಾತ್ರಿ') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
+                return hour;
+            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'ಸಂಜೆ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ರಾತ್ರಿ';
+            } else if (hour < 10) {
+                return 'ಬೆಳಿಗ್ಗೆ';
+            } else if (hour < 17) {
+                return 'ಮಧ್ಯಾಹ್ನ';
+            } else if (hour < 20) {
+                return 'ಸಂಜೆ';
+            } else {
+                return 'ರಾತ್ರಿ';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
+        ordinal : function (number) {
+            return number + 'ನೇ';
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return kn;
+
+})));
diff --git a/public/bower_components/moment/locale/ko.js b/public/bower_components/moment/locale/ko.js
new file mode 100644
index 0000000..40f1bb5
--- /dev/null
+++ b/public/bower_components/moment/locale/ko.js
@@ -0,0 +1,80 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ko = moment.defineLocale('ko', {
+        months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+        monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+        weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
+        weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
+        weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'YYYY.MM.DD.',
+            LL : 'YYYY년 MMMM D일',
+            LLL : 'YYYY년 MMMM D일 A h:mm',
+            LLLL : 'YYYY년 MMMM D일 dddd A h:mm',
+            l : 'YYYY.MM.DD.',
+            ll : 'YYYY년 MMMM D일',
+            lll : 'YYYY년 MMMM D일 A h:mm',
+            llll : 'YYYY년 MMMM D일 dddd A h:mm'
+        },
+        calendar : {
+            sameDay : '오늘 LT',
+            nextDay : '내일 LT',
+            nextWeek : 'dddd LT',
+            lastDay : '어제 LT',
+            lastWeek : '지난주 dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s 후',
+            past : '%s ì „',
+            s : '몇 초',
+            ss : '%dì´ˆ',
+            m : '1ë¶„',
+            mm : '%dë¶„',
+            h : '한 시간',
+            hh : '%d시간',
+            d : '하루',
+            dd : '%d일',
+            M : '한 달',
+            MM : '%d달',
+            y : '일 년',
+            yy : '%dë…„'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(일|월|주)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + '일';
+                case 'M':
+                    return number + 'ì›”';
+                case 'w':
+                case 'W':
+                    return number + '주';
+                default:
+                    return number;
+            }
+        },
+        meridiemParse : /오전|오후/,
+        isPM : function (token) {
+            return token === '오후';
+        },
+        meridiem : function (hour, minute, isUpper) {
+            return hour < 12 ? '오전' : '오후';
+        }
+    });
+
+    return ko;
+
+})));
diff --git a/public/bower_components/moment/locale/ku.js b/public/bower_components/moment/locale/ku.js
new file mode 100644
index 0000000..05b9dbe
--- /dev/null
+++ b/public/bower_components/moment/locale/ku.js
@@ -0,0 +1,118 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    },
+    months = [
+        'کانونی دووەم',
+        'شوبات',
+        'ئازار',
+        'نیسان',
+        'ئایار',
+        'حوزەیران',
+        'تەمموز',
+        'ئاب',
+        'ئەیلوول',
+        'تشرینی یەكەم',
+        'تشرینی دووەم',
+        'كانونی یەکەم'
+    ];
+
+
+    var ku = moment.defineLocale('ku', {
+        months : months,
+        monthsShort : months,
+        weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),
+        weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
+        weekdaysMin : 'ی_د_س_چ_پ_ه_ش'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ئێواره‌|به‌یانی/,
+        isPM: function (input) {
+            return /ئێواره‌/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'به‌یانی';
+            } else {
+                return 'ئێواره‌';
+            }
+        },
+        calendar : {
+            sameDay : '[ئه‌مرۆ كاتژمێر] LT',
+            nextDay : '[به‌یانی كاتژمێر] LT',
+            nextWeek : 'dddd [كاتژمێر] LT',
+            lastDay : '[دوێنێ كاتژمێر] LT',
+            lastWeek : 'dddd [كاتژمێر] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'له‌ %s',
+            past : '%s',
+            s : 'چه‌ند چركه‌یه‌ك',
+            ss : 'چركه‌ %d',
+            m : 'یه‌ك خوله‌ك',
+            mm : '%d خوله‌ك',
+            h : 'یه‌ك كاتژمێر',
+            hh : '%d كاتژمێر',
+            d : 'یه‌ك ڕۆژ',
+            dd : '%d Ú•Û†Ú˜',
+            M : 'یه‌ك مانگ',
+            MM : '%d مانگ',
+            y : 'یه‌ك ساڵ',
+            yy : '%d ساڵ'
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12 // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return ku;
+
+})));
diff --git a/public/bower_components/moment/locale/ky.js b/public/bower_components/moment/locale/ky.js
new file mode 100644
index 0000000..8bd29a3
--- /dev/null
+++ b/public/bower_components/moment/locale/ky.js
@@ -0,0 +1,86 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var suffixes = {
+        0: '-чү',
+        1: '-чи',
+        2: '-чи',
+        3: '-чү',
+        4: '-чү',
+        5: '-чи',
+        6: '-чы',
+        7: '-чи',
+        8: '-чи',
+        9: '-чу',
+        10: '-чу',
+        20: '-чы',
+        30: '-чу',
+        40: '-чы',
+        50: '-чү',
+        60: '-чы',
+        70: '-чи',
+        80: '-чи',
+        90: '-чу',
+        100: '-чү'
+    };
+
+    var ky = moment.defineLocale('ky', {
+        months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+        monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
+        weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
+        weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бүгүн саат] LT',
+            nextDay : '[Эртең саат] LT',
+            nextWeek : 'dddd [саат] LT',
+            lastDay : '[Кечээ саат] LT',
+            lastWeek : '[Өткөн аптанын] dddd [күнү] [саат] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ичинде',
+            past : '%s мурун',
+            s : 'бирнече секунд',
+            ss : '%d секунд',
+            m : 'бир мүнөт',
+            mm : '%d мүнөт',
+            h : 'бир саат',
+            hh : '%d саат',
+            d : 'бир күн',
+            dd : '%d күн',
+            M : 'бир ай',
+            MM : '%d ай',
+            y : 'бир жыл',
+            yy : '%d жыл'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
+        ordinal : function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return ky;
+
+})));
diff --git a/public/bower_components/moment/locale/lb.js b/public/bower_components/moment/locale/lb.js
new file mode 100644
index 0000000..599a6e5
--- /dev/null
+++ b/public/bower_components/moment/locale/lb.js
@@ -0,0 +1,135 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eng Minutt', 'enger Minutt'],
+            'h': ['eng Stonn', 'enger Stonn'],
+            'd': ['een Dag', 'engem Dag'],
+            'M': ['ee Mount', 'engem Mount'],
+            'y': ['ee Joer', 'engem Joer']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+    function processFutureTime(string) {
+        var number = string.substr(0, string.indexOf(' '));
+        if (eifelerRegelAppliesToNumber(number)) {
+            return 'a ' + string;
+        }
+        return 'an ' + string;
+    }
+    function processPastTime(string) {
+        var number = string.substr(0, string.indexOf(' '));
+        if (eifelerRegelAppliesToNumber(number)) {
+            return 'viru ' + string;
+        }
+        return 'virun ' + string;
+    }
+    /**
+     * Returns true if the word before the given number loses the '-n' ending.
+     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
+     *
+     * @param number {integer}
+     * @returns {boolean}
+     */
+    function eifelerRegelAppliesToNumber(number) {
+        number = parseInt(number, 10);
+        if (isNaN(number)) {
+            return false;
+        }
+        if (number < 0) {
+            // Negative Number --> always true
+            return true;
+        } else if (number < 10) {
+            // Only 1 digit
+            if (4 <= number && number <= 7) {
+                return true;
+            }
+            return false;
+        } else if (number < 100) {
+            // 2 digits
+            var lastDigit = number % 10, firstDigit = number / 10;
+            if (lastDigit === 0) {
+                return eifelerRegelAppliesToNumber(firstDigit);
+            }
+            return eifelerRegelAppliesToNumber(lastDigit);
+        } else if (number < 10000) {
+            // 3 or 4 digits --> recursively check first digit
+            while (number >= 10) {
+                number = number / 10;
+            }
+            return eifelerRegelAppliesToNumber(number);
+        } else {
+            // Anything larger than 4 digits: recursively check first n-3 digits
+            number = number / 1000;
+            return eifelerRegelAppliesToNumber(number);
+        }
+    }
+
+    var lb = moment.defineLocale('lb', {
+        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
+        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
+        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm [Auer]',
+            LTS: 'H:mm:ss [Auer]',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm [Auer]',
+            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
+        },
+        calendar: {
+            sameDay: '[Haut um] LT',
+            sameElse: 'L',
+            nextDay: '[Muer um] LT',
+            nextWeek: 'dddd [um] LT',
+            lastDay: '[Gëschter um] LT',
+            lastWeek: function () {
+                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
+                switch (this.day()) {
+                    case 2:
+                    case 4:
+                        return '[Leschten] dddd [um] LT';
+                    default:
+                        return '[Leschte] dddd [um] LT';
+                }
+            }
+        },
+        relativeTime : {
+            future : processFutureTime,
+            past : processPastTime,
+            s : 'e puer Sekonnen',
+            ss : '%d Sekonnen',
+            m : processRelativeTime,
+            mm : '%d Minutten',
+            h : processRelativeTime,
+            hh : '%d Stonnen',
+            d : processRelativeTime,
+            dd : '%d Deeg',
+            M : processRelativeTime,
+            MM : '%d Méint',
+            y : processRelativeTime,
+            yy : '%d Joer'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal: '%d.',
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return lb;
+
+})));
diff --git a/public/bower_components/moment/locale/lo.js b/public/bower_components/moment/locale/lo.js
new file mode 100644
index 0000000..7cd6cfc
--- /dev/null
+++ b/public/bower_components/moment/locale/lo.js
@@ -0,0 +1,69 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var lo = moment.defineLocale('lo', {
+        months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+        monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+        weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+        weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+        weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
+        isPM: function (input) {
+            return input === 'ຕອນແລງ';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ຕອນເຊົ້າ';
+            } else {
+                return 'ຕອນແລງ';
+            }
+        },
+        calendar : {
+            sameDay : '[ມື້ນີ້ເວລາ] LT',
+            nextDay : '[ມື້ອື່ນເວລາ] LT',
+            nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
+            lastDay : '[ມື້ວານນີ້ເວລາ] LT',
+            lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ອີກ %s',
+            past : '%sຜ່ານມາ',
+            s : 'ບໍ່ເທົ່າໃດວິນາທີ',
+            ss : '%d ວິນາທີ' ,
+            m : '1 ນາທີ',
+            mm : '%d ນາທີ',
+            h : '1 ຊົ່ວໂມງ',
+            hh : '%d ຊົ່ວໂມງ',
+            d : '1 ມື້',
+            dd : '%d ມື້',
+            M : '1 ເດືອນ',
+            MM : '%d ເດືອນ',
+            y : '1 ປີ',
+            yy : '%d ປີ'
+        },
+        dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
+        ordinal : function (number) {
+            return 'ທີ່' + number;
+        }
+    });
+
+    return lo;
+
+})));
diff --git a/public/bower_components/moment/locale/lt.js b/public/bower_components/moment/locale/lt.js
new file mode 100644
index 0000000..bc7d7e7
--- /dev/null
+++ b/public/bower_components/moment/locale/lt.js
@@ -0,0 +1,117 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var units = {
+        'ss' : 'sekundė_sekundžių_sekundes',
+        'm' : 'minutÄ—_minutÄ—s_minutÄ™',
+        'mm': 'minutės_minučių_minutes',
+        'h' : 'valanda_valandos_valandÄ…',
+        'hh': 'valandos_valandų_valandas',
+        'd' : 'diena_dienos_dienÄ…',
+        'dd': 'dienos_dienų_dienas',
+        'M' : 'mėnuo_mėnesio_mėnesį',
+        'MM': 'mėnesiai_mėnesių_mėnesius',
+        'y' : 'metai_metų_metus',
+        'yy': 'metai_metų_metus'
+    };
+    function translateSeconds(number, withoutSuffix, key, isFuture) {
+        if (withoutSuffix) {
+            return 'kelios sekundÄ—s';
+        } else {
+            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
+        }
+    }
+    function translateSingular(number, withoutSuffix, key, isFuture) {
+        return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
+    }
+    function special(number) {
+        return number % 10 === 0 || (number > 10 && number < 20);
+    }
+    function forms(key) {
+        return units[key].split('_');
+    }
+    function translate(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        if (number === 1) {
+            return result + translateSingular(number, withoutSuffix, key[0], isFuture);
+        } else if (withoutSuffix) {
+            return result + (special(number) ? forms(key)[1] : forms(key)[0]);
+        } else {
+            if (isFuture) {
+                return result + forms(key)[1];
+            } else {
+                return result + (special(number) ? forms(key)[1] : forms(key)[2]);
+            }
+        }
+    }
+    var lt = moment.defineLocale('lt', {
+        months : {
+            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
+            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
+            isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
+        },
+        monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
+        weekdays : {
+            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
+            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
+            isFormat: /dddd HH:mm/
+        },
+        weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
+        weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY [m.] MMMM D [d.]',
+            LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+            LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+            l : 'YYYY-MM-DD',
+            ll : 'YYYY [m.] MMMM D [d.]',
+            lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+            llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
+        },
+        calendar : {
+            sameDay : '[Å iandien] LT',
+            nextDay : '[Rytoj] LT',
+            nextWeek : 'dddd LT',
+            lastDay : '[Vakar] LT',
+            lastWeek : '[Praėjusį] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'po %s',
+            past : 'prieš %s',
+            s : translateSeconds,
+            ss : translate,
+            m : translateSingular,
+            mm : translate,
+            h : translateSingular,
+            hh : translate,
+            d : translateSingular,
+            dd : translate,
+            M : translateSingular,
+            MM : translate,
+            y : translateSingular,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-oji/,
+        ordinal : function (number) {
+            return number + '-oji';
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return lt;
+
+})));
diff --git a/public/bower_components/moment/locale/lv.js b/public/bower_components/moment/locale/lv.js
new file mode 100644
index 0000000..b5b8ea8
--- /dev/null
+++ b/public/bower_components/moment/locale/lv.js
@@ -0,0 +1,96 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var units = {
+        'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
+        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+        'h': 'stundas_stundām_stunda_stundas'.split('_'),
+        'hh': 'stundas_stundām_stunda_stundas'.split('_'),
+        'd': 'dienas_dienām_diena_dienas'.split('_'),
+        'dd': 'dienas_dienām_diena_dienas'.split('_'),
+        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+        'y': 'gada_gadiem_gads_gadi'.split('_'),
+        'yy': 'gada_gadiem_gads_gadi'.split('_')
+    };
+    /**
+     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
+     */
+    function format(forms, number, withoutSuffix) {
+        if (withoutSuffix) {
+            // E.g. "21 minūte", "3 minūtes".
+            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
+        } else {
+            // E.g. "21 minūtes" as in "pēc 21 minūtes".
+            // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
+            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
+        }
+    }
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        return number + ' ' + format(units[key], number, withoutSuffix);
+    }
+    function relativeTimeWithSingular(number, withoutSuffix, key) {
+        return format(units[key], number, withoutSuffix);
+    }
+    function relativeSeconds(number, withoutSuffix) {
+        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
+    }
+
+    var lv = moment.defineLocale('lv', {
+        months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
+        weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
+        weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY.',
+            LL : 'YYYY. [gada] D. MMMM',
+            LLL : 'YYYY. [gada] D. MMMM, HH:mm',
+            LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
+        },
+        calendar : {
+            sameDay : '[Å odien pulksten] LT',
+            nextDay : '[Rīt pulksten] LT',
+            nextWeek : 'dddd [pulksten] LT',
+            lastDay : '[Vakar pulksten] LT',
+            lastWeek : '[Pagājušā] dddd [pulksten] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'pēc %s',
+            past : 'pirms %s',
+            s : relativeSeconds,
+            ss : relativeTimeWithPlural,
+            m : relativeTimeWithSingular,
+            mm : relativeTimeWithPlural,
+            h : relativeTimeWithSingular,
+            hh : relativeTimeWithPlural,
+            d : relativeTimeWithSingular,
+            dd : relativeTimeWithPlural,
+            M : relativeTimeWithSingular,
+            MM : relativeTimeWithPlural,
+            y : relativeTimeWithSingular,
+            yy : relativeTimeWithPlural
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return lv;
+
+})));
diff --git a/public/bower_components/moment/locale/me.js b/public/bower_components/moment/locale/me.js
new file mode 100644
index 0000000..6608d09
--- /dev/null
+++ b/public/bower_components/moment/locale/me.js
@@ -0,0 +1,111 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var translator = {
+        words: { //Different grammatical cases
+            ss: ['sekund', 'sekunda', 'sekundi'],
+            m: ['jedan minut', 'jednog minuta'],
+            mm: ['minut', 'minuta', 'minuta'],
+            h: ['jedan sat', 'jednog sata'],
+            hh: ['sat', 'sata', 'sati'],
+            dd: ['dan', 'dana', 'dana'],
+            MM: ['mjesec', 'mjeseca', 'mjeseci'],
+            yy: ['godina', 'godine', 'godina']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    var me = moment.defineLocale('me', {
+        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact : true,
+        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[danas u] LT',
+            nextDay: '[sjutra u] LT',
+
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[juče u] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[prošle] [nedjelje] [u] LT',
+                    '[prošlog] [ponedjeljka] [u] LT',
+                    '[prošlog] [utorka] [u] LT',
+                    '[prošle] [srijede] [u] LT',
+                    '[prošlog] [četvrtka] [u] LT',
+                    '[prošlog] [petka] [u] LT',
+                    '[prošle] [subote] [u] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'nekoliko sekundi',
+            ss     : translator.translate,
+            m      : translator.translate,
+            mm     : translator.translate,
+            h      : translator.translate,
+            hh     : translator.translate,
+            d      : 'dan',
+            dd     : translator.translate,
+            M      : 'mjesec',
+            MM     : translator.translate,
+            y      : 'godinu',
+            yy     : translator.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return me;
+
+})));
diff --git a/public/bower_components/moment/locale/mi.js b/public/bower_components/moment/locale/mi.js
new file mode 100644
index 0000000..29f1c7a
--- /dev/null
+++ b/public/bower_components/moment/locale/mi.js
@@ -0,0 +1,63 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var mi = moment.defineLocale('mi', {
+        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('_'),
+        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
+        monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
+        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
+        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY [i] HH:mm',
+            LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
+        },
+        calendar: {
+            sameDay: '[i teie mahana, i] LT',
+            nextDay: '[apopo i] LT',
+            nextWeek: 'dddd [i] LT',
+            lastDay: '[inanahi i] LT',
+            lastWeek: 'dddd [whakamutunga i] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'i roto i %s',
+            past: '%s i mua',
+            s: 'te hēkona ruarua',
+            ss: '%d hēkona',
+            m: 'he meneti',
+            mm: '%d meneti',
+            h: 'te haora',
+            hh: '%d haora',
+            d: 'he ra',
+            dd: '%d ra',
+            M: 'he marama',
+            MM: '%d marama',
+            y: 'he tau',
+            yy: '%d tau'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return mi;
+
+})));
diff --git a/public/bower_components/moment/locale/mk.js b/public/bower_components/moment/locale/mk.js
new file mode 100644
index 0000000..051f683
--- /dev/null
+++ b/public/bower_components/moment/locale/mk.js
@@ -0,0 +1,89 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var mk = moment.defineLocale('mk', {
+        months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
+        monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
+        weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
+        weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
+        weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'D.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay : '[Денес во] LT',
+            nextDay : '[Утре во] LT',
+            nextWeek : '[Во] dddd [во] LT',
+            lastDay : '[Вчера во] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 6:
+                        return '[Изминатата] dddd [во] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[Изминатиот] dddd [во] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'после %s',
+            past : 'пред %s',
+            s : 'неколку секунди',
+            ss : '%d секунди',
+            m : 'минута',
+            mm : '%d минути',
+            h : 'час',
+            hh : '%d часа',
+            d : 'ден',
+            dd : '%d дена',
+            M : 'месец',
+            MM : '%d месеци',
+            y : 'година',
+            yy : '%d години'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+        ordinal : function (number) {
+            var lastDigit = number % 10,
+                last2Digits = number % 100;
+            if (number === 0) {
+                return number + '-ев';
+            } else if (last2Digits === 0) {
+                return number + '-ен';
+            } else if (last2Digits > 10 && last2Digits < 20) {
+                return number + '-ти';
+            } else if (lastDigit === 1) {
+                return number + '-ви';
+            } else if (lastDigit === 2) {
+                return number + '-ри';
+            } else if (lastDigit === 7 || lastDigit === 8) {
+                return number + '-ми';
+            } else {
+                return number + '-ти';
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return mk;
+
+})));
diff --git a/public/bower_components/moment/locale/ml.js b/public/bower_components/moment/locale/ml.js
new file mode 100644
index 0000000..806db47
--- /dev/null
+++ b/public/bower_components/moment/locale/ml.js
@@ -0,0 +1,80 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ml = moment.defineLocale('ml', {
+        months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
+        monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
+        weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
+        weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm -നു',
+            LTS : 'A h:mm:ss -നു',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm -നു',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
+        },
+        calendar : {
+            sameDay : '[ഇന്ന്] LT',
+            nextDay : '[നാളെ] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[ഇന്നലെ] LT',
+            lastWeek : '[കഴിഞ്ഞ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s കഴിഞ്ഞ്',
+            past : '%s മുൻപ്',
+            s : 'അൽപ നിമിഷങ്ങൾ',
+            ss : '%d സെക്കൻഡ്',
+            m : 'ഒരു മിനിറ്റ്',
+            mm : '%d മിനിറ്റ്',
+            h : 'ഒരു മണിക്കൂർ',
+            hh : '%d മണിക്കൂർ',
+            d : 'ഒരു ദിവസം',
+            dd : '%d ദിവസം',
+            M : 'ഒരു മാസം',
+            MM : '%d മാസം',
+            y : 'ഒരു വർഷം',
+            yy : '%d വർഷം'
+        },
+        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'രാത്രി' && hour >= 4) ||
+                    meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
+                    meridiem === 'വൈകുന്നേരം') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'രാത്രി';
+            } else if (hour < 12) {
+                return 'രാവിലെ';
+            } else if (hour < 17) {
+                return 'ഉച്ച കഴിഞ്ഞ്';
+            } else if (hour < 20) {
+                return 'വൈകുന്നേരം';
+            } else {
+                return 'രാത്രി';
+            }
+        }
+    });
+
+    return ml;
+
+})));
diff --git a/public/bower_components/moment/locale/mn.js b/public/bower_components/moment/locale/mn.js
new file mode 100644
index 0000000..f4b95c8
--- /dev/null
+++ b/public/bower_components/moment/locale/mn.js
@@ -0,0 +1,103 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function translate(number, withoutSuffix, key, isFuture) {
+        switch (key) {
+            case 's':
+                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
+            case 'ss':
+                return number + (withoutSuffix ? ' секунд' : ' секундын');
+            case 'm':
+            case 'mm':
+                return number + (withoutSuffix ? ' минут' : ' минутын');
+            case 'h':
+            case 'hh':
+                return number + (withoutSuffix ? ' цаг' : ' цагийн');
+            case 'd':
+            case 'dd':
+                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
+            case 'M':
+            case 'MM':
+                return number + (withoutSuffix ? ' сар' : ' сарын');
+            case 'y':
+            case 'yy':
+                return number + (withoutSuffix ? ' жил' : ' жилийн');
+            default:
+                return number;
+        }
+    }
+
+    var mn = moment.defineLocale('mn', {
+        months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
+        monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
+        weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
+        weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY оны MMMMын D',
+            LLL : 'YYYY оны MMMMын D HH:mm',
+            LLLL : 'dddd, YYYY оны MMMMын D HH:mm'
+        },
+        meridiemParse: /ҮӨ|ҮХ/i,
+        isPM : function (input) {
+            return input === 'ҮХ';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'Ò®Ó¨';
+            } else {
+                return 'ҮХ';
+            }
+        },
+        calendar : {
+            sameDay : '[Өнөөдөр] LT',
+            nextDay : '[Маргааш] LT',
+            nextWeek : '[Ирэх] dddd LT',
+            lastDay : '[Өчигдөр] LT',
+            lastWeek : '[Өнгөрсөн] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s дараа',
+            past : '%s өмнө',
+            s : translate,
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : translate,
+            hh : translate,
+            d : translate,
+            dd : translate,
+            M : translate,
+            MM : translate,
+            y : translate,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + ' өдөр';
+                default:
+                    return number;
+            }
+        }
+    });
+
+    return mn;
+
+})));
diff --git a/public/bower_components/moment/locale/mr.js b/public/bower_components/moment/locale/mr.js
new file mode 100644
index 0000000..984559f
--- /dev/null
+++ b/public/bower_components/moment/locale/mr.js
@@ -0,0 +1,159 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    function relativeTimeMr(number, withoutSuffix, string, isFuture)
+    {
+        var output = '';
+        if (withoutSuffix) {
+            switch (string) {
+                case 's': output = 'काही सेकंद'; break;
+                case 'ss': output = '%d सेकंद'; break;
+                case 'm': output = 'एक मिनिट'; break;
+                case 'mm': output = '%d मिनिटे'; break;
+                case 'h': output = 'एक तास'; break;
+                case 'hh': output = '%d तास'; break;
+                case 'd': output = 'एक दिवस'; break;
+                case 'dd': output = '%d दिवस'; break;
+                case 'M': output = 'एक महिना'; break;
+                case 'MM': output = '%d महिने'; break;
+                case 'y': output = 'एक वर्ष'; break;
+                case 'yy': output = '%d वर्षे'; break;
+            }
+        }
+        else {
+            switch (string) {
+                case 's': output = 'काही सेकंदां'; break;
+                case 'ss': output = '%d सेकंदां'; break;
+                case 'm': output = 'एका मिनिटा'; break;
+                case 'mm': output = '%d मिनिटां'; break;
+                case 'h': output = 'एका तासा'; break;
+                case 'hh': output = '%d तासां'; break;
+                case 'd': output = 'एका दिवसा'; break;
+                case 'dd': output = '%d दिवसां'; break;
+                case 'M': output = 'एका महिन्या'; break;
+                case 'MM': output = '%d महिन्यां'; break;
+                case 'y': output = 'एका वर्षा'; break;
+                case 'yy': output = '%d वर्षां'; break;
+            }
+        }
+        return output.replace(/%d/i, number);
+    }
+
+    var mr = moment.defineLocale('mr', {
+        months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
+        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+        weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
+        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm वाजता',
+            LTS : 'A h:mm:ss वाजता',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm वाजता',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[उद्या] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[काल] LT',
+            lastWeek: '[मागील] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future: '%sमध्ये',
+            past: '%sपूर्वी',
+            s: relativeTimeMr,
+            ss: relativeTimeMr,
+            m: relativeTimeMr,
+            mm: relativeTimeMr,
+            h: relativeTimeMr,
+            hh: relativeTimeMr,
+            d: relativeTimeMr,
+            dd: relativeTimeMr,
+            M: relativeTimeMr,
+            MM: relativeTimeMr,
+            y: relativeTimeMr,
+            yy: relativeTimeMr
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'रात्री') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'सकाळी') {
+                return hour;
+            } else if (meridiem === 'दुपारी') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'सायंकाळी') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'रात्री';
+            } else if (hour < 10) {
+                return 'सकाळी';
+            } else if (hour < 17) {
+                return 'दुपारी';
+            } else if (hour < 20) {
+                return 'सायंकाळी';
+            } else {
+                return 'रात्री';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return mr;
+
+})));
diff --git a/public/bower_components/moment/locale/ms-my.js b/public/bower_components/moment/locale/ms-my.js
new file mode 100644
index 0000000..92014be
--- /dev/null
+++ b/public/bower_components/moment/locale/ms-my.js
@@ -0,0 +1,81 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var msMy = moment.defineLocale('ms-my', {
+        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|tengahari|petang|malam/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'tengahari') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'petang' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'tengahari';
+            } else if (hours < 19) {
+                return 'petang';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Esok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kelmarin pukul] LT',
+            lastWeek : 'dddd [lepas pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lepas',
+            s : 'beberapa saat',
+            ss : '%d saat',
+            m : 'seminit',
+            mm : '%d minit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return msMy;
+
+})));
diff --git a/public/bower_components/moment/locale/ms.js b/public/bower_components/moment/locale/ms.js
new file mode 100644
index 0000000..b499b5c
--- /dev/null
+++ b/public/bower_components/moment/locale/ms.js
@@ -0,0 +1,81 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ms = moment.defineLocale('ms', {
+        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|tengahari|petang|malam/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'tengahari') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'petang' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'tengahari';
+            } else if (hours < 19) {
+                return 'petang';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Esok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kelmarin pukul] LT',
+            lastWeek : 'dddd [lepas pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lepas',
+            s : 'beberapa saat',
+            ss : '%d saat',
+            m : 'seminit',
+            mm : '%d minit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return ms;
+
+})));
diff --git a/public/bower_components/moment/locale/mt.js b/public/bower_components/moment/locale/mt.js
new file mode 100644
index 0000000..4a34c5d
--- /dev/null
+++ b/public/bower_components/moment/locale/mt.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var mt = moment.defineLocale('mt', {
+        months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
+        monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
+        weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
+        weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
+        weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Illum fil-]LT',
+            nextDay : '[Għada fil-]LT',
+            nextWeek : 'dddd [fil-]LT',
+            lastDay : '[Il-bieraħ fil-]LT',
+            lastWeek : 'dddd [li għadda] [fil-]LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'f’ %s',
+            past : '%s ilu',
+            s : 'ftit sekondi',
+            ss : '%d sekondi',
+            m : 'minuta',
+            mm : '%d minuti',
+            h : 'siegħa',
+            hh : '%d siegħat',
+            d : 'ġurnata',
+            dd : '%d ġranet',
+            M : 'xahar',
+            MM : '%d xhur',
+            y : 'sena',
+            yy : '%d sni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return mt;
+
+})));
diff --git a/public/bower_components/moment/locale/my.js b/public/bower_components/moment/locale/my.js
new file mode 100644
index 0000000..ca3102a
--- /dev/null
+++ b/public/bower_components/moment/locale/my.js
@@ -0,0 +1,92 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '၁',
+        '2': '၂',
+        '3': '၃',
+        '4': '၄',
+        '5': '၅',
+        '6': '၆',
+        '7': '၇',
+        '8': '၈',
+        '9': '၉',
+        '0': '၀'
+    }, numberMap = {
+        '၁': '1',
+        '၂': '2',
+        '၃': '3',
+        '၄': '4',
+        '၅': '5',
+        '၆': '6',
+        '၇': '7',
+        '၈': '8',
+        '၉': '9',
+        '၀': '0'
+    };
+
+    var my = moment.defineLocale('my', {
+        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
+        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
+        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
+        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[ယနေ.] LT [မှာ]',
+            nextDay: '[မနက်ဖြန်] LT [မှာ]',
+            nextWeek: 'dddd LT [မှာ]',
+            lastDay: '[မနေ.က] LT [မှာ]',
+            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'လာမည့် %s မှာ',
+            past: 'လွန်ခဲ့သော %s က',
+            s: 'စက္ကန်.အနည်းငယ်',
+            ss : '%d စက္ကန့်',
+            m: 'တစ်မိနစ်',
+            mm: '%d မိနစ်',
+            h: 'တစ်နာရီ',
+            hh: '%d နာရီ',
+            d: 'တစ်ရက်',
+            dd: '%d ရက်',
+            M: 'တစ်လ',
+            MM: '%d လ',
+            y: 'တစ်နှစ်',
+            yy: '%d နှစ်'
+        },
+        preparse: function (string) {
+            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return my;
+
+})));
diff --git a/public/bower_components/moment/locale/nb.js b/public/bower_components/moment/locale/nb.js
new file mode 100644
index 0000000..f229810
--- /dev/null
+++ b/public/bower_components/moment/locale/nb.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var nb = moment.defineLocale('nb', {
+        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+        weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] HH:mm',
+            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[i dag kl.] LT',
+            nextDay: '[i morgen kl.] LT',
+            nextWeek: 'dddd [kl.] LT',
+            lastDay: '[i går kl.] LT',
+            lastWeek: '[forrige] dddd [kl.] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s siden',
+            s : 'noen sekunder',
+            ss : '%d sekunder',
+            m : 'ett minutt',
+            mm : '%d minutter',
+            h : 'en time',
+            hh : '%d timer',
+            d : 'en dag',
+            dd : '%d dager',
+            M : 'en måned',
+            MM : '%d måneder',
+            y : 'ett år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return nb;
+
+})));
diff --git a/public/bower_components/moment/locale/ne.js b/public/bower_components/moment/locale/ne.js
new file mode 100644
index 0000000..21c03a8
--- /dev/null
+++ b/public/bower_components/moment/locale/ne.js
@@ -0,0 +1,122 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    var ne = moment.defineLocale('ne', {
+        months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
+        monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
+        weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
+        weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'Aको h:mm बजे',
+            LTS : 'Aको h:mm:ss बजे',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, Aको h:mm बजे',
+            LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'राति') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'बिहान') {
+                return hour;
+            } else if (meridiem === 'दिउँसो') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'साँझ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 3) {
+                return 'राति';
+            } else if (hour < 12) {
+                return 'बिहान';
+            } else if (hour < 16) {
+                return 'दिउँसो';
+            } else if (hour < 20) {
+                return 'साँझ';
+            } else {
+                return 'राति';
+            }
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[भोलि] LT',
+            nextWeek : '[आउँदो] dddd[,] LT',
+            lastDay : '[हिजो] LT',
+            lastWeek : '[गएको] dddd[,] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%sमा',
+            past : '%s अगाडि',
+            s : 'केही क्षण',
+            ss : '%d सेकेण्ड',
+            m : 'एक मिनेट',
+            mm : '%d मिनेट',
+            h : 'एक घण्टा',
+            hh : '%d घण्टा',
+            d : 'एक दिन',
+            dd : '%d दिन',
+            M : 'एक महिना',
+            MM : '%d महिना',
+            y : 'एक बर्ष',
+            yy : '%d बर्ष'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return ne;
+
+})));
diff --git a/public/bower_components/moment/locale/nl-be.js b/public/bower_components/moment/locale/nl-be.js
new file mode 100644
index 0000000..479e291
--- /dev/null
+++ b/public/bower_components/moment/locale/nl-be.js
@@ -0,0 +1,86 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+    var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+    var monthsRegex = /^(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;
+
+    var nlBe = moment.defineLocale('nl-be', {
+        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots[m.month()];
+            } else {
+                return monthsShortWithDots[m.month()];
+            }
+        },
+
+        monthsRegex: monthsRegex,
+        monthsShortRegex: monthsRegex,
+        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+
+        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[vandaag om] LT',
+            nextDay: '[morgen om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[gisteren om] LT',
+            lastWeek: '[afgelopen] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'over %s',
+            past : '%s geleden',
+            s : 'een paar seconden',
+            ss : '%d seconden',
+            m : 'één minuut',
+            mm : '%d minuten',
+            h : 'één uur',
+            hh : '%d uur',
+            d : 'één dag',
+            dd : '%d dagen',
+            M : 'één maand',
+            MM : '%d maanden',
+            y : 'één jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return nlBe;
+
+})));
diff --git a/public/bower_components/moment/locale/nl.js b/public/bower_components/moment/locale/nl.js
new file mode 100644
index 0000000..11e78b9
--- /dev/null
+++ b/public/bower_components/moment/locale/nl.js
@@ -0,0 +1,86 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+    var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+    var monthsRegex = /^(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;
+
+    var nl = moment.defineLocale('nl', {
+        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots[m.month()];
+            } else {
+                return monthsShortWithDots[m.month()];
+            }
+        },
+
+        monthsRegex: monthsRegex,
+        monthsShortRegex: monthsRegex,
+        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+
+        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[vandaag om] LT',
+            nextDay: '[morgen om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[gisteren om] LT',
+            lastWeek: '[afgelopen] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'over %s',
+            past : '%s geleden',
+            s : 'een paar seconden',
+            ss : '%d seconden',
+            m : 'één minuut',
+            mm : '%d minuten',
+            h : 'één uur',
+            hh : '%d uur',
+            d : 'één dag',
+            dd : '%d dagen',
+            M : 'één maand',
+            MM : '%d maanden',
+            y : 'één jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return nl;
+
+})));
diff --git a/public/bower_components/moment/locale/nn.js b/public/bower_components/moment/locale/nn.js
new file mode 100644
index 0000000..5fa3550
--- /dev/null
+++ b/public/bower_components/moment/locale/nn.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var nn = moment.defineLocale('nn', {
+        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+        weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
+        weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
+        weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] H:mm',
+            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[I dag klokka] LT',
+            nextDay: '[I morgon klokka] LT',
+            nextWeek: 'dddd [klokka] LT',
+            lastDay: '[I går klokka] LT',
+            lastWeek: '[Føregåande] dddd [klokka] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s sidan',
+            s : 'nokre sekund',
+            ss : '%d sekund',
+            m : 'eit minutt',
+            mm : '%d minutt',
+            h : 'ein time',
+            hh : '%d timar',
+            d : 'ein dag',
+            dd : '%d dagar',
+            M : 'ein månad',
+            MM : '%d månader',
+            y : 'eit år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return nn;
+
+})));
diff --git a/public/bower_components/moment/locale/pa-in.js b/public/bower_components/moment/locale/pa-in.js
new file mode 100644
index 0000000..58ae128
--- /dev/null
+++ b/public/bower_components/moment/locale/pa-in.js
@@ -0,0 +1,123 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': 'à©§',
+        '2': '੨',
+        '3': 'à©©',
+        '4': '੪',
+        '5': 'à©«',
+        '6': '੬',
+        '7': 'à©­',
+        '8': 'à©®',
+        '9': '੯',
+        '0': '੦'
+    },
+    numberMap = {
+        'à©§': '1',
+        '੨': '2',
+        'à©©': '3',
+        '੪': '4',
+        'à©«': '5',
+        '੬': '6',
+        'à©­': '7',
+        'à©®': '8',
+        '੯': '9',
+        '੦': '0'
+    };
+
+    var paIn = moment.defineLocale('pa-in', {
+        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
+        months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+        monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+        weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
+        weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+        weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm ਵਜੇ',
+            LTS : 'A h:mm:ss ਵਜੇ',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
+        },
+        calendar : {
+            sameDay : '[ਅਜ] LT',
+            nextDay : '[ਕਲ] LT',
+            nextWeek : '[ਅਗਲਾ] dddd, LT',
+            lastDay : '[ਕਲ] LT',
+            lastWeek : '[ਪਿਛਲੇ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ਵਿੱਚ',
+            past : '%s ਪਿਛਲੇ',
+            s : 'ਕੁਝ ਸਕਿੰਟ',
+            ss : '%d ਸਕਿੰਟ',
+            m : 'ਇਕ ਮਿੰਟ',
+            mm : '%d ਮਿੰਟ',
+            h : 'ਇੱਕ ਘੰਟਾ',
+            hh : '%d ਘੰਟੇ',
+            d : 'ਇੱਕ ਦਿਨ',
+            dd : '%d ਦਿਨ',
+            M : 'ਇੱਕ ਮਹੀਨਾ',
+            MM : '%d ਮਹੀਨੇ',
+            y : 'ਇੱਕ ਸਾਲ',
+            yy : '%d ਸਾਲ'
+        },
+        preparse: function (string) {
+            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
+        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ਰਾਤ') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ਸਵੇਰ') {
+                return hour;
+            } else if (meridiem === 'ਦੁਪਹਿਰ') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'ਸ਼ਾਮ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ਰਾਤ';
+            } else if (hour < 10) {
+                return 'ਸਵੇਰ';
+            } else if (hour < 17) {
+                return 'ਦੁਪਹਿਰ';
+            } else if (hour < 20) {
+                return 'ਸ਼ਾਮ';
+            } else {
+                return 'ਰਾਤ';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return paIn;
+
+})));
diff --git a/public/bower_components/moment/locale/pl.js b/public/bower_components/moment/locale/pl.js
new file mode 100644
index 0000000..4c9c71a
--- /dev/null
+++ b/public/bower_components/moment/locale/pl.js
@@ -0,0 +1,125 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
+        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
+    function plural(n) {
+        return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
+    }
+    function translate(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                return result + (plural(number) ? 'sekundy' : 'sekund');
+            case 'm':
+                return withoutSuffix ? 'minuta' : 'minutÄ™';
+            case 'mm':
+                return result + (plural(number) ? 'minuty' : 'minut');
+            case 'h':
+                return withoutSuffix  ? 'godzina'  : 'godzinÄ™';
+            case 'hh':
+                return result + (plural(number) ? 'godziny' : 'godzin');
+            case 'MM':
+                return result + (plural(number) ? 'miesiące' : 'miesięcy');
+            case 'yy':
+                return result + (plural(number) ? 'lata' : 'lat');
+        }
+    }
+
+    var pl = moment.defineLocale('pl', {
+        months : function (momentToFormat, format) {
+            if (!momentToFormat) {
+                return monthsNominative;
+            } else if (format === '') {
+                // Hack: if format empty we know this is used to generate
+                // RegExp by moment. Give then back both valid forms of months
+                // in RegExp ready format.
+                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
+            } else if (/D MMMM/.test(format)) {
+                return monthsSubjective[momentToFormat.month()];
+            } else {
+                return monthsNominative[momentToFormat.month()];
+            }
+        },
+        monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
+        weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
+        weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
+        weekdaysMin : 'Nd_Pn_Wt_Åšr_Cz_Pt_So'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[DziÅ› o] LT',
+            nextDay: '[Jutro o] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[W niedzielÄ™ o] LT';
+
+                    case 2:
+                        return '[We wtorek o] LT';
+
+                    case 3:
+                        return '[W środę o] LT';
+
+                    case 6:
+                        return '[W sobotÄ™ o] LT';
+
+                    default:
+                        return '[W] dddd [o] LT';
+                }
+            },
+            lastDay: '[Wczoraj o] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[W zeszłą niedzielę o] LT';
+                    case 3:
+                        return '[W zeszłą środę o] LT';
+                    case 6:
+                        return '[W zeszłą sobotę o] LT';
+                    default:
+                        return '[W zeszły] dddd [o] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : '%s temu',
+            s : 'kilka sekund',
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : translate,
+            hh : translate,
+            d : '1 dzień',
+            dd : '%d dni',
+            M : 'miesiÄ…c',
+            MM : translate,
+            y : 'rok',
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return pl;
+
+})));
diff --git a/public/bower_components/moment/locale/pt-br.js b/public/bower_components/moment/locale/pt-br.js
new file mode 100644
index 0000000..6cad591
--- /dev/null
+++ b/public/bower_components/moment/locale/pt-br.js
@@ -0,0 +1,60 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ptBr = moment.defineLocale('pt-br', {
+        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hoje às] LT',
+            nextDay: '[Amanhã às] LT',
+            nextWeek: 'dddd [às] LT',
+            lastDay: '[Ontem às] LT',
+            lastWeek: function () {
+                return (this.day() === 0 || this.day() === 6) ?
+                    '[Último] dddd [às] LT' : // Saturday + Sunday
+                    '[Última] dddd [às] LT'; // Monday - Friday
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'em %s',
+            past : 'há %s',
+            s : 'poucos segundos',
+            ss : '%d segundos',
+            m : 'um minuto',
+            mm : '%d minutos',
+            h : 'uma hora',
+            hh : '%d horas',
+            d : 'um dia',
+            dd : '%d dias',
+            M : 'um mês',
+            MM : '%d meses',
+            y : 'um ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal : '%dº'
+    });
+
+    return ptBr;
+
+})));
diff --git a/public/bower_components/moment/locale/pt.js b/public/bower_components/moment/locale/pt.js
new file mode 100644
index 0000000..534f1c8
--- /dev/null
+++ b/public/bower_components/moment/locale/pt.js
@@ -0,0 +1,64 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var pt = moment.defineLocale('pt', {
+        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY HH:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hoje às] LT',
+            nextDay: '[Amanhã às] LT',
+            nextWeek: 'dddd [às] LT',
+            lastDay: '[Ontem às] LT',
+            lastWeek: function () {
+                return (this.day() === 0 || this.day() === 6) ?
+                    '[Último] dddd [às] LT' : // Saturday + Sunday
+                    '[Última] dddd [às] LT'; // Monday - Friday
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'em %s',
+            past : 'há %s',
+            s : 'segundos',
+            ss : '%d segundos',
+            m : 'um minuto',
+            mm : '%d minutos',
+            h : 'uma hora',
+            hh : '%d horas',
+            d : 'um dia',
+            dd : '%d dias',
+            M : 'um mês',
+            MM : '%d meses',
+            y : 'um ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return pt;
+
+})));
diff --git a/public/bower_components/moment/locale/ro.js b/public/bower_components/moment/locale/ro.js
new file mode 100644
index 0000000..15bea09
--- /dev/null
+++ b/public/bower_components/moment/locale/ro.js
@@ -0,0 +1,74 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        var format = {
+                'ss': 'secunde',
+                'mm': 'minute',
+                'hh': 'ore',
+                'dd': 'zile',
+                'MM': 'luni',
+                'yy': 'ani'
+            },
+            separator = ' ';
+        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
+            separator = ' de ';
+        }
+        return number + separator + format[key];
+    }
+
+    var ro = moment.defineLocale('ro', {
+        months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
+        monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
+        weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
+        weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay: '[azi la] LT',
+            nextDay: '[mâine la] LT',
+            nextWeek: 'dddd [la] LT',
+            lastDay: '[ieri la] LT',
+            lastWeek: '[fosta] dddd [la] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'peste %s',
+            past : '%s în urmă',
+            s : 'câteva secunde',
+            ss : relativeTimeWithPlural,
+            m : 'un minut',
+            mm : relativeTimeWithPlural,
+            h : 'o oră',
+            hh : relativeTimeWithPlural,
+            d : 'o zi',
+            dd : relativeTimeWithPlural,
+            M : 'o lună',
+            MM : relativeTimeWithPlural,
+            y : 'un an',
+            yy : relativeTimeWithPlural
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return ro;
+
+})));
diff --git a/public/bower_components/moment/locale/ru.js b/public/bower_components/moment/locale/ru.js
new file mode 100644
index 0000000..7afb7b5
--- /dev/null
+++ b/public/bower_components/moment/locale/ru.js
@@ -0,0 +1,181 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function plural(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
+            'hh': 'час_часа_часов',
+            'dd': 'день_дня_дней',
+            'MM': 'месяц_месяца_месяцев',
+            'yy': 'год_года_лет'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'минута' : 'минуту';
+        }
+        else {
+            return number + ' ' + plural(format[key], +number);
+        }
+    }
+    var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
+
+    // http://new.gramota.ru/spravka/rules/139-prop : § 103
+    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
+    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
+    var ru = moment.defineLocale('ru', {
+        months : {
+            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
+            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
+        },
+        monthsShort : {
+            // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
+            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
+            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
+        },
+        weekdays : {
+            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
+            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
+            isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
+        },
+        weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+        weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+
+        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
+        monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+        // копия предыдущего
+        monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+        // полные названия с падежами
+        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
+
+        // Выражение, которое соотвествует только сокращённым формам
+        monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY г.',
+            LLL : 'D MMMM YYYY г., H:mm',
+            LLLL : 'dddd, D MMMM YYYY г., H:mm'
+        },
+        calendar : {
+            sameDay: '[Сегодня, в] LT',
+            nextDay: '[Завтра, в] LT',
+            lastDay: '[Вчера, в] LT',
+            nextWeek: function (now) {
+                if (now.week() !== this.week()) {
+                    switch (this.day()) {
+                        case 0:
+                            return '[В следующее] dddd, [в] LT';
+                        case 1:
+                        case 2:
+                        case 4:
+                            return '[В следующий] dddd, [в] LT';
+                        case 3:
+                        case 5:
+                        case 6:
+                            return '[В следующую] dddd, [в] LT';
+                    }
+                } else {
+                    if (this.day() === 2) {
+                        return '[Во] dddd, [в] LT';
+                    } else {
+                        return '[В] dddd, [в] LT';
+                    }
+                }
+            },
+            lastWeek: function (now) {
+                if (now.week() !== this.week()) {
+                    switch (this.day()) {
+                        case 0:
+                            return '[В прошлое] dddd, [в] LT';
+                        case 1:
+                        case 2:
+                        case 4:
+                            return '[В прошлый] dddd, [в] LT';
+                        case 3:
+                        case 5:
+                        case 6:
+                            return '[В прошлую] dddd, [в] LT';
+                    }
+                } else {
+                    if (this.day() === 2) {
+                        return '[Во] dddd, [в] LT';
+                    } else {
+                        return '[В] dddd, [в] LT';
+                    }
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'через %s',
+            past : '%s назад',
+            s : 'несколько секунд',
+            ss : relativeTimeWithPlural,
+            m : relativeTimeWithPlural,
+            mm : relativeTimeWithPlural,
+            h : 'час',
+            hh : relativeTimeWithPlural,
+            d : 'день',
+            dd : relativeTimeWithPlural,
+            M : 'месяц',
+            MM : relativeTimeWithPlural,
+            y : 'год',
+            yy : relativeTimeWithPlural
+        },
+        meridiemParse: /ночи|утра|дня|вечера/i,
+        isPM : function (input) {
+            return /^(дня|вечера)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночи';
+            } else if (hour < 12) {
+                return 'утра';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечера';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                    return number + '-й';
+                case 'D':
+                    return number + '-го';
+                case 'w':
+                case 'W':
+                    return number + '-я';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return ru;
+
+})));
diff --git a/public/bower_components/moment/locale/sd.js b/public/bower_components/moment/locale/sd.js
new file mode 100644
index 0000000..1299238
--- /dev/null
+++ b/public/bower_components/moment/locale/sd.js
@@ -0,0 +1,97 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var months = [
+        'جنوري',
+        'فيبروري',
+        'مارچ',
+        'اپريل',
+        'مئي',
+        'جون',
+        'جولاءِ',
+        'آگسٽ',
+        'سيپٽمبر',
+        'آڪٽوبر',
+        'نومبر',
+        'ڊسمبر'
+    ];
+    var days = [
+        'آچر',
+        'سومر',
+        'اڱارو',
+        'اربع',
+        'خميس',
+        'جمع',
+        'ڇنڇر'
+    ];
+
+    var sd = moment.defineLocale('sd', {
+        months : months,
+        monthsShort : months,
+        weekdays : days,
+        weekdaysShort : days,
+        weekdaysMin : days,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd، D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /صبح|شام/,
+        isPM : function (input) {
+            return 'شام' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'صبح';
+            }
+            return 'شام';
+        },
+        calendar : {
+            sameDay : '[اڄ] LT',
+            nextDay : '[سڀاڻي] LT',
+            nextWeek : 'dddd [اڳين هفتي تي] LT',
+            lastDay : '[ڪالهه] LT',
+            lastWeek : '[گزريل هفتي] dddd [تي] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s پوء',
+            past : '%s اڳ',
+            s : 'چند سيڪنڊ',
+            ss : '%d سيڪنڊ',
+            m : 'هڪ منٽ',
+            mm : '%d منٽ',
+            h : 'هڪ ڪلاڪ',
+            hh : '%d ڪلاڪ',
+            d : 'هڪ ڏينهن',
+            dd : '%d ڏينهن',
+            M : 'هڪ مهينو',
+            MM : '%d مهينا',
+            y : 'هڪ سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return sd;
+
+})));
diff --git a/public/bower_components/moment/locale/se.js b/public/bower_components/moment/locale/se.js
new file mode 100644
index 0000000..4b04678
--- /dev/null
+++ b/public/bower_components/moment/locale/se.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var se = moment.defineLocale('se', {
+        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('_'),
+        monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
+        weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
+        weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
+        weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'MMMM D. [b.] YYYY',
+            LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
+            LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[otne ti] LT',
+            nextDay: '[ihttin ti] LT',
+            nextWeek: 'dddd [ti] LT',
+            lastDay: '[ikte ti] LT',
+            lastWeek: '[ovddit] dddd [ti] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s geažes',
+            past : 'maŋit %s',
+            s : 'moadde sekunddat',
+            ss: '%d sekunddat',
+            m : 'okta minuhta',
+            mm : '%d minuhtat',
+            h : 'okta diimmu',
+            hh : '%d diimmut',
+            d : 'okta beaivi',
+            dd : '%d beaivvit',
+            M : 'okta mánnu',
+            MM : '%d mánut',
+            y : 'okta jahki',
+            yy : '%d jagit'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return se;
+
+})));
diff --git a/public/bower_components/moment/locale/si.js b/public/bower_components/moment/locale/si.js
new file mode 100644
index 0000000..52dc608
--- /dev/null
+++ b/public/bower_components/moment/locale/si.js
@@ -0,0 +1,70 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    /*jshint -W100*/
+    var si = moment.defineLocale('si', {
+        months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
+        monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
+        weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
+        weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
+        weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'a h:mm',
+            LTS : 'a h:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY MMMM D',
+            LLL : 'YYYY MMMM D, a h:mm',
+            LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
+        },
+        calendar : {
+            sameDay : '[අද] LT[ට]',
+            nextDay : '[හෙට] LT[ට]',
+            nextWeek : 'dddd LT[à¶§]',
+            lastDay : '[ඊයේ] LT[ට]',
+            lastWeek : '[පසුගිය] dddd LT[ට]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%sකින්',
+            past : '%sකට පෙර',
+            s : 'තත්පර කිහිපය',
+            ss : 'à¶­à¶­à·Šà¶´à¶» %d',
+            m : 'මිනිත්තුව',
+            mm : 'මිනිත්තු %d',
+            h : 'පැය',
+            hh : 'පැය %d',
+            d : 'දිනය',
+            dd : 'දින %d',
+            M : 'මාසය',
+            MM : 'මාස %d',
+            y : 'වසර',
+            yy : 'වසර %d'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
+        ordinal : function (number) {
+            return number + ' වැනි';
+        },
+        meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
+        isPM : function (input) {
+            return input === 'ප.ව.' || input === 'පස් වරු';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'ප.ව.' : 'පස් වරු';
+            } else {
+                return isLower ? 'පෙ.ව.' : 'පෙර වරු';
+            }
+        }
+    });
+
+    return si;
+
+})));
diff --git a/public/bower_components/moment/locale/sk.js b/public/bower_components/moment/locale/sk.js
new file mode 100644
index 0000000..6938f95
--- /dev/null
+++ b/public/bower_components/moment/locale/sk.js
@@ -0,0 +1,155 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
+        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
+    function plural(n) {
+        return (n > 1) && (n < 5);
+    }
+    function translate(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':  // a few seconds / in a few seconds / a few seconds ago
+                return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
+            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'sekundy' : 'sekúnd');
+                } else {
+                    return result + 'sekundami';
+                }
+                break;
+            case 'm':  // a minute / in a minute / a minute ago
+                return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
+            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'minúty' : 'minút');
+                } else {
+                    return result + 'minútami';
+                }
+                break;
+            case 'h':  // an hour / in an hour / an hour ago
+                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+            case 'hh': // 9 hours / in 9 hours / 9 hours ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'hodiny' : 'hodín');
+                } else {
+                    return result + 'hodinami';
+                }
+                break;
+            case 'd':  // a day / in a day / a day ago
+                return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
+            case 'dd': // 9 days / in 9 days / 9 days ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'dni' : 'dní');
+                } else {
+                    return result + 'dňami';
+                }
+                break;
+            case 'M':  // a month / in a month / a month ago
+                return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
+            case 'MM': // 9 months / in 9 months / 9 months ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'mesiace' : 'mesiacov');
+                } else {
+                    return result + 'mesiacmi';
+                }
+                break;
+            case 'y':  // a year / in a year / a year ago
+                return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
+            case 'yy': // 9 years / in 9 years / 9 years ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural(number) ? 'roky' : 'rokov');
+                } else {
+                    return result + 'rokmi';
+                }
+                break;
+        }
+    }
+
+    var sk = moment.defineLocale('sk', {
+        months : months,
+        monthsShort : monthsShort,
+        weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
+        weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
+        weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
+        longDateFormat : {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay: '[dnes o] LT',
+            nextDay: '[zajtra o] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v nedeľu o] LT';
+                    case 1:
+                    case 2:
+                        return '[v] dddd [o] LT';
+                    case 3:
+                        return '[v stredu o] LT';
+                    case 4:
+                        return '[vo štvrtok o] LT';
+                    case 5:
+                        return '[v piatok o] LT';
+                    case 6:
+                        return '[v sobotu o] LT';
+                }
+            },
+            lastDay: '[včera o] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[minulú nedeľu o] LT';
+                    case 1:
+                    case 2:
+                        return '[minulý] dddd [o] LT';
+                    case 3:
+                        return '[minulú stredu o] LT';
+                    case 4:
+                    case 5:
+                        return '[minulý] dddd [o] LT';
+                    case 6:
+                        return '[minulú sobotu o] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : 'pred %s',
+            s : translate,
+            ss : translate,
+            m : translate,
+            mm : translate,
+            h : translate,
+            hh : translate,
+            d : translate,
+            dd : translate,
+            M : translate,
+            MM : translate,
+            y : translate,
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return sk;
+
+})));
diff --git a/public/bower_components/moment/locale/sl.js b/public/bower_components/moment/locale/sl.js
new file mode 100644
index 0000000..ecdd0cb
--- /dev/null
+++ b/public/bower_components/moment/locale/sl.js
@@ -0,0 +1,172 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':
+                return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
+            case 'ss':
+                if (number === 1) {
+                    result += withoutSuffix ? 'sekundo' : 'sekundi';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
+                } else {
+                    result += 'sekund';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'ena minuta' : 'eno minuto';
+            case 'mm':
+                if (number === 1) {
+                    result += withoutSuffix ? 'minuta' : 'minuto';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';
+                } else {
+                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'ena ura' : 'eno uro';
+            case 'hh':
+                if (number === 1) {
+                    result += withoutSuffix ? 'ura' : 'uro';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'uri' : 'urama';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'ure' : 'urami';
+                } else {
+                    result += withoutSuffix || isFuture ? 'ur' : 'urami';
+                }
+                return result;
+            case 'd':
+                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
+            case 'dd':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
+                } else {
+                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
+                }
+                return result;
+            case 'M':
+                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
+            case 'MM':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
+                } else {
+                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
+                }
+                return result;
+            case 'y':
+                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
+            case 'yy':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'leto' : 'letom';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'leta' : 'leti';
+                } else {
+                    result += withoutSuffix || isFuture ? 'let' : 'leti';
+                }
+                return result;
+        }
+    }
+
+    var sl = moment.defineLocale('sl', {
+        months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
+        weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
+        weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danes ob] LT',
+            nextDay  : '[jutri ob] LT',
+
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v] [nedeljo] [ob] LT';
+                    case 3:
+                        return '[v] [sredo] [ob] LT';
+                    case 6:
+                        return '[v] [soboto] [ob] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[v] dddd [ob] LT';
+                }
+            },
+            lastDay  : '[včeraj ob] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[prejšnjo] [nedeljo] [ob] LT';
+                    case 3:
+                        return '[prejšnjo] [sredo] [ob] LT';
+                    case 6:
+                        return '[prejšnjo] [soboto] [ob] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prejšnji] dddd [ob] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'čez %s',
+            past   : 'pred %s',
+            s      : processRelativeTime,
+            ss     : processRelativeTime,
+            m      : processRelativeTime,
+            mm     : processRelativeTime,
+            h      : processRelativeTime,
+            hh     : processRelativeTime,
+            d      : processRelativeTime,
+            dd     : processRelativeTime,
+            M      : processRelativeTime,
+            MM     : processRelativeTime,
+            y      : processRelativeTime,
+            yy     : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return sl;
+
+})));
diff --git a/public/bower_components/moment/locale/sq.js b/public/bower_components/moment/locale/sq.js
new file mode 100644
index 0000000..eb081df
--- /dev/null
+++ b/public/bower_components/moment/locale/sq.js
@@ -0,0 +1,67 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var sq = moment.defineLocale('sq', {
+        months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
+        monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
+        weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
+        weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
+        weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
+        weekdaysParseExact : true,
+        meridiemParse: /PD|MD/,
+        isPM: function (input) {
+            return input.charAt(0) === 'M';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            return hours < 12 ? 'PD' : 'MD';
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Sot në] LT',
+            nextDay : '[Nesër në] LT',
+            nextWeek : 'dddd [në] LT',
+            lastDay : '[Dje në] LT',
+            lastWeek : 'dddd [e kaluar në] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'në %s',
+            past : '%s më parë',
+            s : 'disa sekonda',
+            ss : '%d sekonda',
+            m : 'një minutë',
+            mm : '%d minuta',
+            h : 'një orë',
+            hh : '%d orë',
+            d : 'një ditë',
+            dd : '%d ditë',
+            M : 'një muaj',
+            MM : '%d muaj',
+            y : 'një vit',
+            yy : '%d vite'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return sq;
+
+})));
diff --git a/public/bower_components/moment/locale/sr-cyrl.js b/public/bower_components/moment/locale/sr-cyrl.js
new file mode 100644
index 0000000..e22a22f
--- /dev/null
+++ b/public/bower_components/moment/locale/sr-cyrl.js
@@ -0,0 +1,110 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var translator = {
+        words: { //Different grammatical cases
+            ss: ['секунда', 'секунде', 'секунди'],
+            m: ['један минут', 'једне минуте'],
+            mm: ['минут', 'минуте', 'минута'],
+            h: ['један сат', 'једног сата'],
+            hh: ['сат', 'сата', 'сати'],
+            dd: ['дан', 'дана', 'дана'],
+            MM: ['месец', 'месеца', 'месеци'],
+            yy: ['година', 'године', 'година']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    var srCyrl = moment.defineLocale('sr-cyrl', {
+        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
+        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
+        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
+        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[данас у] LT',
+            nextDay: '[сутра у] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[у] [недељу] [у] LT';
+                    case 3:
+                        return '[у] [среду] [у] LT';
+                    case 6:
+                        return '[у] [суботу] [у] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[у] dddd [у] LT';
+                }
+            },
+            lastDay  : '[јуче у] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[прошле] [недеље] [у] LT',
+                    '[прошлог] [понедељка] [у] LT',
+                    '[прошлог] [уторка] [у] LT',
+                    '[прошле] [среде] [у] LT',
+                    '[прошлог] [четвртка] [у] LT',
+                    '[прошлог] [петка] [у] LT',
+                    '[прошле] [суботе] [у] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'за %s',
+            past   : 'пре %s',
+            s      : 'неколико секунди',
+            ss     : translator.translate,
+            m      : translator.translate,
+            mm     : translator.translate,
+            h      : translator.translate,
+            hh     : translator.translate,
+            d      : 'дан',
+            dd     : translator.translate,
+            M      : 'месец',
+            MM     : translator.translate,
+            y      : 'годину',
+            yy     : translator.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return srCyrl;
+
+})));
diff --git a/public/bower_components/moment/locale/sr.js b/public/bower_components/moment/locale/sr.js
new file mode 100644
index 0000000..cb0b7ec
--- /dev/null
+++ b/public/bower_components/moment/locale/sr.js
@@ -0,0 +1,110 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var translator = {
+        words: { //Different grammatical cases
+            ss: ['sekunda', 'sekunde', 'sekundi'],
+            m: ['jedan minut', 'jedne minute'],
+            mm: ['minut', 'minute', 'minuta'],
+            h: ['jedan sat', 'jednog sata'],
+            hh: ['sat', 'sata', 'sati'],
+            dd: ['dan', 'dana', 'dana'],
+            MM: ['mesec', 'meseca', 'meseci'],
+            yy: ['godina', 'godine', 'godina']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    var sr = moment.defineLocale('sr', {
+        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
+        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[danas u] LT',
+            nextDay: '[sutra u] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedelju] [u] LT';
+                    case 3:
+                        return '[u] [sredu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[juče u] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[prošle] [nedelje] [u] LT',
+                    '[prošlog] [ponedeljka] [u] LT',
+                    '[prošlog] [utorka] [u] LT',
+                    '[prošle] [srede] [u] LT',
+                    '[prošlog] [četvrtka] [u] LT',
+                    '[prošlog] [petka] [u] LT',
+                    '[prošle] [subote] [u] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'pre %s',
+            s      : 'nekoliko sekundi',
+            ss     : translator.translate,
+            m      : translator.translate,
+            mm     : translator.translate,
+            h      : translator.translate,
+            hh     : translator.translate,
+            d      : 'dan',
+            dd     : translator.translate,
+            M      : 'mesec',
+            MM     : translator.translate,
+            y      : 'godinu',
+            yy     : translator.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return sr;
+
+})));
diff --git a/public/bower_components/moment/locale/ss.js b/public/bower_components/moment/locale/ss.js
new file mode 100644
index 0000000..a401149
--- /dev/null
+++ b/public/bower_components/moment/locale/ss.js
@@ -0,0 +1,87 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ss = moment.defineLocale('ss', {
+        months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
+        monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
+        weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
+        weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
+        weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Namuhla nga] LT',
+            nextDay : '[Kusasa nga] LT',
+            nextWeek : 'dddd [nga] LT',
+            lastDay : '[Itolo nga] LT',
+            lastWeek : 'dddd [leliphelile] [nga] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'nga %s',
+            past : 'wenteka nga %s',
+            s : 'emizuzwana lomcane',
+            ss : '%d mzuzwana',
+            m : 'umzuzu',
+            mm : '%d emizuzu',
+            h : 'lihora',
+            hh : '%d emahora',
+            d : 'lilanga',
+            dd : '%d emalanga',
+            M : 'inyanga',
+            MM : '%d tinyanga',
+            y : 'umnyaka',
+            yy : '%d iminyaka'
+        },
+        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'ekuseni';
+            } else if (hours < 15) {
+                return 'emini';
+            } else if (hours < 19) {
+                return 'entsambama';
+            } else {
+                return 'ebusuku';
+            }
+        },
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ekuseni') {
+                return hour;
+            } else if (meridiem === 'emini') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
+                if (hour === 0) {
+                    return 0;
+                }
+                return hour + 12;
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : '%d',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return ss;
+
+})));
diff --git a/public/bower_components/moment/locale/sv.js b/public/bower_components/moment/locale/sv.js
new file mode 100644
index 0000000..494fedb
--- /dev/null
+++ b/public/bower_components/moment/locale/sv.js
@@ -0,0 +1,68 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var sv = moment.defineLocale('sv', {
+        months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
+        weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
+        weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [kl.] HH:mm',
+            LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Idag] LT',
+            nextDay: '[Imorgon] LT',
+            lastDay: '[Igår] LT',
+            nextWeek: '[PÃ¥] dddd LT',
+            lastWeek: '[I] dddd[s] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : 'för %s sedan',
+            s : 'några sekunder',
+            ss : '%d sekunder',
+            m : 'en minut',
+            mm : '%d minuter',
+            h : 'en timme',
+            hh : '%d timmar',
+            d : 'en dag',
+            dd : '%d dagar',
+            M : 'en månad',
+            MM : '%d månader',
+            y : 'ett år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'e' :
+                (b === 1) ? 'a' :
+                (b === 2) ? 'a' :
+                (b === 3) ? 'e' : 'e';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return sv;
+
+})));
diff --git a/public/bower_components/moment/locale/sw.js b/public/bower_components/moment/locale/sw.js
new file mode 100644
index 0000000..2c066b6
--- /dev/null
+++ b/public/bower_components/moment/locale/sw.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var sw = moment.defineLocale('sw', {
+        months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
+        weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
+        weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[leo saa] LT',
+            nextDay : '[kesho saa] LT',
+            nextWeek : '[wiki ijayo] dddd [saat] LT',
+            lastDay : '[jana] LT',
+            lastWeek : '[wiki iliyopita] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s baadaye',
+            past : 'tokea %s',
+            s : 'hivi punde',
+            ss : 'sekunde %d',
+            m : 'dakika moja',
+            mm : 'dakika %d',
+            h : 'saa limoja',
+            hh : 'masaa %d',
+            d : 'siku moja',
+            dd : 'masiku %d',
+            M : 'mwezi mmoja',
+            MM : 'miezi %d',
+            y : 'mwaka mmoja',
+            yy : 'miaka %d'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return sw;
+
+})));
diff --git a/public/bower_components/moment/locale/ta.js b/public/bower_components/moment/locale/ta.js
new file mode 100644
index 0000000..f7a87d7
--- /dev/null
+++ b/public/bower_components/moment/locale/ta.js
@@ -0,0 +1,128 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var symbolMap = {
+        '1': '௧',
+        '2': '௨',
+        '3': '௩',
+        '4': '௪',
+        '5': '௫',
+        '6': '௬',
+        '7': '௭',
+        '8': '௮',
+        '9': '௯',
+        '0': '௦'
+    }, numberMap = {
+        '௧': '1',
+        '௨': '2',
+        '௩': '3',
+        '௪': '4',
+        '௫': '5',
+        '௬': '6',
+        '௭': '7',
+        '௮': '8',
+        '௯': '9',
+        '௦': '0'
+    };
+
+    var ta = moment.defineLocale('ta', {
+        months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+        monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+        weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
+        weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
+        weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, HH:mm',
+            LLLL : 'dddd, D MMMM YYYY, HH:mm'
+        },
+        calendar : {
+            sameDay : '[இன்று] LT',
+            nextDay : '[நாளை] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[நேற்று] LT',
+            lastWeek : '[கடந்த வாரம்] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s இல்',
+            past : '%s முன்',
+            s : 'ஒரு சில விநாடிகள்',
+            ss : '%d விநாடிகள்',
+            m : 'ஒரு நிமிடம்',
+            mm : '%d நிமிடங்கள்',
+            h : 'ஒரு மணி நேரம்',
+            hh : '%d மணி நேரம்',
+            d : 'ஒரு நாள்',
+            dd : '%d நாட்கள்',
+            M : 'ஒரு மாதம்',
+            MM : '%d மாதங்கள்',
+            y : 'ஒரு வருடம்',
+            yy : '%d ஆண்டுகள்'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}வது/,
+        ordinal : function (number) {
+            return number + 'வது';
+        },
+        preparse: function (string) {
+            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
+                return numberMap[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            });
+        },
+        // refer http://ta.wikipedia.org/s/1er1
+        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 2) {
+                return ' யாமம்';
+            } else if (hour < 6) {
+                return ' வைகறை';  // வைகறை
+            } else if (hour < 10) {
+                return ' காலை'; // காலை
+            } else if (hour < 14) {
+                return ' நண்பகல்'; // நண்பகல்
+            } else if (hour < 18) {
+                return ' எற்பாடு'; // எற்பாடு
+            } else if (hour < 22) {
+                return ' மாலை'; // மாலை
+            } else {
+                return ' யாமம்';
+            }
+        },
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'யாமம்') {
+                return hour < 2 ? hour : hour + 12;
+            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
+                return hour;
+            } else if (meridiem === 'நண்பகல்') {
+                return hour >= 10 ? hour : hour + 12;
+            } else {
+                return hour + 12;
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return ta;
+
+})));
diff --git a/public/bower_components/moment/locale/te.js b/public/bower_components/moment/locale/te.js
new file mode 100644
index 0000000..abb40bf
--- /dev/null
+++ b/public/bower_components/moment/locale/te.js
@@ -0,0 +1,88 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var te = moment.defineLocale('te', {
+        months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
+        monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
+        weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
+        weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[నేడు] LT',
+            nextDay : '[రేపు] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[నిన్న] LT',
+            lastWeek : '[à°—à°¤] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s లో',
+            past : '%s క్రితం',
+            s : 'కొన్ని క్షణాలు',
+            ss : '%d సెకన్లు',
+            m : 'ఒక నిమిషం',
+            mm : '%d నిమిషాలు',
+            h : 'à°’à°• à°—à°‚à°Ÿ',
+            hh : '%d గంటలు',
+            d : 'ఒక రోజు',
+            dd : '%d రోజులు',
+            M : 'ఒక నెల',
+            MM : '%d నెలలు',
+            y : 'ఒక సంవత్సరం',
+            yy : '%d సంవత్సరాలు'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}à°µ/,
+        ordinal : '%dà°µ',
+        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'రాత్రి') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ఉదయం') {
+                return hour;
+            } else if (meridiem === 'మధ్యాహ్నం') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'సాయంత్రం') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'రాత్రి';
+            } else if (hour < 10) {
+                return 'ఉదయం';
+            } else if (hour < 17) {
+                return 'మధ్యాహ్నం';
+            } else if (hour < 20) {
+                return 'సాయంత్రం';
+            } else {
+                return 'రాత్రి';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    return te;
+
+})));
diff --git a/public/bower_components/moment/locale/tet.js b/public/bower_components/moment/locale/tet.js
new file mode 100644
index 0000000..efa53da
--- /dev/null
+++ b/public/bower_components/moment/locale/tet.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var tet = moment.defineLocale('tet', {
+        months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
+        weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Ohin iha] LT',
+            nextDay: '[Aban iha] LT',
+            nextWeek: 'dddd [iha] LT',
+            lastDay: '[Horiseik iha] LT',
+            lastWeek: 'dddd [semana kotuk] [iha] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'iha %s',
+            past : '%s liuba',
+            s : 'minutu balun',
+            ss : 'minutu %d',
+            m : 'minutu ida',
+            mm : 'minutu %d',
+            h : 'oras ida',
+            hh : 'oras %d',
+            d : 'loron ida',
+            dd : 'loron %d',
+            M : 'fulan ida',
+            MM : 'fulan %d',
+            y : 'tinan ida',
+            yy : 'tinan %d'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return tet;
+
+})));
diff --git a/public/bower_components/moment/locale/tg.js b/public/bower_components/moment/locale/tg.js
new file mode 100644
index 0000000..c283368
--- /dev/null
+++ b/public/bower_components/moment/locale/tg.js
@@ -0,0 +1,115 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var suffixes = {
+        0: '-ум',
+        1: '-ум',
+        2: '-юм',
+        3: '-юм',
+        4: '-ум',
+        5: '-ум',
+        6: '-ум',
+        7: '-ум',
+        8: '-ум',
+        9: '-ум',
+        10: '-ум',
+        12: '-ум',
+        13: '-ум',
+        20: '-ум',
+        30: '-юм',
+        40: '-ум',
+        50: '-ум',
+        60: '-ум',
+        70: '-ум',
+        80: '-ум',
+        90: '-ум',
+        100: '-ум'
+    };
+
+    var tg = moment.defineLocale('tg', {
+        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
+        weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
+        weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Имрӯз соати] LT',
+            nextDay : '[Пагоҳ соати] LT',
+            lastDay : '[Дирӯз соати] LT',
+            nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',
+            lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'баъди %s',
+            past : '%s пеш',
+            s : 'якчанд сония',
+            m : 'як дақиқа',
+            mm : '%d дақиқа',
+            h : 'як соат',
+            hh : '%d соат',
+            d : 'як рӯз',
+            dd : '%d рӯз',
+            M : 'як моҳ',
+            MM : '%d моҳ',
+            y : 'як сол',
+            yy : '%d сол'
+        },
+        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'шаб') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'субҳ') {
+                return hour;
+            } else if (meridiem === 'рӯз') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'бегоҳ') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'шаб';
+            } else if (hour < 11) {
+                return 'субҳ';
+            } else if (hour < 16) {
+                return 'рӯз';
+            } else if (hour < 19) {
+                return 'бегоҳ';
+            } else {
+                return 'шаб';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
+        ordinal: function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 1th is the first week of the year.
+        }
+    });
+
+    return tg;
+
+})));
diff --git a/public/bower_components/moment/locale/th.js b/public/bower_components/moment/locale/th.js
new file mode 100644
index 0000000..87489a4
--- /dev/null
+++ b/public/bower_components/moment/locale/th.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var th = moment.defineLocale('th', {
+        months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
+        monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
+        weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
+        weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY เวลา H:mm',
+            LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
+        },
+        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
+        isPM: function (input) {
+            return input === 'หลังเที่ยง';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ก่อนเที่ยง';
+            } else {
+                return 'หลังเที่ยง';
+            }
+        },
+        calendar : {
+            sameDay : '[วันนี้ เวลา] LT',
+            nextDay : '[พรุ่งนี้ เวลา] LT',
+            nextWeek : 'dddd[หน้า เวลา] LT',
+            lastDay : '[เมื่อวานนี้ เวลา] LT',
+            lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'อีก %s',
+            past : '%sที่แล้ว',
+            s : 'ไม่กี่วินาที',
+            ss : '%d วินาที',
+            m : '1 นาที',
+            mm : '%d นาที',
+            h : '1 ชั่วโมง',
+            hh : '%d ชั่วโมง',
+            d : '1 วัน',
+            dd : '%d วัน',
+            M : '1 เดือน',
+            MM : '%d เดือน',
+            y : '1 ปี',
+            yy : '%d ปี'
+        }
+    });
+
+    return th;
+
+})));
diff --git a/public/bower_components/moment/locale/tl-ph.js b/public/bower_components/moment/locale/tl-ph.js
new file mode 100644
index 0000000..3f7e45e
--- /dev/null
+++ b/public/bower_components/moment/locale/tl-ph.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var tlPh = moment.defineLocale('tl-ph', {
+        months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
+        monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+        weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
+        weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+        weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'MM/D/YYYY',
+            LL : 'MMMM D, YYYY',
+            LLL : 'MMMM D, YYYY HH:mm',
+            LLLL : 'dddd, MMMM DD, YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: 'LT [ngayong araw]',
+            nextDay: '[Bukas ng] LT',
+            nextWeek: 'LT [sa susunod na] dddd',
+            lastDay: 'LT [kahapon]',
+            lastWeek: 'LT [noong nakaraang] dddd',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'sa loob ng %s',
+            past : '%s ang nakalipas',
+            s : 'ilang segundo',
+            ss : '%d segundo',
+            m : 'isang minuto',
+            mm : '%d minuto',
+            h : 'isang oras',
+            hh : '%d oras',
+            d : 'isang araw',
+            dd : '%d araw',
+            M : 'isang buwan',
+            MM : '%d buwan',
+            y : 'isang taon',
+            yy : '%d taon'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : function (number) {
+            return number;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return tlPh;
+
+})));
diff --git a/public/bower_components/moment/locale/tlh.js b/public/bower_components/moment/locale/tlh.js
new file mode 100644
index 0000000..7ea953b
--- /dev/null
+++ b/public/bower_components/moment/locale/tlh.js
@@ -0,0 +1,121 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
+
+    function translateFuture(output) {
+        var time = output;
+        time = (output.indexOf('jaj') !== -1) ?
+        time.slice(0, -3) + 'leS' :
+        (output.indexOf('jar') !== -1) ?
+        time.slice(0, -3) + 'waQ' :
+        (output.indexOf('DIS') !== -1) ?
+        time.slice(0, -3) + 'nem' :
+        time + ' pIq';
+        return time;
+    }
+
+    function translatePast(output) {
+        var time = output;
+        time = (output.indexOf('jaj') !== -1) ?
+        time.slice(0, -3) + 'Hu’' :
+        (output.indexOf('jar') !== -1) ?
+        time.slice(0, -3) + 'wen' :
+        (output.indexOf('DIS') !== -1) ?
+        time.slice(0, -3) + 'ben' :
+        time + ' ret';
+        return time;
+    }
+
+    function translate(number, withoutSuffix, string, isFuture) {
+        var numberNoun = numberAsNoun(number);
+        switch (string) {
+            case 'ss':
+                return numberNoun + ' lup';
+            case 'mm':
+                return numberNoun + ' tup';
+            case 'hh':
+                return numberNoun + ' rep';
+            case 'dd':
+                return numberNoun + ' jaj';
+            case 'MM':
+                return numberNoun + ' jar';
+            case 'yy':
+                return numberNoun + ' DIS';
+        }
+    }
+
+    function numberAsNoun(number) {
+        var hundred = Math.floor((number % 1000) / 100),
+        ten = Math.floor((number % 100) / 10),
+        one = number % 10,
+        word = '';
+        if (hundred > 0) {
+            word += numbersNouns[hundred] + 'vatlh';
+        }
+        if (ten > 0) {
+            word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
+        }
+        if (one > 0) {
+            word += ((word !== '') ? ' ' : '') + numbersNouns[one];
+        }
+        return (word === '') ? 'pagh' : word;
+    }
+
+    var tlh = moment.defineLocale('tlh', {
+        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('_'),
+        monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[DaHjaj] LT',
+            nextDay: '[wa’leS] LT',
+            nextWeek: 'LLL',
+            lastDay: '[wa’Hu’] LT',
+            lastWeek: 'LLL',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : translateFuture,
+            past : translatePast,
+            s : 'puS lup',
+            ss : translate,
+            m : 'wa’ tup',
+            mm : translate,
+            h : 'wa’ rep',
+            hh : translate,
+            d : 'wa’ jaj',
+            dd : translate,
+            M : 'wa’ jar',
+            MM : translate,
+            y : 'wa’ DIS',
+            yy : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return tlh;
+
+})));
diff --git a/public/bower_components/moment/locale/tr.js b/public/bower_components/moment/locale/tr.js
new file mode 100644
index 0000000..e3fa275
--- /dev/null
+++ b/public/bower_components/moment/locale/tr.js
@@ -0,0 +1,93 @@
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    var suffixes = {
+        1: '\'inci',
+        5: '\'inci',
+        8: '\'inci',
+        70: '\'inci',
+        80: '\'inci',
+        2: '\'nci',
+        7: '\'nci',
+        20: '\'nci',
+        50: '\'nci',
+        3: '\'üncü',
+        4: '\'üncü',
+        100: '\'üncü',
+        6: '\'ncı',
+        9: '\'uncu',
+        10: '\'uncu',
+        30: '\'uncu',
+        60: '\'ıncı',
+        90: '\'ıncı'
+    };
+
+    var tr = moment.defineLocale('tr', {
+        months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
+        monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'),
+        weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
+        weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
+        weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[bugün saat] LT',
+            nextDay : '[yarın saat] LT',
+            nextWeek : '[gelecek] dddd [saat] LT',
+            lastDay : '[dün] LT',
+            lastWeek : '[geçen] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s sonra',
+            past : '%s önce',
+            s : 'birkaç saniye',
+            ss : '%d saniye',
+            m : 'bir dakika',
+            mm : '%d dakika',
+            h : 'bir saat',
+            hh : '%d saat',
+            d : 'bir gün',
+            dd : '%d gün',
+            M : 'bir ay',
+            MM : '%d ay',
+            y : 'bir yıl',
+            yy : '%d yıl'
+        },
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'Do':
+                case 'DD':
+                    return number;
+                default:
+                    if (number === 0) {  // special case for zero
+                        return number + '\'ıncı';
+                    }
+                    var a = number % 10,
+                        b = number % 100 - a,
+                        c = number >= 100 ? 100 : null;
+                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return tr;
+
+})));
diff --git a/public/bower_components/moment/locale/tzl.js b/public/bower_components/moment/locale/tzl.js
new file mode 100644
index 0000000..d32601b
--- /dev/null
+++ b/public/bower_components/moment/locale/tzl.js
@@ -0,0 +1,90 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
+    // This is currently too difficult (maybe even impossible) to add.
+    var tzl = moment.defineLocale('tzl', {
+        months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
+        weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
+        weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
+        weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM [dallas] YYYY',
+            LLL : 'D. MMMM [dallas] YYYY HH.mm',
+            LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
+        },
+        meridiemParse: /d\'o|d\'a/i,
+        isPM : function (input) {
+            return 'd\'o' === input.toLowerCase();
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'd\'o' : 'D\'O';
+            } else {
+                return isLower ? 'd\'a' : 'D\'A';
+            }
+        },
+        calendar : {
+            sameDay : '[oxhi à] LT',
+            nextDay : '[demà à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[ieiri à] LT',
+            lastWeek : '[sür el] dddd [lasteu à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'osprei %s',
+            past : 'ja%s',
+            s : processRelativeTime,
+            ss : processRelativeTime,
+            m : processRelativeTime,
+            mm : processRelativeTime,
+            h : processRelativeTime,
+            hh : processRelativeTime,
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's': ['viensas secunds', '\'iensas secunds'],
+            'ss': [number + ' secunds', '' + number + ' secunds'],
+            'm': ['\'n míut', '\'iens míut'],
+            'mm': [number + ' míuts', '' + number + ' míuts'],
+            'h': ['\'n þora', '\'iensa þora'],
+            'hh': [number + ' þoras', '' + number + ' þoras'],
+            'd': ['\'n ziua', '\'iensa ziua'],
+            'dd': [number + ' ziuas', '' + number + ' ziuas'],
+            'M': ['\'n mes', '\'iens mes'],
+            'MM': [number + ' mesen', '' + number + ' mesen'],
+            'y': ['\'n ar', '\'iens ar'],
+            'yy': [number + ' ars', '' + number + ' ars']
+        };
+        return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
+    }
+
+    return tzl;
+
+})));
diff --git a/public/bower_components/moment/locale/tzm-latn.js b/public/bower_components/moment/locale/tzm-latn.js
new file mode 100644
index 0000000..b7a2aed
--- /dev/null
+++ b/public/bower_components/moment/locale/tzm-latn.js
@@ -0,0 +1,57 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var tzmLatn = moment.defineLocale('tzm-latn', {
+        months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+        monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+        weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[asdkh g] LT',
+            nextDay: '[aska g] LT',
+            nextWeek: 'dddd [g] LT',
+            lastDay: '[assant g] LT',
+            lastWeek: 'dddd [g] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'dadkh s yan %s',
+            past : 'yan %s',
+            s : 'imik',
+            ss : '%d imik',
+            m : 'minuḍ',
+            mm : '%d minuḍ',
+            h : 'saɛa',
+            hh : '%d tassaɛin',
+            d : 'ass',
+            dd : '%d ossan',
+            M : 'ayowr',
+            MM : '%d iyyirn',
+            y : 'asgas',
+            yy : '%d isgasn'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return tzmLatn;
+
+})));
diff --git a/public/bower_components/moment/locale/tzm.js b/public/bower_components/moment/locale/tzm.js
new file mode 100644
index 0000000..48d7123
--- /dev/null
+++ b/public/bower_components/moment/locale/tzm.js
@@ -0,0 +1,57 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var tzm = moment.defineLocale('tzm', {
+        months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+        monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+        weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
+            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
+            nextWeek: 'dddd [â´´] LT',
+            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
+            lastWeek: 'dddd [â´´] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
+            past : 'ⵢⴰⵏ %s',
+            s : 'ⵉⵎⵉⴽ',
+            ss : '%d ⵉⵎⵉⴽ',
+            m : 'ⵎⵉⵏⵓⴺ',
+            mm : '%d ⵎⵉⵏⵓⴺ',
+            h : 'ⵙⴰⵄⴰ',
+            hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
+            d : 'ⴰⵙⵙ',
+            dd : '%d oⵙⵙⴰⵏ',
+            M : 'ⴰⵢoⵓⵔ',
+            MM : '%d ⵉⵢⵢⵉⵔⵏ',
+            y : 'ⴰⵙⴳⴰⵙ',
+            yy : '%d ⵉⵙⴳⴰⵙⵏ'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    return tzm;
+
+})));
diff --git a/public/bower_components/moment/locale/ug-cn.js b/public/bower_components/moment/locale/ug-cn.js
new file mode 100644
index 0000000..d6c9d65
--- /dev/null
+++ b/public/bower_components/moment/locale/ug-cn.js
@@ -0,0 +1,118 @@
+//! moment.js language configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var ugCn = moment.defineLocale('ug-cn', {
+        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+            '_'
+        ),
+        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+            '_'
+        ),
+        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
+            '_'
+        ),
+        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'YYYY-MM-DD',
+            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
+        },
+        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (
+                meridiem === 'يېرىم كېچە' ||
+                meridiem === 'سەھەر' ||
+                meridiem === 'چۈشتىن بۇرۇن'
+            ) {
+                return hour;
+            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
+                return hour + 12;
+            } else {
+                return hour >= 11 ? hour : hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return 'يېرىم كېچە';
+            } else if (hm < 900) {
+                return 'سەھەر';
+            } else if (hm < 1130) {
+                return 'چۈشتىن بۇرۇن';
+            } else if (hm < 1230) {
+                return 'چۈش';
+            } else if (hm < 1800) {
+                return 'چۈشتىن كېيىن';
+            } else {
+                return 'ÙƒÛ•Ú†';
+            }
+        },
+        calendar: {
+            sameDay: '[بۈگۈن سائەت] LT',
+            nextDay: '[ئەتە سائەت] LT',
+            nextWeek: '[كېلەركى] dddd [سائەت] LT',
+            lastDay: '[تۆنۈگۈن] LT',
+            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%s كېيىن',
+            past: '%s بۇرۇن',
+            s: 'نەچچە سېكونت',
+            ss: '%d سېكونت',
+            m: 'بىر مىنۇت',
+            mm: '%d مىنۇت',
+            h: 'بىر سائەت',
+            hh: '%d سائەت',
+            d: 'بىر كۈن',
+            dd: '%d ÙƒÛˆÙ†',
+            M: 'بىر ئاي',
+            MM: '%d ئاي',
+            y: 'بىر يىل',
+            yy: '%d يىل'
+        },
+
+        dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + '-كۈنى';
+                case 'w':
+                case 'W':
+                    return number + '-ھەپتە';
+                default:
+                    return number;
+            }
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week: {
+            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+            dow: 1, // Monday is the first day of the week.
+            doy: 7 // The week that contains Jan 1st is the first week of the year.
+        }
+    });
+
+    return ugCn;
+
+})));
diff --git a/public/bower_components/moment/locale/uk.js b/public/bower_components/moment/locale/uk.js
new file mode 100644
index 0000000..70761a1
--- /dev/null
+++ b/public/bower_components/moment/locale/uk.js
@@ -0,0 +1,153 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    function plural(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
+            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
+            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
+            'dd': 'день_дні_днів',
+            'MM': 'місяць_місяці_місяців',
+            'yy': 'рік_роки_років'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'хвилина' : 'хвилину';
+        }
+        else if (key === 'h') {
+            return withoutSuffix ? 'година' : 'годину';
+        }
+        else {
+            return number + ' ' + plural(format[key], +number);
+        }
+    }
+    function weekdaysCaseReplace(m, format) {
+        var weekdays = {
+            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
+            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
+            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
+        };
+
+        if (m === true) {
+            return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));
+        }
+        if (!m) {
+            return weekdays['nominative'];
+        }
+
+        var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
+            'accusative' :
+            ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
+                'genitive' :
+                'nominative');
+        return weekdays[nounCase][m.day()];
+    }
+    function processHoursFunction(str) {
+        return function () {
+            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
+        };
+    }
+
+    var uk = moment.defineLocale('uk', {
+        months : {
+            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
+            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
+        },
+        monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
+        weekdays : weekdaysCaseReplace,
+        weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY р.',
+            LLL : 'D MMMM YYYY р., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY р., HH:mm'
+        },
+        calendar : {
+            sameDay: processHoursFunction('[Сьогодні '),
+            nextDay: processHoursFunction('[Завтра '),
+            lastDay: processHoursFunction('[Вчора '),
+            nextWeek: processHoursFunction('[У] dddd ['),
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 5:
+                    case 6:
+                        return processHoursFunction('[Минулої] dddd [').call(this);
+                    case 1:
+                    case 2:
+                    case 4:
+                        return processHoursFunction('[Минулого] dddd [').call(this);
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'за %s',
+            past : '%s тому',
+            s : 'декілька секунд',
+            ss : relativeTimeWithPlural,
+            m : relativeTimeWithPlural,
+            mm : relativeTimeWithPlural,
+            h : 'годину',
+            hh : relativeTimeWithPlural,
+            d : 'день',
+            dd : relativeTimeWithPlural,
+            M : 'місяць',
+            MM : relativeTimeWithPlural,
+            y : 'рік',
+            yy : relativeTimeWithPlural
+        },
+        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+        meridiemParse: /ночі|ранку|дня|вечора/,
+        isPM: function (input) {
+            return /^(дня|вечора)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночі';
+            } else if (hour < 12) {
+                return 'ранку';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечора';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                case 'w':
+                case 'W':
+                    return number + '-й';
+                case 'D':
+                    return number + '-го';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return uk;
+
+})));
diff --git a/public/bower_components/moment/locale/ur.js b/public/bower_components/moment/locale/ur.js
new file mode 100644
index 0000000..1609312
--- /dev/null
+++ b/public/bower_components/moment/locale/ur.js
@@ -0,0 +1,97 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var months = [
+        'جنوری',
+        'فروری',
+        'مارچ',
+        'اپریل',
+        'مئی',
+        'جون',
+        'جولائی',
+        'اگست',
+        'ستمبر',
+        'اکتوبر',
+        'نومبر',
+        'دسمبر'
+    ];
+    var days = [
+        'اتوار',
+        'پیر',
+        'منگل',
+        'بدھ',
+        'جمعرات',
+        'جمعہ',
+        'ہفتہ'
+    ];
+
+    var ur = moment.defineLocale('ur', {
+        months : months,
+        monthsShort : months,
+        weekdays : days,
+        weekdaysShort : days,
+        weekdaysMin : days,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd، D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /صبح|شام/,
+        isPM : function (input) {
+            return 'شام' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'صبح';
+            }
+            return 'شام';
+        },
+        calendar : {
+            sameDay : '[آج بوقت] LT',
+            nextDay : '[کل بوقت] LT',
+            nextWeek : 'dddd [بوقت] LT',
+            lastDay : '[گذشتہ روز بوقت] LT',
+            lastWeek : '[گذشتہ] dddd [بوقت] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s بعد',
+            past : '%s قبل',
+            s : 'چند سیکنڈ',
+            ss : '%d سیکنڈ',
+            m : 'ایک منٹ',
+            mm : '%d منٹ',
+            h : 'ایک گھنٹہ',
+            hh : '%d گھنٹے',
+            d : 'ایک دن',
+            dd : '%d دن',
+            M : 'ایک ماہ',
+            MM : '%d ماہ',
+            y : 'ایک سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return ur;
+
+})));
diff --git a/public/bower_components/moment/locale/uz-latn.js b/public/bower_components/moment/locale/uz-latn.js
new file mode 100644
index 0000000..41a348c
--- /dev/null
+++ b/public/bower_components/moment/locale/uz-latn.js
@@ -0,0 +1,57 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var uzLatn = moment.defineLocale('uz-latn', {
+        months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
+        monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
+        weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
+        weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
+        weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'D MMMM YYYY, dddd HH:mm'
+        },
+        calendar : {
+            sameDay : '[Bugun soat] LT [da]',
+            nextDay : '[Ertaga] LT [da]',
+            nextWeek : 'dddd [kuni soat] LT [da]',
+            lastDay : '[Kecha soat] LT [da]',
+            lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'Yaqin %s ichida',
+            past : 'Bir necha %s oldin',
+            s : 'soniya',
+            ss : '%d soniya',
+            m : 'bir daqiqa',
+            mm : '%d daqiqa',
+            h : 'bir soat',
+            hh : '%d soat',
+            d : 'bir kun',
+            dd : '%d kun',
+            M : 'bir oy',
+            MM : '%d oy',
+            y : 'bir yil',
+            yy : '%d yil'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    return uzLatn;
+
+})));
diff --git a/public/bower_components/moment/locale/uz.js b/public/bower_components/moment/locale/uz.js
new file mode 100644
index 0000000..0e4ad22
--- /dev/null
+++ b/public/bower_components/moment/locale/uz.js
@@ -0,0 +1,57 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var uz = moment.defineLocale('uz', {
+        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
+        weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
+        weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'D MMMM YYYY, dddd HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бугун соат] LT [да]',
+            nextDay : '[Эртага] LT [да]',
+            nextWeek : 'dddd [куни соат] LT [да]',
+            lastDay : '[Кеча соат] LT [да]',
+            lastWeek : '[Утган] dddd [куни соат] LT [да]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'Якин %s ичида',
+            past : 'Бир неча %s олдин',
+            s : 'фурсат',
+            ss : '%d фурсат',
+            m : 'бир дакика',
+            mm : '%d дакика',
+            h : 'бир соат',
+            hh : '%d соат',
+            d : 'бир кун',
+            dd : '%d кун',
+            M : 'бир ой',
+            MM : '%d ой',
+            y : 'бир йил',
+            yy : '%d йил'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return uz;
+
+})));
diff --git a/public/bower_components/moment/locale/vi.js b/public/bower_components/moment/locale/vi.js
new file mode 100644
index 0000000..6fcbeaf
--- /dev/null
+++ b/public/bower_components/moment/locale/vi.js
@@ -0,0 +1,78 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var vi = moment.defineLocale('vi', {
+        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('_'),
+        monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
+        weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+        weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+        weekdaysParseExact : true,
+        meridiemParse: /sa|ch/i,
+        isPM : function (input) {
+            return /^ch$/i.test(input);
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'sa' : 'SA';
+            } else {
+                return isLower ? 'ch' : 'CH';
+            }
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM [năm] YYYY',
+            LLL : 'D MMMM [năm] YYYY HH:mm',
+            LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
+            l : 'DD/M/YYYY',
+            ll : 'D MMM YYYY',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd, D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hôm nay lúc] LT',
+            nextDay: '[Ngày mai lúc] LT',
+            nextWeek: 'dddd [tuần tới lúc] LT',
+            lastDay: '[Hôm qua lúc] LT',
+            lastWeek: 'dddd [tuần rồi lúc] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s tá»›i',
+            past : '%s trước',
+            s : 'vài giây',
+            ss : '%d giây' ,
+            m : 'một phút',
+            mm : '%d phút',
+            h : 'một giờ',
+            hh : '%d giờ',
+            d : 'một ngày',
+            dd : '%d ngày',
+            M : 'một tháng',
+            MM : '%d tháng',
+            y : 'một năm',
+            yy : '%d năm'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : function (number) {
+            return number;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return vi;
+
+})));
diff --git a/public/bower_components/moment/locale/x-pseudo.js b/public/bower_components/moment/locale/x-pseudo.js
new file mode 100644
index 0000000..9723c7b
--- /dev/null
+++ b/public/bower_components/moment/locale/x-pseudo.js
@@ -0,0 +1,67 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var xPseudo = moment.defineLocale('x-pseudo', {
+        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('_'),
+        monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
+        weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
+        weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[T~ódá~ý át] LT',
+            nextDay : '[T~ómó~rró~w át] LT',
+            nextWeek : 'dddd [át] LT',
+            lastDay : '[Ý~ést~érdá~ý át] LT',
+            lastWeek : '[L~ást] dddd [át] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'í~ñ %s',
+            past : '%s á~gó',
+            s : 'á ~féw ~sécó~ñds',
+            ss : '%d s~écóñ~ds',
+            m : 'á ~míñ~úté',
+            mm : '%d m~íñú~tés',
+            h : 'á~ñ hó~úr',
+            hh : '%d h~óúrs',
+            d : 'á ~dáý',
+            dd : '%d d~áýs',
+            M : 'á ~móñ~th',
+            MM : '%d m~óñt~hs',
+            y : 'á ~ýéár',
+            yy : '%d ý~éárs'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return xPseudo;
+
+})));
diff --git a/public/bower_components/moment/locale/yo.js b/public/bower_components/moment/locale/yo.js
new file mode 100644
index 0000000..1a356dc
--- /dev/null
+++ b/public/bower_components/moment/locale/yo.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var yo = moment.defineLocale('yo', {
+        months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
+        monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
+        weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
+        weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
+        weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Ònì ni] LT',
+            nextDay : '[Ọ̀la ni] LT',
+            nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
+            lastDay : '[AÌ€na ni] LT',
+            lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ní %s',
+            past : '%s kọjá',
+            s : 'ìsẹjú aayá die',
+            ss :'aayá %d',
+            m : 'ìsẹjú kan',
+            mm : 'ìsẹjú %d',
+            h : 'wákati kan',
+            hh : 'wákati %d',
+            d : 'ọjọ́ kan',
+            dd : 'ọjọ́ %d',
+            M : 'osù kan',
+            MM : 'osù %d',
+            y : 'ọdún kan',
+            yy : 'ọdún %d'
+        },
+        dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/,
+        ordinal : 'ọjọ́ %d',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return yo;
+
+})));
diff --git a/public/bower_components/moment/locale/zh-cn.js b/public/bower_components/moment/locale/zh-cn.js
new file mode 100644
index 0000000..b051f33
--- /dev/null
+++ b/public/bower_components/moment/locale/zh-cn.js
@@ -0,0 +1,109 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var zhCn = moment.defineLocale('zh-cn', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日Ah点mm分',
+            LLLL : 'YYYY年M月D日ddddAh点mm分',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' ||
+                    meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            } else {
+                // '中午'
+                return hour >= 11 ? hour : hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天]LT',
+            nextDay : '[明天]LT',
+            nextWeek : '[下]ddddLT',
+            lastDay : '[昨天]LT',
+            lastWeek : '[上]ddddLT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + 'æ—¥';
+                case 'M':
+                    return number + '月';
+                case 'w':
+                case 'W':
+                    return number + '周';
+                default:
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%s内',
+            past : '%s前',
+            s : '几秒',
+            ss : '%d ç§’',
+            m : '1 分钟',
+            mm : '%d 分钟',
+            h : '1 小时',
+            hh : '%d 小时',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 个月',
+            MM : '%d 个月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        },
+        week : {
+            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    return zhCn;
+
+})));
diff --git a/public/bower_components/moment/locale/zh-hk.js b/public/bower_components/moment/locale/zh-hk.js
new file mode 100644
index 0000000..0ad0ae3
--- /dev/null
+++ b/public/bower_components/moment/locale/zh-hk.js
@@ -0,0 +1,102 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var zhHk = moment.defineLocale('zh-hk', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日dddd HH:mm',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '中午') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天]LT',
+            nextDay : '[明天]LT',
+            nextWeek : '[下]ddddLT',
+            lastDay : '[昨天]LT',
+            lastWeek : '[上]ddddLT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd' :
+                case 'D' :
+                case 'DDD' :
+                    return number + 'æ—¥';
+                case 'M' :
+                    return number + '月';
+                case 'w' :
+                case 'W' :
+                    return number + '週';
+                default :
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%så…§',
+            past : '%s前',
+            s : '幾秒',
+            ss : '%d ç§’',
+            m : '1 分鐘',
+            mm : '%d 分鐘',
+            h : '1 小時',
+            hh : '%d 小時',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 個月',
+            MM : '%d 個月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        }
+    });
+
+    return zhHk;
+
+})));
diff --git a/public/bower_components/moment/locale/zh-tw.js b/public/bower_components/moment/locale/zh-tw.js
new file mode 100644
index 0000000..6875cfe
--- /dev/null
+++ b/public/bower_components/moment/locale/zh-tw.js
@@ -0,0 +1,102 @@
+//! moment.js locale configuration
+
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+
+    var zhTw = moment.defineLocale('zh-tw', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日dddd HH:mm',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '中午') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天] LT',
+            nextDay : '[明天] LT',
+            nextWeek : '[下]dddd LT',
+            lastDay : '[昨天] LT',
+            lastWeek : '[上]dddd LT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd' :
+                case 'D' :
+                case 'DDD' :
+                    return number + 'æ—¥';
+                case 'M' :
+                    return number + '月';
+                case 'w' :
+                case 'W' :
+                    return number + '週';
+                default :
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%så…§',
+            past : '%s前',
+            s : '幾秒',
+            ss : '%d ç§’',
+            m : '1 分鐘',
+            mm : '%d 分鐘',
+            h : '1 小時',
+            hh : '%d 小時',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 個月',
+            MM : '%d 個月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        }
+    });
+
+    return zhTw;
+
+})));
diff --git a/public/bower_components/moment/min/locales.js b/public/bower_components/moment/min/locales.js
new file mode 100644
index 0000000..9b8b206
--- /dev/null
+++ b/public/bower_components/moment/min/locales.js
@@ -0,0 +1,10178 @@
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('af', {
+        months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
+        weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
+        weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
+        meridiemParse: /vm|nm/i,
+        isPM : function (input) {
+            return /^nm$/i.test(input);
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'vm' : 'VM';
+            } else {
+                return isLower ? 'nm' : 'NM';
+            }
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Vandag om] LT',
+            nextDay : '[Môre om] LT',
+            nextWeek : 'dddd [om] LT',
+            lastDay : '[Gister om] LT',
+            lastWeek : '[Laas] dddd [om] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'oor %s',
+            past : '%s gelede',
+            s : '\'n paar sekondes',
+            ss : '%d sekondes',
+            m : '\'n minuut',
+            mm : '%d minute',
+            h : '\'n uur',
+            hh : '%d ure',
+            d : '\'n dag',
+            dd : '%d dae',
+            M : '\'n maand',
+            MM : '%d maande',
+            y : '\'n jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
+        },
+        week : {
+            dow : 1, // Maandag is die eerste dag van die week.
+            doy : 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ar-dz', {
+        months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ar-kw', {
+        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap = {
+        '1': '1',
+        '2': '2',
+        '3': '3',
+        '4': '4',
+        '5': '5',
+        '6': '6',
+        '7': '7',
+        '8': '8',
+        '9': '9',
+        '0': '0'
+    }, pluralForm = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm(number),
+                str = plurals[u][pluralForm(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر'
+    ];
+
+    moment.defineLocale('ar-ly', {
+        months : months,
+        monthsShort : months,
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/\u200FM/\u200FYYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم عند الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عند الساعة] LT',
+            lastDay: '[أمس عند الساعة] LT',
+            lastWeek: 'dddd [عند الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'بعد %s',
+            past : 'منذ %s',
+            s : pluralize('s'),
+            ss : pluralize('s'),
+            m : pluralize('m'),
+            mm : pluralize('m'),
+            h : pluralize('h'),
+            hh : pluralize('h'),
+            d : pluralize('d'),
+            dd : pluralize('d'),
+            M : pluralize('M'),
+            MM : pluralize('M'),
+            y : pluralize('y'),
+            yy : pluralize('y')
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ar-ma', {
+        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$1 = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    };
+
+    moment.defineLocale('ar-sa', {
+        months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$1[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ar-tn', {
+        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'في %s',
+            past: 'منذ %s',
+            s: 'ثوان',
+            ss : '%d ثانية',
+            m: 'دقيقة',
+            mm: '%d دقائق',
+            h: 'ساعة',
+            hh: '%d ساعات',
+            d: 'يوم',
+            dd: '%d أيام',
+            M: 'شهر',
+            MM: '%d أشهر',
+            y: 'سنة',
+            yy: '%d سنوات'
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$2 = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap$1 = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    }, pluralForm$1 = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals$1 = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize$1 = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm$1(number),
+                str = plurals$1[u][pluralForm$1(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months$1 = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر'
+    ];
+
+    moment.defineLocale('ar', {
+        months : months$1,
+        monthsShort : months$1,
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/\u200FM/\u200FYYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم عند الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عند الساعة] LT',
+            lastDay: '[أمس عند الساعة] LT',
+            lastWeek: 'dddd [عند الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'بعد %s',
+            past : 'منذ %s',
+            s : pluralize$1('s'),
+            ss : pluralize$1('s'),
+            m : pluralize$1('m'),
+            mm : pluralize$1('m'),
+            h : pluralize$1('h'),
+            hh : pluralize$1('h'),
+            d : pluralize$1('d'),
+            dd : pluralize$1('d'),
+            M : pluralize$1('M'),
+            MM : pluralize$1('M'),
+            y : pluralize$1('y'),
+            yy : pluralize$1('y')
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap$1[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$2[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes = {
+        1: '-inci',
+        5: '-inci',
+        8: '-inci',
+        70: '-inci',
+        80: '-inci',
+        2: '-nci',
+        7: '-nci',
+        20: '-nci',
+        50: '-nci',
+        3: '-üncü',
+        4: '-üncü',
+        100: '-üncü',
+        6: '-ncı',
+        9: '-uncu',
+        10: '-uncu',
+        30: '-uncu',
+        60: '-ıncı',
+        90: '-ıncı'
+    };
+
+    moment.defineLocale('az', {
+        months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
+        monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
+        weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
+        weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
+        weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[bugün saat] LT',
+            nextDay : '[sabah saat] LT',
+            nextWeek : '[gələn həftə] dddd [saat] LT',
+            lastDay : '[dünən] LT',
+            lastWeek : '[keçən həftə] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s sonra',
+            past : '%s əvvəl',
+            s : 'birneçə saniyə',
+            ss : '%d saniyÉ™',
+            m : 'bir dəqiqə',
+            mm : '%d dəqiqə',
+            h : 'bir saat',
+            hh : '%d saat',
+            d : 'bir gün',
+            dd : '%d gün',
+            M : 'bir ay',
+            MM : '%d ay',
+            y : 'bir il',
+            yy : '%d il'
+        },
+        meridiemParse: /gecə|səhər|gündüz|axşam/,
+        isPM : function (input) {
+            return /^(gündüz|axşam)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'gecÉ™';
+            } else if (hour < 12) {
+                return 'səhər';
+            } else if (hour < 17) {
+                return 'gündüz';
+            } else {
+                return 'axÅŸam';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
+        ordinal : function (number) {
+            if (number === 0) {  // special case for zero
+                return number + '-ıncı';
+            }
+            var a = number % 10,
+                b = number % 100 - a,
+                c = number >= 100 ? 100 : null;
+            return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
+            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
+            'dd': 'дзень_дні_дзён',
+            'MM': 'месяц_месяцы_месяцаў',
+            'yy': 'год_гады_гадоў'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'хвіліна' : 'хвіліну';
+        }
+        else if (key === 'h') {
+            return withoutSuffix ? 'гадзіна' : 'гадзіну';
+        }
+        else {
+            return number + ' ' + plural(format[key], +number);
+        }
+    }
+
+    moment.defineLocale('be', {
+        months : {
+            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
+            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
+        },
+        monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
+        weekdays : {
+            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
+            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
+            isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
+        },
+        weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+        weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY г.',
+            LLL : 'D MMMM YYYY г., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY г., HH:mm'
+        },
+        calendar : {
+            sameDay: '[Сёння ў] LT',
+            nextDay: '[Заўтра ў] LT',
+            lastDay: '[Учора ў] LT',
+            nextWeek: function () {
+                return '[У] dddd [ў] LT';
+            },
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[У мінулую] dddd [ў] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[У мінулы] dddd [ў] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'праз %s',
+            past : '%s таму',
+            s : 'некалькі секунд',
+            m : relativeTimeWithPlural,
+            mm : relativeTimeWithPlural,
+            h : relativeTimeWithPlural,
+            hh : relativeTimeWithPlural,
+            d : 'дзень',
+            dd : relativeTimeWithPlural,
+            M : 'месяц',
+            MM : relativeTimeWithPlural,
+            y : 'год',
+            yy : relativeTimeWithPlural
+        },
+        meridiemParse: /ночы|раніцы|дня|вечара/,
+        isPM : function (input) {
+            return /^(дня|вечара)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночы';
+            } else if (hour < 12) {
+                return 'раніцы';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечара';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                case 'w':
+                case 'W':
+                    return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹';
+                case 'D':
+                    return number + '-га';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('bg', {
+        months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
+        monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
+        weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
+        weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
+        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'D.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay : '[Днес в] LT',
+            nextDay : '[Утре в] LT',
+            nextWeek : 'dddd [в] LT',
+            lastDay : '[Вчера в] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 6:
+                        return '[В изминалата] dddd [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[В изминалия] dddd [в] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'след %s',
+            past : 'преди %s',
+            s : 'няколко секунди',
+            ss : '%d секунди',
+            m : 'минута',
+            mm : '%d минути',
+            h : 'час',
+            hh : '%d часа',
+            d : 'ден',
+            dd : '%d дни',
+            M : 'месец',
+            MM : '%d месеца',
+            y : 'година',
+            yy : '%d години'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+        ordinal : function (number) {
+            var lastDigit = number % 10,
+                last2Digits = number % 100;
+            if (number === 0) {
+                return number + '-ев';
+            } else if (last2Digits === 0) {
+                return number + '-ен';
+            } else if (last2Digits > 10 && last2Digits < 20) {
+                return number + '-ти';
+            } else if (lastDigit === 1) {
+                return number + '-ви';
+            } else if (lastDigit === 2) {
+                return number + '-ри';
+            } else if (lastDigit === 7 || lastDigit === 8) {
+                return number + '-ми';
+            } else {
+                return number + '-ти';
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('bm', {
+        months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
+        monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
+        weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
+        weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
+        weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'MMMM [tile] D [san] YYYY',
+            LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+            LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
+        },
+        calendar : {
+            sameDay : '[Bi lɛrɛ] LT',
+            nextDay : '[Sini lɛrɛ] LT',
+            nextWeek : 'dddd [don lɛrɛ] LT',
+            lastDay : '[Kunu lɛrɛ] LT',
+            lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s kɔnɔ',
+            past : 'a bÉ› %s bÉ”',
+            s : 'sanga dama dama',
+            ss : 'sekondi %d',
+            m : 'miniti kelen',
+            mm : 'miniti %d',
+            h : 'lɛrɛ kelen',
+            hh : 'lɛrɛ %d',
+            d : 'tile kelen',
+            dd : 'tile %d',
+            M : 'kalo kelen',
+            MM : 'kalo %d',
+            y : 'san kelen',
+            yy : 'san %d'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$3 = {
+        '1': 'à§§',
+        '2': '২',
+        '3': 'à§©',
+        '4': '৪',
+        '5': 'à§«',
+        '6': '৬',
+        '7': 'à§­',
+        '8': 'à§®',
+        '9': '৯',
+        '0': '০'
+    },
+    numberMap$2 = {
+        'à§§': '1',
+        '২': '2',
+        'à§©': '3',
+        '৪': '4',
+        'à§«': '5',
+        '৬': '6',
+        'à§­': '7',
+        'à§®': '8',
+        '৯': '9',
+        '০': '0'
+    };
+
+    moment.defineLocale('bn', {
+        months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
+        monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
+        weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
+        weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
+        weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm সময়',
+            LTS : 'A h:mm:ss সময়',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm সময়',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
+        },
+        calendar : {
+            sameDay : '[আজ] LT',
+            nextDay : '[আগামীকাল] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[গতকাল] LT',
+            lastWeek : '[গত] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s পরে',
+            past : '%s আগে',
+            s : 'কয়েক সেকেন্ড',
+            ss : '%d সেকেন্ড',
+            m : 'এক মিনিট',
+            mm : '%d মিনিট',
+            h : 'এক ঘন্টা',
+            hh : '%d ঘন্টা',
+            d : 'এক দিন',
+            dd : '%d দিন',
+            M : 'এক মাস',
+            MM : '%d মাস',
+            y : 'এক বছর',
+            yy : '%d বছর'
+        },
+        preparse: function (string) {
+            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
+                return numberMap$2[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$3[match];
+            });
+        },
+        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'রাত' && hour >= 4) ||
+                    (meridiem === 'দুপুর' && hour < 5) ||
+                    meridiem === 'বিকাল') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'রাত';
+            } else if (hour < 10) {
+                return 'সকাল';
+            } else if (hour < 17) {
+                return 'দুপুর';
+            } else if (hour < 20) {
+                return 'বিকাল';
+            } else {
+                return 'রাত';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$4 = {
+        '1': '༡',
+        '2': '༢',
+        '3': '༣',
+        '4': '༤',
+        '5': '༥',
+        '6': '༦',
+        '7': '༧',
+        '8': '༨',
+        '9': '༩',
+        '0': '༠'
+    },
+    numberMap$3 = {
+        '༡': '1',
+        '༢': '2',
+        '༣': '3',
+        '༤': '4',
+        '༥': '5',
+        '༦': '6',
+        '༧': '7',
+        '༨': '8',
+        '༩': '9',
+        '༠': '0'
+    };
+
+    moment.defineLocale('bo', {
+        months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+        monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+        weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
+        weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+        weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[དི་རིང] LT',
+            nextDay : '[སང་ཉིན] LT',
+            nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
+            lastDay : '[ཁ་སང] LT',
+            lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ལ་',
+            past : '%s སྔན་ལ',
+            s : 'ལམ་སང',
+            ss : '%d སྐར་ཆ།',
+            m : 'སྐར་མ་གཅིག',
+            mm : '%d སྐར་མ',
+            h : 'ཆུ་ཚོད་གཅིག',
+            hh : '%d ཆུ་ཚོད',
+            d : 'ཉིན་གཅིག',
+            dd : '%d ཉིན་',
+            M : 'ཟླ་བ་གཅིག',
+            MM : '%d ཟླ་བ',
+            y : 'ལོ་གཅིག',
+            yy : '%d ལོ'
+        },
+        preparse: function (string) {
+            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
+                return numberMap$3[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$4[match];
+            });
+        },
+        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
+                    (meridiem === 'ཉིན་གུང' && hour < 5) ||
+                    meridiem === 'དགོང་དག') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'མཚན་མོ';
+            } else if (hour < 10) {
+                return 'ཞོགས་ཀས';
+            } else if (hour < 17) {
+                return 'ཉིན་གུང';
+            } else if (hour < 20) {
+                return 'དགོང་དག';
+            } else {
+                return 'མཚན་མོ';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function relativeTimeWithMutation(number, withoutSuffix, key) {
+        var format = {
+            'mm': 'munutenn',
+            'MM': 'miz',
+            'dd': 'devezh'
+        };
+        return number + ' ' + mutation(format[key], number);
+    }
+    function specialMutationForYears(number) {
+        switch (lastNumber(number)) {
+            case 1:
+            case 3:
+            case 4:
+            case 5:
+            case 9:
+                return number + ' bloaz';
+            default:
+                return number + ' vloaz';
+        }
+    }
+    function lastNumber(number) {
+        if (number > 9) {
+            return lastNumber(number % 10);
+        }
+        return number;
+    }
+    function mutation(text, number) {
+        if (number === 2) {
+            return softMutation(text);
+        }
+        return text;
+    }
+    function softMutation(text) {
+        var mutationTable = {
+            'm': 'v',
+            'b': 'v',
+            'd': 'z'
+        };
+        if (mutationTable[text.charAt(0)] === undefined) {
+            return text;
+        }
+        return mutationTable[text.charAt(0)] + text.substring(1);
+    }
+
+    moment.defineLocale('br', {
+        months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
+        monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
+        weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
+        weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
+        weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h[e]mm A',
+            LTS : 'h[e]mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D [a viz] MMMM YYYY',
+            LLL : 'D [a viz] MMMM YYYY h[e]mm A',
+            LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
+        },
+        calendar : {
+            sameDay : '[Hiziv da] LT',
+            nextDay : '[Warc\'hoazh da] LT',
+            nextWeek : 'dddd [da] LT',
+            lastDay : '[Dec\'h da] LT',
+            lastWeek : 'dddd [paset da] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'a-benn %s',
+            past : '%s \'zo',
+            s : 'un nebeud segondennoù',
+            ss : '%d eilenn',
+            m : 'ur vunutenn',
+            mm : relativeTimeWithMutation,
+            h : 'un eur',
+            hh : '%d eur',
+            d : 'un devezh',
+            dd : relativeTimeWithMutation,
+            M : 'ur miz',
+            MM : relativeTimeWithMutation,
+            y : 'ur bloaz',
+            yy : specialMutationForYears
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
+        ordinal : function (number) {
+            var output = (number === 1) ? 'añ' : 'vet';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function translate(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                if (number === 1) {
+                    result += 'sekunda';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sekunde';
+                } else {
+                    result += 'sekundi';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+            case 'mm':
+                if (number === 1) {
+                    result += 'minuta';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'minute';
+                } else {
+                    result += 'minuta';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            case 'hh':
+                if (number === 1) {
+                    result += 'sat';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sata';
+                } else {
+                    result += 'sati';
+                }
+                return result;
+            case 'dd':
+                if (number === 1) {
+                    result += 'dan';
+                } else {
+                    result += 'dana';
+                }
+                return result;
+            case 'MM':
+                if (number === 1) {
+                    result += 'mjesec';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'mjeseca';
+                } else {
+                    result += 'mjeseci';
+                }
+                return result;
+            case 'yy':
+                if (number === 1) {
+                    result += 'godina';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'godine';
+                } else {
+                    result += 'godina';
+                }
+                return result;
+        }
+    }
+
+    moment.defineLocale('bs', {
+        months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danas u] LT',
+            nextDay  : '[sutra u] LT',
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[jučer u] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                        return '[prošlu] dddd [u] LT';
+                    case 6:
+                        return '[prošle] [subote] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prošli] dddd [u] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'par sekundi',
+            ss     : translate,
+            m      : translate,
+            mm     : translate,
+            h      : translate,
+            hh     : translate,
+            d      : 'dan',
+            dd     : translate,
+            M      : 'mjesec',
+            MM     : translate,
+            y      : 'godinu',
+            yy     : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ca', {
+        months : {
+            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
+            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('_'),
+            isFormat: /D[oD]?(\s)+MMMM/
+        },
+        monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
+        weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
+        weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM [de] YYYY',
+            ll : 'D MMM YYYY',
+            LLL : 'D MMMM [de] YYYY [a les] H:mm',
+            lll : 'D MMM YYYY, H:mm',
+            LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
+            llll : 'ddd D MMM YYYY, H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            nextDay : function () {
+                return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            lastDay : function () {
+                return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'd\'aquí %s',
+            past : 'fa %s',
+            s : 'uns segons',
+            ss : '%d segons',
+            m : 'un minut',
+            mm : '%d minuts',
+            h : 'una hora',
+            hh : '%d hores',
+            d : 'un dia',
+            dd : '%d dies',
+            M : 'un mes',
+            MM : '%d mesos',
+            y : 'un any',
+            yy : '%d anys'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
+        ordinal : function (number, period) {
+            var output = (number === 1) ? 'r' :
+                (number === 2) ? 'n' :
+                (number === 3) ? 'r' :
+                (number === 4) ? 't' : 'è';
+            if (period === 'w' || period === 'W') {
+                output = 'a';
+            }
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$2 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
+        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
+
+    var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];
+    // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+    // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+    var monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
+
+    function plural$1(n) {
+        return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
+    }
+    function translate$1(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':  // a few seconds / in a few seconds / a few seconds ago
+                return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
+            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'sekundy' : 'sekund');
+                } else {
+                    return result + 'sekundami';
+                }
+                break;
+            case 'm':  // a minute / in a minute / a minute ago
+                return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
+            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'minuty' : 'minut');
+                } else {
+                    return result + 'minutami';
+                }
+                break;
+            case 'h':  // an hour / in an hour / an hour ago
+                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+            case 'hh': // 9 hours / in 9 hours / 9 hours ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'hodiny' : 'hodin');
+                } else {
+                    return result + 'hodinami';
+                }
+                break;
+            case 'd':  // a day / in a day / a day ago
+                return (withoutSuffix || isFuture) ? 'den' : 'dnem';
+            case 'dd': // 9 days / in 9 days / 9 days ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'dny' : 'dní');
+                } else {
+                    return result + 'dny';
+                }
+                break;
+            case 'M':  // a month / in a month / a month ago
+                return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
+            case 'MM': // 9 months / in 9 months / 9 months ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'měsíce' : 'měsíců');
+                } else {
+                    return result + 'měsíci';
+                }
+                break;
+            case 'y':  // a year / in a year / a year ago
+                return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
+            case 'yy': // 9 years / in 9 years / 9 years ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'roky' : 'let');
+                } else {
+                    return result + 'lety';
+                }
+                break;
+        }
+    }
+
+    moment.defineLocale('cs', {
+        months : months$2,
+        monthsShort : monthsShort,
+        monthsRegex : monthsRegex,
+        monthsShortRegex : monthsRegex,
+        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+        monthsStrictRegex : /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
+        monthsShortStrictRegex : /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+        weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
+        weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
+        weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
+        longDateFormat : {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd D. MMMM YYYY H:mm',
+            l : 'D. M. YYYY'
+        },
+        calendar : {
+            sameDay: '[dnes v] LT',
+            nextDay: '[zítra v] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v neděli v] LT';
+                    case 1:
+                    case 2:
+                        return '[v] dddd [v] LT';
+                    case 3:
+                        return '[ve středu v] LT';
+                    case 4:
+                        return '[ve čtvrtek v] LT';
+                    case 5:
+                        return '[v pátek v] LT';
+                    case 6:
+                        return '[v sobotu v] LT';
+                }
+            },
+            lastDay: '[včera v] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[minulou neděli v] LT';
+                    case 1:
+                    case 2:
+                        return '[minulé] dddd [v] LT';
+                    case 3:
+                        return '[minulou středu v] LT';
+                    case 4:
+                    case 5:
+                        return '[minulý] dddd [v] LT';
+                    case 6:
+                        return '[minulou sobotu v] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : 'před %s',
+            s : translate$1,
+            ss : translate$1,
+            m : translate$1,
+            mm : translate$1,
+            h : translate$1,
+            hh : translate$1,
+            d : translate$1,
+            dd : translate$1,
+            M : translate$1,
+            MM : translate$1,
+            y : translate$1,
+            yy : translate$1
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('cv', {
+        months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
+        monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
+        weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
+        weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
+        weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+            LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+            LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
+        },
+        calendar : {
+            sameDay: '[Паян] LT [сехетре]',
+            nextDay: '[Ыран] LT [сехетре]',
+            lastDay: '[Ӗнер] LT [сехетре]',
+            nextWeek: '[Ҫитес] dddd LT [сехетре]',
+            lastWeek: '[Иртнӗ] dddd LT [сехетре]',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (output) {
+                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
+                return output + affix;
+            },
+            past : '%s каялла',
+            s : 'пӗр-ик ҫеккунт',
+            ss : '%d ҫеккунт',
+            m : 'пӗр минут',
+            mm : '%d минут',
+            h : 'пӗр сехет',
+            hh : '%d сехет',
+            d : 'пӗр кун',
+            dd : '%d кун',
+            M : 'пӗр уйӑх',
+            MM : '%d уйӑх',
+            y : 'пӗр ҫул',
+            yy : '%d ҫул'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
+        ordinal : '%d-мӗш',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('cy', {
+        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
+        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
+        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
+        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
+        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
+        weekdaysParseExact : true,
+        // time formats are the same as en-gb
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[Heddiw am] LT',
+            nextDay: '[Yfory am] LT',
+            nextWeek: 'dddd [am] LT',
+            lastDay: '[Ddoe am] LT',
+            lastWeek: 'dddd [diwethaf am] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'mewn %s',
+            past: '%s yn ôl',
+            s: 'ychydig eiliadau',
+            ss: '%d eiliad',
+            m: 'munud',
+            mm: '%d munud',
+            h: 'awr',
+            hh: '%d awr',
+            d: 'diwrnod',
+            dd: '%d diwrnod',
+            M: 'mis',
+            MM: '%d mis',
+            y: 'blwyddyn',
+            yy: '%d flynedd'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
+        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
+        ordinal: function (number) {
+            var b = number,
+                output = '',
+                lookup = [
+                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
+                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
+                ];
+            if (b > 20) {
+                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
+                    output = 'fed'; // not 30ain, 70ain or 90ain
+                } else {
+                    output = 'ain';
+                }
+            } else if (b > 0) {
+                output = lookup[b];
+            }
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('da', {
+        months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+        weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
+        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay : '[i dag kl.] LT',
+            nextDay : '[i morgen kl.] LT',
+            nextWeek : 'på dddd [kl.] LT',
+            lastDay : '[i går kl.] LT',
+            lastWeek : '[i] dddd[s kl.] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s siden',
+            s : 'få sekunder',
+            ss : '%d sekunder',
+            m : 'et minut',
+            mm : '%d minutter',
+            h : 'en time',
+            hh : '%d timer',
+            d : 'en dag',
+            dd : '%d dage',
+            M : 'en måned',
+            MM : '%d måneder',
+            y : 'et år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    moment.defineLocale('de-at', {
+        months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime,
+            mm : '%d Minuten',
+            h : processRelativeTime,
+            hh : '%d Stunden',
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    moment.defineLocale('de-ch', {
+        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime$1,
+            mm : '%d Minuten',
+            h : processRelativeTime$1,
+            hh : '%d Stunden',
+            d : processRelativeTime$1,
+            dd : processRelativeTime$1,
+            M : processRelativeTime$1,
+            MM : processRelativeTime$1,
+            y : processRelativeTime$1,
+            yy : processRelativeTime$1
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    moment.defineLocale('de', {
+        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime$2,
+            mm : '%d Minuten',
+            h : processRelativeTime$2,
+            hh : '%d Stunden',
+            d : processRelativeTime$2,
+            dd : processRelativeTime$2,
+            M : processRelativeTime$2,
+            MM : processRelativeTime$2,
+            y : processRelativeTime$2,
+            yy : processRelativeTime$2
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$3 = [
+        'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©',
+        'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©',
+        'Þ‰Þ§ÞƒÞ¨Þ—Þª',
+        'އޭޕްރީލު',
+        'Þ‰Þ­',
+        'Þ–Þ«Þ‚Þ°',
+        'ޖުލައި',
+        'އޯގަސްޓު',
+        'ސެޕްޓެމްބަރު',
+        'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª',
+        'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',
+        'ޑިސެމްބަރު'
+    ], weekdays = [
+        'އާދިއްތަ',
+        'Þ€Þ¯Þ‰Þ¦',
+        'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦',
+        'Þ„ÞªÞ‹Þ¦',
+        'ބުރާސްފަތި',
+        'Þ€ÞªÞ†ÞªÞƒÞª',
+        'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª'
+    ];
+
+    moment.defineLocale('dv', {
+        months : months$3,
+        monthsShort : months$3,
+        weekdays : weekdays,
+        weekdaysShort : weekdays,
+        weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'),
+        longDateFormat : {
+
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/M/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /Þ‰Þ†|Þ‰ÞŠ/,
+        isPM : function (input) {
+            return 'Þ‰ÞŠ' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'Þ‰Þ†';
+            } else {
+                return 'Þ‰ÞŠ';
+            }
+        },
+        calendar : {
+            sameDay : '[Þ‰Þ¨Þ‡Þ¦Þ‹Þª] LT',
+            nextDay : '[Þ‰Þ§Þ‹Þ¦Þ‰Þ§] LT',
+            nextWeek : 'dddd LT',
+            lastDay : '[Þ‡Þ¨Þ‡Þ°Þ”Þ¬] LT',
+            lastWeek : '[ފާއިތުވި] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ތެރޭގައި %s',
+            past : 'Þ†ÞªÞƒÞ¨Þ‚Þ° %s',
+            s : 'ސިކުންތުކޮޅެއް',
+            ss : 'd% ސިކުންތު',
+            m : 'Þ‰Þ¨Þ‚Þ¨Þ“Þ¬Þ‡Þ°',
+            mm : 'Þ‰Þ¨Þ‚Þ¨Þ“Þª %d',
+            h : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°',
+            hh : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª %d',
+            d : 'Þ‹ÞªÞˆÞ¦Þ€Þ¬Þ‡Þ°',
+            dd : 'ދުވަސް %d',
+            M : 'Þ‰Þ¦Þ€Þ¬Þ‡Þ°',
+            MM : 'މަސް %d',
+            y : 'Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°',
+            yy : 'Þ‡Þ¦Þ€Þ¦ÞƒÞª %d'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 7,  // Sunday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    function isFunction(input) {
+        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
+    }
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('el', {
+        monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
+        monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
+        months : function (momentToFormat, format) {
+            if (!momentToFormat) {
+                return this._monthsNominativeEl;
+            } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
+                return this._monthsGenitiveEl[momentToFormat.month()];
+            } else {
+                return this._monthsNominativeEl[momentToFormat.month()];
+            }
+        },
+        monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
+        weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
+        weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
+        weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'μμ' : 'ΜΜ';
+            } else {
+                return isLower ? 'πμ' : 'ΠΜ';
+            }
+        },
+        isPM : function (input) {
+            return ((input + '').toLowerCase()[0] === 'μ');
+        },
+        meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendarEl : {
+            sameDay : '[Σήμερα {}] LT',
+            nextDay : '[Αύριο {}] LT',
+            nextWeek : 'dddd [{}] LT',
+            lastDay : '[Χθες {}] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 6:
+                        return '[το προηγούμενο] dddd [{}] LT';
+                    default:
+                        return '[την προηγούμενη] dddd [{}] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        calendar : function (key, mom) {
+            var output = this._calendarEl[key],
+                hours = mom && mom.hours();
+            if (isFunction(output)) {
+                output = output.apply(mom);
+            }
+            return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
+        },
+        relativeTime : {
+            future : 'σε %s',
+            past : '%s πριν',
+            s : 'λίγα δευτερόλεπτα',
+            ss : '%d δευτερόλεπτα',
+            m : 'ένα λεπτό',
+            mm : '%d λεπτά',
+            h : 'μία ώρα',
+            hh : '%d ώρες',
+            d : 'μία μέρα',
+            dd : '%d μέρες',
+            M : 'ένας μήνας',
+            MM : '%d μήνες',
+            y : 'ένας χρόνος',
+            yy : '%d χρόνια'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}η/,
+        ordinal: '%dη',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4st is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-SG', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-au', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-ca', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'YYYY-MM-DD',
+            LL : 'MMMM D, YYYY',
+            LLL : 'MMMM D, YYYY h:mm A',
+            LLLL : 'dddd, MMMM D, YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-gb', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-ie', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-il', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('en-nz', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('eo', {
+        months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'),
+        weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
+        weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D[-a de] MMMM, YYYY',
+            LLL : 'D[-a de] MMMM, YYYY HH:mm',
+            LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
+        },
+        meridiemParse: /[ap]\.t\.m/i,
+        isPM: function (input) {
+            return input.charAt(0).toLowerCase() === 'p';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'p.t.m.' : 'P.T.M.';
+            } else {
+                return isLower ? 'a.t.m.' : 'A.T.M.';
+            }
+        },
+        calendar : {
+            sameDay : '[HodiaÅ­ je] LT',
+            nextDay : '[MorgaÅ­ je] LT',
+            nextWeek : 'dddd [je] LT',
+            lastDay : '[HieraÅ­ je] LT',
+            lastWeek : '[pasinta] dddd [je] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'post %s',
+            past : 'antaÅ­ %s',
+            s : 'sekundoj',
+            ss : '%d sekundoj',
+            m : 'minuto',
+            mm : '%d minutoj',
+            h : 'horo',
+            hh : '%d horoj',
+            d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
+            dd : '%d tagoj',
+            M : 'monato',
+            MM : '%d monatoj',
+            y : 'jaro',
+            yy : '%d jaroj'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}a/,
+        ordinal : '%da',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex$1 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+    moment.defineLocale('es-do', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort$1[m.month()];
+            } else {
+                return monthsShortDot[m.month()];
+            }
+        },
+        monthsRegex: monthsRegex$1,
+        monthsShortRegex: monthsRegex$1,
+        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse: monthsParse$1,
+        longMonthsParse: monthsParse$1,
+        shortMonthsParse: monthsParse$1,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY h:mm A',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex$2 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+    moment.defineLocale('es-us', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot$1;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort$2[m.month()];
+            } else {
+                return monthsShortDot$1[m.month()];
+            }
+        },
+        monthsRegex: monthsRegex$2,
+        monthsShortRegex: monthsRegex$2,
+        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse: monthsParse$2,
+        longMonthsParse: monthsParse$2,
+        shortMonthsParse: monthsParse$2,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'MM/DD/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY h:mm A',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+    moment.defineLocale('es', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot$2;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort$3[m.month()];
+            } else {
+                return monthsShortDot$2[m.month()];
+            }
+        },
+        monthsRegex : monthsRegex$3,
+        monthsShortRegex : monthsRegex$3,
+        monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse : monthsParse$3,
+        longMonthsParse : monthsParse$3,
+        shortMonthsParse : monthsParse$3,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY H:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
+            'ss': [number + 'sekundi', number + 'sekundit'],
+            'm' : ['ühe minuti', 'üks minut'],
+            'mm': [number + ' minuti', number + ' minutit'],
+            'h' : ['ühe tunni', 'tund aega', 'üks tund'],
+            'hh': [number + ' tunni', number + ' tundi'],
+            'd' : ['ühe päeva', 'üks päev'],
+            'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
+            'MM': [number + ' kuu', number + ' kuud'],
+            'y' : ['ühe aasta', 'aasta', 'üks aasta'],
+            'yy': [number + ' aasta', number + ' aastat']
+        };
+        if (withoutSuffix) {
+            return format[key][2] ? format[key][2] : format[key][1];
+        }
+        return isFuture ? format[key][0] : format[key][1];
+    }
+
+    moment.defineLocale('et', {
+        months        : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
+        monthsShort   : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
+        weekdays      : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
+        weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
+        weekdaysMin   : 'P_E_T_K_N_R_L'.split('_'),
+        longDateFormat : {
+            LT   : 'H:mm',
+            LTS : 'H:mm:ss',
+            L    : 'DD.MM.YYYY',
+            LL   : 'D. MMMM YYYY',
+            LLL  : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[Täna,] LT',
+            nextDay  : '[Homme,] LT',
+            nextWeek : '[Järgmine] dddd LT',
+            lastDay  : '[Eile,] LT',
+            lastWeek : '[Eelmine] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s pärast',
+            past   : '%s tagasi',
+            s      : processRelativeTime$3,
+            ss     : processRelativeTime$3,
+            m      : processRelativeTime$3,
+            mm     : processRelativeTime$3,
+            h      : processRelativeTime$3,
+            hh     : processRelativeTime$3,
+            d      : processRelativeTime$3,
+            dd     : '%d päeva',
+            M      : processRelativeTime$3,
+            MM     : processRelativeTime$3,
+            y      : processRelativeTime$3,
+            yy     : processRelativeTime$3
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('eu', {
+        months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
+        monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
+        weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
+        weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY[ko] MMMM[ren] D[a]',
+            LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+            LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+            l : 'YYYY-M-D',
+            ll : 'YYYY[ko] MMM D[a]',
+            lll : 'YYYY[ko] MMM D[a] HH:mm',
+            llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
+        },
+        calendar : {
+            sameDay : '[gaur] LT[etan]',
+            nextDay : '[bihar] LT[etan]',
+            nextWeek : 'dddd LT[etan]',
+            lastDay : '[atzo] LT[etan]',
+            lastWeek : '[aurreko] dddd LT[etan]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s barru',
+            past : 'duela %s',
+            s : 'segundo batzuk',
+            ss : '%d segundo',
+            m : 'minutu bat',
+            mm : '%d minutu',
+            h : 'ordu bat',
+            hh : '%d ordu',
+            d : 'egun bat',
+            dd : '%d egun',
+            M : 'hilabete bat',
+            MM : '%d hilabete',
+            y : 'urte bat',
+            yy : '%d urte'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$5 = {
+        '1': 'Û±',
+        '2': 'Û²',
+        '3': 'Û³',
+        '4': 'Û´',
+        '5': 'Ûµ',
+        '6': 'Û¶',
+        '7': 'Û·',
+        '8': 'Û¸',
+        '9': 'Û¹',
+        '0': 'Û°'
+    }, numberMap$4 = {
+        'Û±': '1',
+        'Û²': '2',
+        'Û³': '3',
+        'Û´': '4',
+        'Ûµ': '5',
+        'Û¶': '6',
+        'Û·': '7',
+        'Û¸': '8',
+        'Û¹': '9',
+        'Û°': '0'
+    };
+
+    moment.defineLocale('fa', {
+        months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+        monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+        weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+        weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+        weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /قبل از ظهر|بعد از ظهر/,
+        isPM: function (input) {
+            return /بعد از ظهر/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'قبل از ظهر';
+            } else {
+                return 'بعد از ظهر';
+            }
+        },
+        calendar : {
+            sameDay : '[امروز ساعت] LT',
+            nextDay : '[فردا ساعت] LT',
+            nextWeek : 'dddd [ساعت] LT',
+            lastDay : '[دیروز ساعت] LT',
+            lastWeek : 'dddd [پیش] [ساعت] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'در %s',
+            past : '%s پیش',
+            s : 'چند ثانیه',
+            ss : 'ثانیه d%',
+            m : 'یک دقیقه',
+            mm : '%d دقیقه',
+            h : 'یک ساعت',
+            hh : '%d ساعت',
+            d : 'یک روز',
+            dd : '%d روز',
+            M : 'یک ماه',
+            MM : '%d ماه',
+            y : 'یک سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/[Û°-Û¹]/g, function (match) {
+                return numberMap$4[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$5[match];
+            }).replace(/,/g, '،');
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}Ù…/,
+        ordinal : '%dÙ…',
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12 // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
+        numbersFuture = [
+            'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
+            numbersPast[7], numbersPast[8], numbersPast[9]
+        ];
+    function translate$2(number, withoutSuffix, key, isFuture) {
+        var result = '';
+        switch (key) {
+            case 's':
+                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
+            case 'ss':
+                return isFuture ? 'sekunnin' : 'sekuntia';
+            case 'm':
+                return isFuture ? 'minuutin' : 'minuutti';
+            case 'mm':
+                result = isFuture ? 'minuutin' : 'minuuttia';
+                break;
+            case 'h':
+                return isFuture ? 'tunnin' : 'tunti';
+            case 'hh':
+                result = isFuture ? 'tunnin' : 'tuntia';
+                break;
+            case 'd':
+                return isFuture ? 'päivän' : 'päivä';
+            case 'dd':
+                result = isFuture ? 'päivän' : 'päivää';
+                break;
+            case 'M':
+                return isFuture ? 'kuukauden' : 'kuukausi';
+            case 'MM':
+                result = isFuture ? 'kuukauden' : 'kuukautta';
+                break;
+            case 'y':
+                return isFuture ? 'vuoden' : 'vuosi';
+            case 'yy':
+                result = isFuture ? 'vuoden' : 'vuotta';
+                break;
+        }
+        result = verbalNumber(number, isFuture) + ' ' + result;
+        return result;
+    }
+    function verbalNumber(number, isFuture) {
+        return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
+    }
+
+    moment.defineLocale('fi', {
+        months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
+        monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
+        weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
+        weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
+        weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD.MM.YYYY',
+            LL : 'Do MMMM[ta] YYYY',
+            LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
+            LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
+            l : 'D.M.YYYY',
+            ll : 'Do MMM YYYY',
+            lll : 'Do MMM YYYY, [klo] HH.mm',
+            llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
+        },
+        calendar : {
+            sameDay : '[tänään] [klo] LT',
+            nextDay : '[huomenna] [klo] LT',
+            nextWeek : 'dddd [klo] LT',
+            lastDay : '[eilen] [klo] LT',
+            lastWeek : '[viime] dddd[na] [klo] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s päästä',
+            past : '%s sitten',
+            s : translate$2,
+            ss : translate$2,
+            m : translate$2,
+            mm : translate$2,
+            h : translate$2,
+            hh : translate$2,
+            d : translate$2,
+            dd : translate$2,
+            M : translate$2,
+            MM : translate$2,
+            y : translate$2,
+            yy : translate$2
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('fo', {
+        months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+        weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
+        weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
+        weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D. MMMM, YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Í dag kl.] LT',
+            nextDay : '[Í morgin kl.] LT',
+            nextWeek : 'dddd [kl.] LT',
+            lastDay : '[Í gjár kl.] LT',
+            lastWeek : '[síðstu] dddd [kl] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'um %s',
+            past : '%s síðani',
+            s : 'fá sekund',
+            ss : '%d sekundir',
+            m : 'ein minuttur',
+            mm : '%d minuttir',
+            h : 'ein tími',
+            hh : '%d tímar',
+            d : 'ein dagur',
+            dd : '%d dagar',
+            M : 'ein mánaður',
+            MM : '%d mánaðir',
+            y : 'eitt ár',
+            yy : '%d ár'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('fr-ca', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'D':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('fr-ch', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'D':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('fr', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // TODO: Return 'e' when day of month > 1. Move this case inside
+                // block for masculine words below.
+                // See https://github.com/moment/moment/issues/3375
+                case 'D':
+                    return number + (number === 1 ? 'er' : '');
+
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
+        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
+
+    moment.defineLocale('fy', {
+        months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots[m.month()];
+            } else {
+                return monthsShortWithDots[m.month()];
+            }
+        },
+        monthsParseExact : true,
+        weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
+        weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
+        weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[hjoed om] LT',
+            nextDay: '[moarn om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[juster om] LT',
+            lastWeek: '[ôfrûne] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'oer %s',
+            past : '%s lyn',
+            s : 'in pear sekonden',
+            ss : '%d sekonden',
+            m : 'ien minút',
+            mm : '%d minuten',
+            h : 'ien oere',
+            hh : '%d oeren',
+            d : 'ien dei',
+            dd : '%d dagen',
+            M : 'ien moanne',
+            MM : '%d moannen',
+            y : 'ien jier',
+            yy : '%d jierren'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+
+    var months$4 = [
+        'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'
+    ];
+
+    var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];
+
+    var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];
+
+    var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];
+
+    var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];
+
+    moment.defineLocale('ga', {
+        months: months$4,
+        monthsShort: monthsShort$4,
+        monthsParseExact: true,
+        weekdays: weekdays$1,
+        weekdaysShort: weekdaysShort,
+        weekdaysMin: weekdaysMin,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[Inniu ag] LT',
+            nextDay: '[Amárach ag] LT',
+            nextWeek: 'dddd [ag] LT',
+            lastDay: '[Inné aig] LT',
+            lastWeek: 'dddd [seo caite] [ag] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'i %s',
+            past: '%s ó shin',
+            s: 'cúpla soicind',
+            ss: '%d soicind',
+            m: 'nóiméad',
+            mm: '%d nóiméad',
+            h: 'uair an chloig',
+            hh: '%d uair an chloig',
+            d: 'lá',
+            dd: '%d lá',
+            M: 'mí',
+            MM: '%d mí',
+            y: 'bliain',
+            yy: '%d bliain'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
+        ordinal: function (number) {
+            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+            return number + output;
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$5 = [
+        'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
+    ];
+
+    var monthsShort$5 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
+
+    var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
+
+    var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
+
+    var weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
+
+    moment.defineLocale('gd', {
+        months : months$5,
+        monthsShort : monthsShort$5,
+        monthsParseExact : true,
+        weekdays : weekdays$2,
+        weekdaysShort : weekdaysShort$1,
+        weekdaysMin : weekdaysMin$1,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[An-diugh aig] LT',
+            nextDay : '[A-màireach aig] LT',
+            nextWeek : 'dddd [aig] LT',
+            lastDay : '[An-dè aig] LT',
+            lastWeek : 'dddd [seo chaidh] [aig] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ann an %s',
+            past : 'bho chionn %s',
+            s : 'beagan diogan',
+            ss : '%d diogan',
+            m : 'mionaid',
+            mm : '%d mionaidean',
+            h : 'uair',
+            hh : '%d uairean',
+            d : 'latha',
+            dd : '%d latha',
+            M : 'mìos',
+            MM : '%d mìosan',
+            y : 'bliadhna',
+            yy : '%d bliadhna'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/,
+        ordinal : function (number) {
+            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('gl', {
+        months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
+        monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY H:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+            },
+            lastDay : function () {
+                return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
+            },
+            lastWeek : function () {
+                return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : function (str) {
+                if (str.indexOf('un') === 0) {
+                    return 'n' + str;
+                }
+                return 'en ' + str;
+            },
+            past : 'hai %s',
+            s : 'uns segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'unha hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's': ['thodde secondanim', 'thodde second'],
+            'ss': [number + ' secondanim', number + ' second'],
+            'm': ['eka mintan', 'ek minute'],
+            'mm': [number + ' mintanim', number + ' mintam'],
+            'h': ['eka voran', 'ek vor'],
+            'hh': [number + ' voranim', number + ' voram'],
+            'd': ['eka disan', 'ek dis'],
+            'dd': [number + ' disanim', number + ' dis'],
+            'M': ['eka mhoinean', 'ek mhoino'],
+            'MM': [number + ' mhoineanim', number + ' mhoine'],
+            'y': ['eka vorsan', 'ek voros'],
+            'yy': [number + ' vorsanim', number + ' vorsam']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    moment.defineLocale('gom-latn', {
+        months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
+        monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
+        weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
+        weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'A h:mm [vazta]',
+            LTS : 'A h:mm:ss [vazta]',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY A h:mm [vazta]',
+            LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
+            llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
+        },
+        calendar : {
+            sameDay: '[Aiz] LT',
+            nextDay: '[Faleam] LT',
+            nextWeek: '[Ieta to] dddd[,] LT',
+            lastDay: '[Kal] LT',
+            lastWeek: '[Fatlo] dddd[,] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s',
+            past : '%s adim',
+            s : processRelativeTime$4,
+            ss : processRelativeTime$4,
+            m : processRelativeTime$4,
+            mm : processRelativeTime$4,
+            h : processRelativeTime$4,
+            hh : processRelativeTime$4,
+            d : processRelativeTime$4,
+            dd : processRelativeTime$4,
+            M : processRelativeTime$4,
+            MM : processRelativeTime$4,
+            y : processRelativeTime$4,
+            yy : processRelativeTime$4
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(er)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // the ordinal 'er' only applies to day of the month
+                case 'D':
+                    return number + 'er';
+                default:
+                case 'M':
+                case 'Q':
+                case 'DDD':
+                case 'd':
+                case 'w':
+                case 'W':
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        },
+        meridiemParse: /rati|sokalli|donparam|sanje/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'rati') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'sokalli') {
+                return hour;
+            } else if (meridiem === 'donparam') {
+                return hour > 12 ? hour : hour + 12;
+            } else if (meridiem === 'sanje') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'rati';
+            } else if (hour < 12) {
+                return 'sokalli';
+            } else if (hour < 16) {
+                return 'donparam';
+            } else if (hour < 20) {
+                return 'sanje';
+            } else {
+                return 'rati';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$6 = {
+            '1': 'à«§',
+            '2': '૨',
+            '3': 'à«©',
+            '4': '૪',
+            '5': 'à««',
+            '6': '૬',
+            '7': 'à«­',
+            '8': 'à«®',
+            '9': '૯',
+            '0': '૦'
+        },
+        numberMap$5 = {
+            'à«§': '1',
+            '૨': '2',
+            'à«©': '3',
+            '૪': '4',
+            'à««': '5',
+            '૬': '6',
+            'à«­': '7',
+            'à«®': '8',
+            '૯': '9',
+            '૦': '0'
+        };
+
+    moment.defineLocale('gu', {
+        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
+        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
+        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
+        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
+        longDateFormat: {
+            LT: 'A h:mm વાગ્યે',
+            LTS: 'A h:mm:ss વાગ્યે',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
+            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
+        },
+        calendar: {
+            sameDay: '[આજ] LT',
+            nextDay: '[કાલે] LT',
+            nextWeek: 'dddd, LT',
+            lastDay: '[ગઇકાલે] LT',
+            lastWeek: '[પાછલા] dddd, LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%s મા',
+            past: '%s પેહલા',
+            s: 'અમુક પળો',
+            ss: '%d સેકંડ',
+            m: 'એક મિનિટ',
+            mm: '%d મિનિટ',
+            h: 'એક કલાક',
+            hh: '%d કલાક',
+            d: 'એક દિવસ',
+            dd: '%d દિવસ',
+            M: 'એક મહિનો',
+            MM: '%d મહિનો',
+            y: 'એક વર્ષ',
+            yy: '%d વર્ષ'
+        },
+        preparse: function (string) {
+            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
+                return numberMap$5[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$6[match];
+            });
+        },
+        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
+        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'રાત') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'સવાર') {
+                return hour;
+            } else if (meridiem === 'બપોર') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'સાંજ') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'રાત';
+            } else if (hour < 10) {
+                return 'સવાર';
+            } else if (hour < 17) {
+                return 'બપોર';
+            } else if (hour < 20) {
+                return 'સાંજ';
+            } else {
+                return 'રાત';
+            }
+        },
+        week: {
+            dow: 0, // Sunday is the first day of the week.
+            doy: 6 // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('he', {
+        months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
+        monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
+        weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
+        weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
+        weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [ב]MMMM YYYY',
+            LLL : 'D [ב]MMMM YYYY HH:mm',
+            LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
+            l : 'D/M/YYYY',
+            ll : 'D MMM YYYY',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd, D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[היום ב־]LT',
+            nextDay : '[מחר ב־]LT',
+            nextWeek : 'dddd [בשעה] LT',
+            lastDay : '[אתמול ב־]LT',
+            lastWeek : '[ביום] dddd [האחרון בשעה] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'בעוד %s',
+            past : 'לפני %s',
+            s : 'מספר שניות',
+            ss : '%d שניות',
+            m : 'דקה',
+            mm : '%d דקות',
+            h : 'שעה',
+            hh : function (number) {
+                if (number === 2) {
+                    return 'שעתיים';
+                }
+                return number + ' שעות';
+            },
+            d : 'יום',
+            dd : function (number) {
+                if (number === 2) {
+                    return 'יומיים';
+                }
+                return number + ' ימים';
+            },
+            M : 'חודש',
+            MM : function (number) {
+                if (number === 2) {
+                    return 'חודשיים';
+                }
+                return number + ' חודשים';
+            },
+            y : 'שנה',
+            yy : function (number) {
+                if (number === 2) {
+                    return 'שנתיים';
+                } else if (number % 10 === 0 && number !== 10) {
+                    return number + ' שנה';
+                }
+                return number + ' שנים';
+            }
+        },
+        meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
+        isPM : function (input) {
+            return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 5) {
+                return 'לפנות בוקר';
+            } else if (hour < 10) {
+                return 'בבוקר';
+            } else if (hour < 12) {
+                return isLower ? 'לפנה"צ' : 'לפני הצהריים';
+            } else if (hour < 18) {
+                return isLower ? 'אחה"צ' : 'אחרי הצהריים';
+            } else {
+                return 'בערב';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$7 = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap$6 = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    moment.defineLocale('hi', {
+        months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
+        monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+        weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
+        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm बजे',
+            LTS : 'A h:mm:ss बजे',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm बजे',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[कल] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[कल] LT',
+            lastWeek : '[पिछले] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s में',
+            past : '%s पहले',
+            s : 'कुछ ही क्षण',
+            ss : '%d सेकंड',
+            m : 'एक मिनट',
+            mm : '%d मिनट',
+            h : 'एक घंटा',
+            hh : '%d घंटे',
+            d : 'एक दिन',
+            dd : '%d दिन',
+            M : 'एक महीने',
+            MM : '%d महीने',
+            y : 'एक वर्ष',
+            yy : '%d वर्ष'
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap$6[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$7[match];
+            });
+        },
+        // Hindi notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
+        meridiemParse: /रात|सुबह|दोपहर|शाम/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'रात') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'सुबह') {
+                return hour;
+            } else if (meridiem === 'दोपहर') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'शाम') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'रात';
+            } else if (hour < 10) {
+                return 'सुबह';
+            } else if (hour < 17) {
+                return 'दोपहर';
+            } else if (hour < 20) {
+                return 'शाम';
+            } else {
+                return 'रात';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function translate$3(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                if (number === 1) {
+                    result += 'sekunda';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sekunde';
+                } else {
+                    result += 'sekundi';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+            case 'mm':
+                if (number === 1) {
+                    result += 'minuta';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'minute';
+                } else {
+                    result += 'minuta';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            case 'hh':
+                if (number === 1) {
+                    result += 'sat';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sata';
+                } else {
+                    result += 'sati';
+                }
+                return result;
+            case 'dd':
+                if (number === 1) {
+                    result += 'dan';
+                } else {
+                    result += 'dana';
+                }
+                return result;
+            case 'MM':
+                if (number === 1) {
+                    result += 'mjesec';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'mjeseca';
+                } else {
+                    result += 'mjeseci';
+                }
+                return result;
+            case 'yy':
+                if (number === 1) {
+                    result += 'godina';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'godine';
+                } else {
+                    result += 'godina';
+                }
+                return result;
+        }
+    }
+
+    moment.defineLocale('hr', {
+        months : {
+            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
+            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
+        },
+        monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danas u] LT',
+            nextDay  : '[sutra u] LT',
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[jučer u] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                        return '[prošlu] dddd [u] LT';
+                    case 6:
+                        return '[prošle] [subote] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prošli] dddd [u] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'par sekundi',
+            ss     : translate$3,
+            m      : translate$3,
+            mm     : translate$3,
+            h      : translate$3,
+            hh     : translate$3,
+            d      : 'dan',
+            dd     : translate$3,
+            M      : 'mjesec',
+            MM     : translate$3,
+            y      : 'godinu',
+            yy     : translate$3
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
+    function translate$4(number, withoutSuffix, key, isFuture) {
+        var num = number;
+        switch (key) {
+            case 's':
+                return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
+            case 'ss':
+                return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
+            case 'm':
+                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
+            case 'mm':
+                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
+            case 'h':
+                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
+            case 'hh':
+                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
+            case 'd':
+                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
+            case 'dd':
+                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
+            case 'M':
+                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+            case 'MM':
+                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+            case 'y':
+                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
+            case 'yy':
+                return num + (isFuture || withoutSuffix ? ' év' : ' éve');
+        }
+        return '';
+    }
+    function week(isFuture) {
+        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
+    }
+
+    moment.defineLocale('hu', {
+        months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
+        monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
+        weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
+        weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
+        weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'YYYY.MM.DD.',
+            LL : 'YYYY. MMMM D.',
+            LLL : 'YYYY. MMMM D. H:mm',
+            LLLL : 'YYYY. MMMM D., dddd H:mm'
+        },
+        meridiemParse: /de|du/i,
+        isPM: function (input) {
+            return input.charAt(1).toLowerCase() === 'u';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower === true ? 'de' : 'DE';
+            } else {
+                return isLower === true ? 'du' : 'DU';
+            }
+        },
+        calendar : {
+            sameDay : '[ma] LT[-kor]',
+            nextDay : '[holnap] LT[-kor]',
+            nextWeek : function () {
+                return week.call(this, true);
+            },
+            lastDay : '[tegnap] LT[-kor]',
+            lastWeek : function () {
+                return week.call(this, false);
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s múlva',
+            past : '%s',
+            s : translate$4,
+            ss : translate$4,
+            m : translate$4,
+            mm : translate$4,
+            h : translate$4,
+            hh : translate$4,
+            d : translate$4,
+            dd : translate$4,
+            M : translate$4,
+            MM : translate$4,
+            y : translate$4,
+            yy : translate$4
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('hy-am', {
+        months : {
+            format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'),
+            standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.split('_')
+        },
+        monthsShort : 'Õ°Õ¶Õ¾_ÖƒÕ¿Ö€_Õ´Ö€Õ¿_Õ¡ÕºÖ€_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö…Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'),
+        weekdays : 'Õ¯Õ«Ö€Õ¡Õ¯Õ«_Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«_Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸Ö‚Ö€Õ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'),
+        weekdaysShort : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+        weekdaysMin : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY Õ©.',
+            LLL : 'D MMMM YYYY Õ©., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm'
+        },
+        calendar : {
+            sameDay: '[Õ¡ÕµÕ½Ö…Ö€] LT',
+            nextDay: '[Õ¾Õ¡Õ²Õ¨] LT',
+            lastDay: '[Õ¥Ö€Õ¥Õ¯] LT',
+            nextWeek: function () {
+                return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT';
+            },
+            lastWeek: function () {
+                return '[անցած] dddd [օրը ժամը] LT';
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s Õ°Õ¥Õ¿Õ¸',
+            past : '%s Õ¡Õ¼Õ¡Õ»',
+            s : 'Õ´Õ« Ö„Õ¡Õ¶Õ« Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+            ss : '%d Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+            m : 'Ö€Õ¸ÕºÕ¥',
+            mm : '%d Ö€Õ¸ÕºÕ¥',
+            h : 'ÕªÕ¡Õ´',
+            hh : '%d ÕªÕ¡Õ´',
+            d : 'Ö…Ö€',
+            dd : '%d Ö…Ö€',
+            M : 'Õ¡Õ´Õ«Õ½',
+            MM : '%d Õ¡Õ´Õ«Õ½',
+            y : 'Õ¿Õ¡Ö€Õ«',
+            yy : '%d Õ¿Õ¡Ö€Õ«'
+        },
+        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
+        isPM: function (input) {
+            return /^(ցերեկվա|երեկոյան)$/.test(input);
+        },
+        meridiem : function (hour) {
+            if (hour < 4) {
+                return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡';
+            } else if (hour < 12) {
+                return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡';
+            } else if (hour < 17) {
+                return 'ցերեկվա';
+            } else {
+                return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'DDD':
+                case 'w':
+                case 'W':
+                case 'DDDo':
+                    if (number === 1) {
+                        return number + '-Õ«Õ¶';
+                    }
+                    return number + '-Ö€Õ¤';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('id', {
+        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
+        weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
+        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|siang|sore|malam/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'siang') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'sore' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'siang';
+            } else if (hours < 19) {
+                return 'sore';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Besok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kemarin pukul] LT',
+            lastWeek : 'dddd [lalu pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lalu',
+            s : 'beberapa detik',
+            ss : '%d detik',
+            m : 'semenit',
+            mm : '%d menit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural$2(n) {
+        if (n % 100 === 11) {
+            return true;
+        } else if (n % 10 === 1) {
+            return false;
+        }
+        return true;
+    }
+    function translate$5(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':
+                return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
+            case 'ss':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
+                }
+                return result + 'sekúnda';
+            case 'm':
+                return withoutSuffix ? 'mínúta' : 'mínútu';
+            case 'mm':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
+                } else if (withoutSuffix) {
+                    return result + 'mínúta';
+                }
+                return result + 'mínútu';
+            case 'hh':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
+                }
+                return result + 'klukkustund';
+            case 'd':
+                if (withoutSuffix) {
+                    return 'dagur';
+                }
+                return isFuture ? 'dag' : 'degi';
+            case 'dd':
+                if (plural$2(number)) {
+                    if (withoutSuffix) {
+                        return result + 'dagar';
+                    }
+                    return result + (isFuture ? 'daga' : 'dögum');
+                } else if (withoutSuffix) {
+                    return result + 'dagur';
+                }
+                return result + (isFuture ? 'dag' : 'degi');
+            case 'M':
+                if (withoutSuffix) {
+                    return 'mánuður';
+                }
+                return isFuture ? 'mánuð' : 'mánuði';
+            case 'MM':
+                if (plural$2(number)) {
+                    if (withoutSuffix) {
+                        return result + 'mánuðir';
+                    }
+                    return result + (isFuture ? 'mánuði' : 'mánuðum');
+                } else if (withoutSuffix) {
+                    return result + 'mánuður';
+                }
+                return result + (isFuture ? 'mánuð' : 'mánuði');
+            case 'y':
+                return withoutSuffix || isFuture ? 'ár' : 'ári';
+            case 'yy':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
+                }
+                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
+        }
+    }
+
+    moment.defineLocale('is', {
+        months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
+        weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
+        weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
+        weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] H:mm',
+            LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
+        },
+        calendar : {
+            sameDay : '[í dag kl.] LT',
+            nextDay : '[á morgun kl.] LT',
+            nextWeek : 'dddd [kl.] LT',
+            lastDay : '[í gær kl.] LT',
+            lastWeek : '[síðasta] dddd [kl.] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'eftir %s',
+            past : 'fyrir %s síðan',
+            s : translate$5,
+            ss : translate$5,
+            m : translate$5,
+            mm : translate$5,
+            h : 'klukkustund',
+            hh : translate$5,
+            d : translate$5,
+            dd : translate$5,
+            M : translate$5,
+            MM : translate$5,
+            y : translate$5,
+            yy : translate$5
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('it-ch', {
+        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Oggi alle] LT',
+            nextDay: '[Domani alle] LT',
+            nextWeek: 'dddd [alle] LT',
+            lastDay: '[Ieri alle] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[la scorsa] dddd [alle] LT';
+                    default:
+                        return '[lo scorso] dddd [alle] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+            },
+            past : '%s fa',
+            s : 'alcuni secondi',
+            ss : '%d secondi',
+            m : 'un minuto',
+            mm : '%d minuti',
+            h : 'un\'ora',
+            hh : '%d ore',
+            d : 'un giorno',
+            dd : '%d giorni',
+            M : 'un mese',
+            MM : '%d mesi',
+            y : 'un anno',
+            yy : '%d anni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('it', {
+        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Oggi alle] LT',
+            nextDay: '[Domani alle] LT',
+            nextWeek: 'dddd [alle] LT',
+            lastDay: '[Ieri alle] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[la scorsa] dddd [alle] LT';
+                    default:
+                        return '[lo scorso] dddd [alle] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+            },
+            past : '%s fa',
+            s : 'alcuni secondi',
+            ss : '%d secondi',
+            m : 'un minuto',
+            mm : '%d minuti',
+            h : 'un\'ora',
+            hh : '%d ore',
+            d : 'un giorno',
+            dd : '%d giorni',
+            M : 'un mese',
+            MM : '%d mesi',
+            y : 'un anno',
+            yy : '%d anni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ja', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
+        weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
+        weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日 dddd HH:mm',
+            l : 'YYYY/MM/DD',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日(ddd) HH:mm'
+        },
+        meridiemParse: /午前|午後/i,
+        isPM : function (input) {
+            return input === '午後';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return '午前';
+            } else {
+                return '午後';
+            }
+        },
+        calendar : {
+            sameDay : '[今日] LT',
+            nextDay : '[明日] LT',
+            nextWeek : function (now) {
+                if (now.week() < this.week()) {
+                    return '[来週]dddd LT';
+                } else {
+                    return 'dddd LT';
+                }
+            },
+            lastDay : '[昨日] LT',
+            lastWeek : function (now) {
+                if (this.week() < now.week()) {
+                    return '[先週]dddd LT';
+                } else {
+                    return 'dddd LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}æ—¥/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + 'æ—¥';
+                default:
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%s後',
+            past : '%s前',
+            s : 'æ•°ç§’',
+            ss : '%dç§’',
+            m : '1分',
+            mm : '%d分',
+            h : '1時間',
+            hh : '%d時間',
+            d : '1æ—¥',
+            dd : '%dæ—¥',
+            M : '1ヶ月',
+            MM : '%dヶ月',
+            y : '1å¹´',
+            yy : '%då¹´'
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('jv', {
+        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
+        weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
+        weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
+        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /enjing|siyang|sonten|ndalu/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'enjing') {
+                return hour;
+            } else if (meridiem === 'siyang') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'enjing';
+            } else if (hours < 15) {
+                return 'siyang';
+            } else if (hours < 19) {
+                return 'sonten';
+            } else {
+                return 'ndalu';
+            }
+        },
+        calendar : {
+            sameDay : '[Dinten puniko pukul] LT',
+            nextDay : '[Mbenjang pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kala wingi pukul] LT',
+            lastWeek : 'dddd [kepengker pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'wonten ing %s',
+            past : '%s ingkang kepengker',
+            s : 'sawetawis detik',
+            ss : '%d detik',
+            m : 'setunggal menit',
+            mm : '%d menit',
+            h : 'setunggal jam',
+            hh : '%d jam',
+            d : 'sedinten',
+            dd : '%d dinten',
+            M : 'sewulan',
+            MM : '%d wulan',
+            y : 'setaun',
+            yy : '%d taun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ka', {
+        months : {
+            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
+            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
+        },
+        monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
+        weekdays : {
+            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
+            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
+            isFormat: /(წინა|შემდეგ)/
+        },
+        weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
+        weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[დღეს] LT[-ზე]',
+            nextDay : '[ხვალ] LT[-ზე]',
+            lastDay : '[გუშინ] LT[-ზე]',
+            nextWeek : '[შემდეგ] dddd LT[-ზე]',
+            lastWeek : '[წინა] dddd LT-ზე',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
+                    s.replace(/ი$/, 'ში') :
+                    s + 'ში';
+            },
+            past : function (s) {
+                if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
+                    return s.replace(/(ი|ე)$/, 'ის წინ');
+                }
+                if ((/წელი/).test(s)) {
+                    return s.replace(/წელი$/, 'წლის წინ');
+                }
+            },
+            s : 'რამდენიმე წამი',
+            ss : '%d წამი',
+            m : 'წუთი',
+            mm : '%d წუთი',
+            h : 'საათი',
+            hh : '%d საათი',
+            d : 'დღე',
+            dd : '%d დღე',
+            M : 'თვე',
+            MM : '%d თვე',
+            y : 'წელი',
+            yy : '%d წელი'
+        },
+        dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
+        ordinal : function (number) {
+            if (number === 0) {
+                return number;
+            }
+            if (number === 1) {
+                return number + '-ლი';
+            }
+            if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
+                return 'მე-' + number;
+            }
+            return number + '-ე';
+        },
+        week : {
+            dow : 1,
+            doy : 7
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes$1 = {
+        0: '-ші',
+        1: '-ші',
+        2: '-ші',
+        3: '-ші',
+        4: '-ші',
+        5: '-ші',
+        6: '-шы',
+        7: '-ші',
+        8: '-ші',
+        9: '-шы',
+        10: '-шы',
+        20: '-шы',
+        30: '-шы',
+        40: '-шы',
+        50: '-ші',
+        60: '-шы',
+        70: '-ші',
+        80: '-ші',
+        90: '-шы',
+        100: '-ші'
+    };
+
+    moment.defineLocale('kk', {
+        months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
+        monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
+        weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
+        weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
+        weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бүгін сағат] LT',
+            nextDay : '[Ертең сағат] LT',
+            nextWeek : 'dddd [сағат] LT',
+            lastDay : '[Кеше сағат] LT',
+            lastWeek : '[Өткен аптаның] dddd [сағат] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ішінде',
+            past : '%s бұрын',
+            s : 'бірнеше секунд',
+            ss : '%d секунд',
+            m : 'бір минут',
+            mm : '%d минут',
+            h : 'бір сағат',
+            hh : '%d сағат',
+            d : 'бір күн',
+            dd : '%d күн',
+            M : 'бір ай',
+            MM : '%d ай',
+            y : 'бір жыл',
+            yy : '%d жыл'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
+        ordinal : function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$8 = {
+        '1': '១',
+        '2': '២',
+        '3': '៣',
+        '4': '៤',
+        '5': '៥',
+        '6': '៦',
+        '7': '៧',
+        '8': '៨',
+        '9': '៩',
+        '0': '០'
+    }, numberMap$7 = {
+        '១': '1',
+        '២': '2',
+        '៣': '3',
+        '៤': '4',
+        '៥': '5',
+        '៦': '6',
+        '៧': '7',
+        '៨': '8',
+        '៩': '9',
+        '០': '0'
+    };
+
+    moment.defineLocale('km', {
+        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+            '_'
+        ),
+        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+            '_'
+        ),
+        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
+        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+        weekdaysParseExact: true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ព្រឹក|ល្ងាច/,
+        isPM: function (input) {
+            return input === 'ល្ងាច';
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ព្រឹក';
+            } else {
+                return 'ល្ងាច';
+            }
+        },
+        calendar: {
+            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
+            nextDay: '[ស្អែក ម៉ោង] LT',
+            nextWeek: 'dddd [ម៉ោង] LT',
+            lastDay: '[ម្សិលមិញ ម៉ោង] LT',
+            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%sទៀត',
+            past: '%sមុន',
+            s: 'ប៉ុន្មានវិនាទី',
+            ss: '%d វិនាទី',
+            m: 'មួយនាទី',
+            mm: '%d នាទី',
+            h: 'មួយម៉ោង',
+            hh: '%d ម៉ោង',
+            d: 'មួយថ្ងៃ',
+            dd: '%d ថ្ងៃ',
+            M: 'មួយខែ',
+            MM: '%d ខែ',
+            y: 'មួយឆ្នាំ',
+            yy: '%d ឆ្នាំ'
+        },
+        dayOfMonthOrdinalParse : /ទី\d{1,2}/,
+        ordinal : 'ទី%d',
+        preparse: function (string) {
+            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
+                return numberMap$7[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$8[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$9 = {
+        '1': 'à³§',
+        '2': '೨',
+        '3': '೩',
+        '4': '೪',
+        '5': '೫',
+        '6': '೬',
+        '7': 'à³­',
+        '8': 'à³®',
+        '9': '೯',
+        '0': '೦'
+    },
+    numberMap$8 = {
+        'à³§': '1',
+        '೨': '2',
+        '೩': '3',
+        '೪': '4',
+        '೫': '5',
+        '೬': '6',
+        'à³­': '7',
+        'à³®': '8',
+        '೯': '9',
+        '೦': '0'
+    };
+
+    moment.defineLocale('kn', {
+        months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
+        monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
+        weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
+        weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[ಇಂದು] LT',
+            nextDay : '[ನಾಳೆ] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[ನಿನ್ನೆ] LT',
+            lastWeek : '[ಕೊನೆಯ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ನಂತರ',
+            past : '%s ಹಿಂದೆ',
+            s : 'ಕೆಲವು ಕ್ಷಣಗಳು',
+            ss : '%d ಸೆಕೆಂಡುಗಳು',
+            m : 'ಒಂದು ನಿಮಿಷ',
+            mm : '%d ನಿಮಿಷ',
+            h : 'ಒಂದು ಗಂಟೆ',
+            hh : '%d ಗಂಟೆ',
+            d : 'ಒಂದು ದಿನ',
+            dd : '%d ದಿನ',
+            M : 'ಒಂದು ತಿಂಗಳು',
+            MM : '%d ತಿಂಗಳು',
+            y : 'ಒಂದು ವರ್ಷ',
+            yy : '%d ವರ್ಷ'
+        },
+        preparse: function (string) {
+            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
+                return numberMap$8[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$9[match];
+            });
+        },
+        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ರಾತ್ರಿ') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
+                return hour;
+            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'ಸಂಜೆ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ರಾತ್ರಿ';
+            } else if (hour < 10) {
+                return 'ಬೆಳಿಗ್ಗೆ';
+            } else if (hour < 17) {
+                return 'ಮಧ್ಯಾಹ್ನ';
+            } else if (hour < 20) {
+                return 'ಸಂಜೆ';
+            } else {
+                return 'ರಾತ್ರಿ';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
+        ordinal : function (number) {
+            return number + 'ನೇ';
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ko', {
+        months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+        monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+        weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
+        weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
+        weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'YYYY.MM.DD.',
+            LL : 'YYYY년 MMMM D일',
+            LLL : 'YYYY년 MMMM D일 A h:mm',
+            LLLL : 'YYYY년 MMMM D일 dddd A h:mm',
+            l : 'YYYY.MM.DD.',
+            ll : 'YYYY년 MMMM D일',
+            lll : 'YYYY년 MMMM D일 A h:mm',
+            llll : 'YYYY년 MMMM D일 dddd A h:mm'
+        },
+        calendar : {
+            sameDay : '오늘 LT',
+            nextDay : '내일 LT',
+            nextWeek : 'dddd LT',
+            lastDay : '어제 LT',
+            lastWeek : '지난주 dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s 후',
+            past : '%s ì „',
+            s : '몇 초',
+            ss : '%dì´ˆ',
+            m : '1ë¶„',
+            mm : '%dë¶„',
+            h : '한 시간',
+            hh : '%d시간',
+            d : '하루',
+            dd : '%d일',
+            M : '한 달',
+            MM : '%d달',
+            y : '일 년',
+            yy : '%dë…„'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(일|월|주)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + '일';
+                case 'M':
+                    return number + 'ì›”';
+                case 'w':
+                case 'W':
+                    return number + '주';
+                default:
+                    return number;
+            }
+        },
+        meridiemParse : /오전|오후/,
+        isPM : function (token) {
+            return token === '오후';
+        },
+        meridiem : function (hour, minute, isUpper) {
+            return hour < 12 ? '오전' : '오후';
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$a = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap$9 = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    },
+    months$6 = [
+        'کانونی دووەم',
+        'شوبات',
+        'ئازار',
+        'نیسان',
+        'ئایار',
+        'حوزەیران',
+        'تەمموز',
+        'ئاب',
+        'ئەیلوول',
+        'تشرینی یەكەم',
+        'تشرینی دووەم',
+        'كانونی یەکەم'
+    ];
+
+
+    moment.defineLocale('ku', {
+        months : months$6,
+        monthsShort : months$6,
+        weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),
+        weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
+        weekdaysMin : 'ی_د_س_چ_پ_ه_ش'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ئێواره‌|به‌یانی/,
+        isPM: function (input) {
+            return /ئێواره‌/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'به‌یانی';
+            } else {
+                return 'ئێواره‌';
+            }
+        },
+        calendar : {
+            sameDay : '[ئه‌مرۆ كاتژمێر] LT',
+            nextDay : '[به‌یانی كاتژمێر] LT',
+            nextWeek : 'dddd [كاتژمێر] LT',
+            lastDay : '[دوێنێ كاتژمێر] LT',
+            lastWeek : 'dddd [كاتژمێر] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'له‌ %s',
+            past : '%s',
+            s : 'چه‌ند چركه‌یه‌ك',
+            ss : 'چركه‌ %d',
+            m : 'یه‌ك خوله‌ك',
+            mm : '%d خوله‌ك',
+            h : 'یه‌ك كاتژمێر',
+            hh : '%d كاتژمێر',
+            d : 'یه‌ك ڕۆژ',
+            dd : '%d Ú•Û†Ú˜',
+            M : 'یه‌ك مانگ',
+            MM : '%d مانگ',
+            y : 'یه‌ك ساڵ',
+            yy : '%d ساڵ'
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap$9[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$a[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12 // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes$2 = {
+        0: '-чү',
+        1: '-чи',
+        2: '-чи',
+        3: '-чү',
+        4: '-чү',
+        5: '-чи',
+        6: '-чы',
+        7: '-чи',
+        8: '-чи',
+        9: '-чу',
+        10: '-чу',
+        20: '-чы',
+        30: '-чу',
+        40: '-чы',
+        50: '-чү',
+        60: '-чы',
+        70: '-чи',
+        80: '-чи',
+        90: '-чу',
+        100: '-чү'
+    };
+
+    moment.defineLocale('ky', {
+        months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+        monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
+        weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
+        weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бүгүн саат] LT',
+            nextDay : '[Эртең саат] LT',
+            nextWeek : 'dddd [саат] LT',
+            lastDay : '[Кечээ саат] LT',
+            lastWeek : '[Өткөн аптанын] dddd [күнү] [саат] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ичинде',
+            past : '%s мурун',
+            s : 'бирнече секунд',
+            ss : '%d секунд',
+            m : 'бир мүнөт',
+            mm : '%d мүнөт',
+            h : 'бир саат',
+            hh : '%d саат',
+            d : 'бир күн',
+            dd : '%d күн',
+            M : 'бир ай',
+            MM : '%d ай',
+            y : 'бир жыл',
+            yy : '%d жыл'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
+        ordinal : function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eng Minutt', 'enger Minutt'],
+            'h': ['eng Stonn', 'enger Stonn'],
+            'd': ['een Dag', 'engem Dag'],
+            'M': ['ee Mount', 'engem Mount'],
+            'y': ['ee Joer', 'engem Joer']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+    function processFutureTime(string) {
+        var number = string.substr(0, string.indexOf(' '));
+        if (eifelerRegelAppliesToNumber(number)) {
+            return 'a ' + string;
+        }
+        return 'an ' + string;
+    }
+    function processPastTime(string) {
+        var number = string.substr(0, string.indexOf(' '));
+        if (eifelerRegelAppliesToNumber(number)) {
+            return 'viru ' + string;
+        }
+        return 'virun ' + string;
+    }
+    /**
+     * Returns true if the word before the given number loses the '-n' ending.
+     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
+     *
+     * @param number {integer}
+     * @returns {boolean}
+     */
+    function eifelerRegelAppliesToNumber(number) {
+        number = parseInt(number, 10);
+        if (isNaN(number)) {
+            return false;
+        }
+        if (number < 0) {
+            // Negative Number --> always true
+            return true;
+        } else if (number < 10) {
+            // Only 1 digit
+            if (4 <= number && number <= 7) {
+                return true;
+            }
+            return false;
+        } else if (number < 100) {
+            // 2 digits
+            var lastDigit = number % 10, firstDigit = number / 10;
+            if (lastDigit === 0) {
+                return eifelerRegelAppliesToNumber(firstDigit);
+            }
+            return eifelerRegelAppliesToNumber(lastDigit);
+        } else if (number < 10000) {
+            // 3 or 4 digits --> recursively check first digit
+            while (number >= 10) {
+                number = number / 10;
+            }
+            return eifelerRegelAppliesToNumber(number);
+        } else {
+            // Anything larger than 4 digits: recursively check first n-3 digits
+            number = number / 1000;
+            return eifelerRegelAppliesToNumber(number);
+        }
+    }
+
+    moment.defineLocale('lb', {
+        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
+        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
+        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm [Auer]',
+            LTS: 'H:mm:ss [Auer]',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm [Auer]',
+            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
+        },
+        calendar: {
+            sameDay: '[Haut um] LT',
+            sameElse: 'L',
+            nextDay: '[Muer um] LT',
+            nextWeek: 'dddd [um] LT',
+            lastDay: '[Gëschter um] LT',
+            lastWeek: function () {
+                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
+                switch (this.day()) {
+                    case 2:
+                    case 4:
+                        return '[Leschten] dddd [um] LT';
+                    default:
+                        return '[Leschte] dddd [um] LT';
+                }
+            }
+        },
+        relativeTime : {
+            future : processFutureTime,
+            past : processPastTime,
+            s : 'e puer Sekonnen',
+            ss : '%d Sekonnen',
+            m : processRelativeTime$5,
+            mm : '%d Minutten',
+            h : processRelativeTime$5,
+            hh : '%d Stonnen',
+            d : processRelativeTime$5,
+            dd : '%d Deeg',
+            M : processRelativeTime$5,
+            MM : '%d Méint',
+            y : processRelativeTime$5,
+            yy : '%d Joer'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal: '%d.',
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('lo', {
+        months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+        monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+        weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+        weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+        weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
+        isPM: function (input) {
+            return input === 'ຕອນແລງ';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ຕອນເຊົ້າ';
+            } else {
+                return 'ຕອນແລງ';
+            }
+        },
+        calendar : {
+            sameDay : '[ມື້ນີ້ເວລາ] LT',
+            nextDay : '[ມື້ອື່ນເວລາ] LT',
+            nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
+            lastDay : '[ມື້ວານນີ້ເວລາ] LT',
+            lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ອີກ %s',
+            past : '%sຜ່ານມາ',
+            s : 'ບໍ່ເທົ່າໃດວິນາທີ',
+            ss : '%d ວິນາທີ' ,
+            m : '1 ນາທີ',
+            mm : '%d ນາທີ',
+            h : '1 ຊົ່ວໂມງ',
+            hh : '%d ຊົ່ວໂມງ',
+            d : '1 ມື້',
+            dd : '%d ມື້',
+            M : '1 ເດືອນ',
+            MM : '%d ເດືອນ',
+            y : '1 ປີ',
+            yy : '%d ປີ'
+        },
+        dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
+        ordinal : function (number) {
+            return 'ທີ່' + number;
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var units = {
+        'ss' : 'sekundė_sekundžių_sekundes',
+        'm' : 'minutÄ—_minutÄ—s_minutÄ™',
+        'mm': 'minutės_minučių_minutes',
+        'h' : 'valanda_valandos_valandÄ…',
+        'hh': 'valandos_valandų_valandas',
+        'd' : 'diena_dienos_dienÄ…',
+        'dd': 'dienos_dienų_dienas',
+        'M' : 'mėnuo_mėnesio_mėnesį',
+        'MM': 'mėnesiai_mėnesių_mėnesius',
+        'y' : 'metai_metų_metus',
+        'yy': 'metai_metų_metus'
+    };
+    function translateSeconds(number, withoutSuffix, key, isFuture) {
+        if (withoutSuffix) {
+            return 'kelios sekundÄ—s';
+        } else {
+            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
+        }
+    }
+    function translateSingular(number, withoutSuffix, key, isFuture) {
+        return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
+    }
+    function special(number) {
+        return number % 10 === 0 || (number > 10 && number < 20);
+    }
+    function forms(key) {
+        return units[key].split('_');
+    }
+    function translate$6(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        if (number === 1) {
+            return result + translateSingular(number, withoutSuffix, key[0], isFuture);
+        } else if (withoutSuffix) {
+            return result + (special(number) ? forms(key)[1] : forms(key)[0]);
+        } else {
+            if (isFuture) {
+                return result + forms(key)[1];
+            } else {
+                return result + (special(number) ? forms(key)[1] : forms(key)[2]);
+            }
+        }
+    }
+    moment.defineLocale('lt', {
+        months : {
+            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
+            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
+            isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
+        },
+        monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
+        weekdays : {
+            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
+            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
+            isFormat: /dddd HH:mm/
+        },
+        weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
+        weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY [m.] MMMM D [d.]',
+            LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+            LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+            l : 'YYYY-MM-DD',
+            ll : 'YYYY [m.] MMMM D [d.]',
+            lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+            llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
+        },
+        calendar : {
+            sameDay : '[Å iandien] LT',
+            nextDay : '[Rytoj] LT',
+            nextWeek : 'dddd LT',
+            lastDay : '[Vakar] LT',
+            lastWeek : '[Praėjusį] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'po %s',
+            past : 'prieš %s',
+            s : translateSeconds,
+            ss : translate$6,
+            m : translateSingular,
+            mm : translate$6,
+            h : translateSingular,
+            hh : translate$6,
+            d : translateSingular,
+            dd : translate$6,
+            M : translateSingular,
+            MM : translate$6,
+            y : translateSingular,
+            yy : translate$6
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-oji/,
+        ordinal : function (number) {
+            return number + '-oji';
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var units$1 = {
+        'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
+        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+        'h': 'stundas_stundām_stunda_stundas'.split('_'),
+        'hh': 'stundas_stundām_stunda_stundas'.split('_'),
+        'd': 'dienas_dienām_diena_dienas'.split('_'),
+        'dd': 'dienas_dienām_diena_dienas'.split('_'),
+        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+        'y': 'gada_gadiem_gads_gadi'.split('_'),
+        'yy': 'gada_gadiem_gads_gadi'.split('_')
+    };
+    /**
+     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
+     */
+    function format(forms, number, withoutSuffix) {
+        if (withoutSuffix) {
+            // E.g. "21 minūte", "3 minūtes".
+            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
+        } else {
+            // E.g. "21 minūtes" as in "pēc 21 minūtes".
+            // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
+            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
+        }
+    }
+    function relativeTimeWithPlural$1(number, withoutSuffix, key) {
+        return number + ' ' + format(units$1[key], number, withoutSuffix);
+    }
+    function relativeTimeWithSingular(number, withoutSuffix, key) {
+        return format(units$1[key], number, withoutSuffix);
+    }
+    function relativeSeconds(number, withoutSuffix) {
+        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
+    }
+
+    moment.defineLocale('lv', {
+        months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
+        weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
+        weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY.',
+            LL : 'YYYY. [gada] D. MMMM',
+            LLL : 'YYYY. [gada] D. MMMM, HH:mm',
+            LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
+        },
+        calendar : {
+            sameDay : '[Å odien pulksten] LT',
+            nextDay : '[Rīt pulksten] LT',
+            nextWeek : 'dddd [pulksten] LT',
+            lastDay : '[Vakar pulksten] LT',
+            lastWeek : '[Pagājušā] dddd [pulksten] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'pēc %s',
+            past : 'pirms %s',
+            s : relativeSeconds,
+            ss : relativeTimeWithPlural$1,
+            m : relativeTimeWithSingular,
+            mm : relativeTimeWithPlural$1,
+            h : relativeTimeWithSingular,
+            hh : relativeTimeWithPlural$1,
+            d : relativeTimeWithSingular,
+            dd : relativeTimeWithPlural$1,
+            M : relativeTimeWithSingular,
+            MM : relativeTimeWithPlural$1,
+            y : relativeTimeWithSingular,
+            yy : relativeTimeWithPlural$1
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var translator = {
+        words: { //Different grammatical cases
+            ss: ['sekund', 'sekunda', 'sekundi'],
+            m: ['jedan minut', 'jednog minuta'],
+            mm: ['minut', 'minuta', 'minuta'],
+            h: ['jedan sat', 'jednog sata'],
+            hh: ['sat', 'sata', 'sati'],
+            dd: ['dan', 'dana', 'dana'],
+            MM: ['mjesec', 'mjeseca', 'mjeseci'],
+            yy: ['godina', 'godine', 'godina']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    moment.defineLocale('me', {
+        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact : true,
+        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[danas u] LT',
+            nextDay: '[sjutra u] LT',
+
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[juče u] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[prošle] [nedjelje] [u] LT',
+                    '[prošlog] [ponedjeljka] [u] LT',
+                    '[prošlog] [utorka] [u] LT',
+                    '[prošle] [srijede] [u] LT',
+                    '[prošlog] [četvrtka] [u] LT',
+                    '[prošlog] [petka] [u] LT',
+                    '[prošle] [subote] [u] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'nekoliko sekundi',
+            ss     : translator.translate,
+            m      : translator.translate,
+            mm     : translator.translate,
+            h      : translator.translate,
+            hh     : translator.translate,
+            d      : 'dan',
+            dd     : translator.translate,
+            M      : 'mjesec',
+            MM     : translator.translate,
+            y      : 'godinu',
+            yy     : translator.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('mi', {
+        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('_'),
+        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
+        monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
+        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
+        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY [i] HH:mm',
+            LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
+        },
+        calendar: {
+            sameDay: '[i teie mahana, i] LT',
+            nextDay: '[apopo i] LT',
+            nextWeek: 'dddd [i] LT',
+            lastDay: '[inanahi i] LT',
+            lastWeek: 'dddd [whakamutunga i] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'i roto i %s',
+            past: '%s i mua',
+            s: 'te hēkona ruarua',
+            ss: '%d hēkona',
+            m: 'he meneti',
+            mm: '%d meneti',
+            h: 'te haora',
+            hh: '%d haora',
+            d: 'he ra',
+            dd: '%d ra',
+            M: 'he marama',
+            MM: '%d marama',
+            y: 'he tau',
+            yy: '%d tau'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('mk', {
+        months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
+        monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
+        weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
+        weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
+        weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'D.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay : '[Денес во] LT',
+            nextDay : '[Утре во] LT',
+            nextWeek : '[Во] dddd [во] LT',
+            lastDay : '[Вчера во] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 6:
+                        return '[Изминатата] dddd [во] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[Изминатиот] dddd [во] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'после %s',
+            past : 'пред %s',
+            s : 'неколку секунди',
+            ss : '%d секунди',
+            m : 'минута',
+            mm : '%d минути',
+            h : 'час',
+            hh : '%d часа',
+            d : 'ден',
+            dd : '%d дена',
+            M : 'месец',
+            MM : '%d месеци',
+            y : 'година',
+            yy : '%d години'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+        ordinal : function (number) {
+            var lastDigit = number % 10,
+                last2Digits = number % 100;
+            if (number === 0) {
+                return number + '-ев';
+            } else if (last2Digits === 0) {
+                return number + '-ен';
+            } else if (last2Digits > 10 && last2Digits < 20) {
+                return number + '-ти';
+            } else if (lastDigit === 1) {
+                return number + '-ви';
+            } else if (lastDigit === 2) {
+                return number + '-ри';
+            } else if (lastDigit === 7 || lastDigit === 8) {
+                return number + '-ми';
+            } else {
+                return number + '-ти';
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ml', {
+        months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
+        monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
+        weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
+        weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm -നു',
+            LTS : 'A h:mm:ss -നു',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm -നു',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
+        },
+        calendar : {
+            sameDay : '[ഇന്ന്] LT',
+            nextDay : '[നാളെ] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[ഇന്നലെ] LT',
+            lastWeek : '[കഴിഞ്ഞ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s കഴിഞ്ഞ്',
+            past : '%s മുൻപ്',
+            s : 'അൽപ നിമിഷങ്ങൾ',
+            ss : '%d സെക്കൻഡ്',
+            m : 'ഒരു മിനിറ്റ്',
+            mm : '%d മിനിറ്റ്',
+            h : 'ഒരു മണിക്കൂർ',
+            hh : '%d മണിക്കൂർ',
+            d : 'ഒരു ദിവസം',
+            dd : '%d ദിവസം',
+            M : 'ഒരു മാസം',
+            MM : '%d മാസം',
+            y : 'ഒരു വർഷം',
+            yy : '%d വർഷം'
+        },
+        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'രാത്രി' && hour >= 4) ||
+                    meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
+                    meridiem === 'വൈകുന്നേരം') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'രാത്രി';
+            } else if (hour < 12) {
+                return 'രാവിലെ';
+            } else if (hour < 17) {
+                return 'ഉച്ച കഴിഞ്ഞ്';
+            } else if (hour < 20) {
+                return 'വൈകുന്നേരം';
+            } else {
+                return 'രാത്രി';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function translate$7(number, withoutSuffix, key, isFuture) {
+        switch (key) {
+            case 's':
+                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
+            case 'ss':
+                return number + (withoutSuffix ? ' секунд' : ' секундын');
+            case 'm':
+            case 'mm':
+                return number + (withoutSuffix ? ' минут' : ' минутын');
+            case 'h':
+            case 'hh':
+                return number + (withoutSuffix ? ' цаг' : ' цагийн');
+            case 'd':
+            case 'dd':
+                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
+            case 'M':
+            case 'MM':
+                return number + (withoutSuffix ? ' сар' : ' сарын');
+            case 'y':
+            case 'yy':
+                return number + (withoutSuffix ? ' жил' : ' жилийн');
+            default:
+                return number;
+        }
+    }
+
+    moment.defineLocale('mn', {
+        months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
+        monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
+        weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
+        weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY оны MMMMын D',
+            LLL : 'YYYY оны MMMMын D HH:mm',
+            LLLL : 'dddd, YYYY оны MMMMын D HH:mm'
+        },
+        meridiemParse: /ҮӨ|ҮХ/i,
+        isPM : function (input) {
+            return input === 'ҮХ';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'Ò®Ó¨';
+            } else {
+                return 'ҮХ';
+            }
+        },
+        calendar : {
+            sameDay : '[Өнөөдөр] LT',
+            nextDay : '[Маргааш] LT',
+            nextWeek : '[Ирэх] dddd LT',
+            lastDay : '[Өчигдөр] LT',
+            lastWeek : '[Өнгөрсөн] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s дараа',
+            past : '%s өмнө',
+            s : translate$7,
+            ss : translate$7,
+            m : translate$7,
+            mm : translate$7,
+            h : translate$7,
+            hh : translate$7,
+            d : translate$7,
+            dd : translate$7,
+            M : translate$7,
+            MM : translate$7,
+            y : translate$7,
+            yy : translate$7
+        },
+        dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + ' өдөр';
+                default:
+                    return number;
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$b = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap$a = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    function relativeTimeMr(number, withoutSuffix, string, isFuture)
+    {
+        var output = '';
+        if (withoutSuffix) {
+            switch (string) {
+                case 's': output = 'काही सेकंद'; break;
+                case 'ss': output = '%d सेकंद'; break;
+                case 'm': output = 'एक मिनिट'; break;
+                case 'mm': output = '%d मिनिटे'; break;
+                case 'h': output = 'एक तास'; break;
+                case 'hh': output = '%d तास'; break;
+                case 'd': output = 'एक दिवस'; break;
+                case 'dd': output = '%d दिवस'; break;
+                case 'M': output = 'एक महिना'; break;
+                case 'MM': output = '%d महिने'; break;
+                case 'y': output = 'एक वर्ष'; break;
+                case 'yy': output = '%d वर्षे'; break;
+            }
+        }
+        else {
+            switch (string) {
+                case 's': output = 'काही सेकंदां'; break;
+                case 'ss': output = '%d सेकंदां'; break;
+                case 'm': output = 'एका मिनिटा'; break;
+                case 'mm': output = '%d मिनिटां'; break;
+                case 'h': output = 'एका तासा'; break;
+                case 'hh': output = '%d तासां'; break;
+                case 'd': output = 'एका दिवसा'; break;
+                case 'dd': output = '%d दिवसां'; break;
+                case 'M': output = 'एका महिन्या'; break;
+                case 'MM': output = '%d महिन्यां'; break;
+                case 'y': output = 'एका वर्षा'; break;
+                case 'yy': output = '%d वर्षां'; break;
+            }
+        }
+        return output.replace(/%d/i, number);
+    }
+
+    moment.defineLocale('mr', {
+        months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
+        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+        weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
+        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm वाजता',
+            LTS : 'A h:mm:ss वाजता',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm वाजता',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[उद्या] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[काल] LT',
+            lastWeek: '[मागील] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future: '%sमध्ये',
+            past: '%sपूर्वी',
+            s: relativeTimeMr,
+            ss: relativeTimeMr,
+            m: relativeTimeMr,
+            mm: relativeTimeMr,
+            h: relativeTimeMr,
+            hh: relativeTimeMr,
+            d: relativeTimeMr,
+            dd: relativeTimeMr,
+            M: relativeTimeMr,
+            MM: relativeTimeMr,
+            y: relativeTimeMr,
+            yy: relativeTimeMr
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap$a[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$b[match];
+            });
+        },
+        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'रात्री') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'सकाळी') {
+                return hour;
+            } else if (meridiem === 'दुपारी') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'सायंकाळी') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'रात्री';
+            } else if (hour < 10) {
+                return 'सकाळी';
+            } else if (hour < 17) {
+                return 'दुपारी';
+            } else if (hour < 20) {
+                return 'सायंकाळी';
+            } else {
+                return 'रात्री';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ms-my', {
+        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|tengahari|petang|malam/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'tengahari') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'petang' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'tengahari';
+            } else if (hours < 19) {
+                return 'petang';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Esok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kelmarin pukul] LT',
+            lastWeek : 'dddd [lepas pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lepas',
+            s : 'beberapa saat',
+            ss : '%d saat',
+            m : 'seminit',
+            mm : '%d minit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ms', {
+        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|tengahari|petang|malam/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'tengahari') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'petang' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'tengahari';
+            } else if (hours < 19) {
+                return 'petang';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Esok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kelmarin pukul] LT',
+            lastWeek : 'dddd [lepas pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lepas',
+            s : 'beberapa saat',
+            ss : '%d saat',
+            m : 'seminit',
+            mm : '%d minit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('mt', {
+        months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
+        monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
+        weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
+        weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
+        weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Illum fil-]LT',
+            nextDay : '[Għada fil-]LT',
+            nextWeek : 'dddd [fil-]LT',
+            lastDay : '[Il-bieraħ fil-]LT',
+            lastWeek : 'dddd [li għadda] [fil-]LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'f’ %s',
+            past : '%s ilu',
+            s : 'ftit sekondi',
+            ss : '%d sekondi',
+            m : 'minuta',
+            mm : '%d minuti',
+            h : 'siegħa',
+            hh : '%d siegħat',
+            d : 'ġurnata',
+            dd : '%d ġranet',
+            M : 'xahar',
+            MM : '%d xhur',
+            y : 'sena',
+            yy : '%d sni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$c = {
+        '1': '၁',
+        '2': '၂',
+        '3': '၃',
+        '4': '၄',
+        '5': '၅',
+        '6': '၆',
+        '7': '၇',
+        '8': '၈',
+        '9': '၉',
+        '0': '၀'
+    }, numberMap$b = {
+        '၁': '1',
+        '၂': '2',
+        '၃': '3',
+        '၄': '4',
+        '၅': '5',
+        '၆': '6',
+        '၇': '7',
+        '၈': '8',
+        '၉': '9',
+        '၀': '0'
+    };
+
+    moment.defineLocale('my', {
+        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
+        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
+        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
+        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[ယနေ.] LT [မှာ]',
+            nextDay: '[မနက်ဖြန်] LT [မှာ]',
+            nextWeek: 'dddd LT [မှာ]',
+            lastDay: '[မနေ.က] LT [မှာ]',
+            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'လာမည့် %s မှာ',
+            past: 'လွန်ခဲ့သော %s က',
+            s: 'စက္ကန်.အနည်းငယ်',
+            ss : '%d စက္ကန့်',
+            m: 'တစ်မိနစ်',
+            mm: '%d မိနစ်',
+            h: 'တစ်နာရီ',
+            hh: '%d နာရီ',
+            d: 'တစ်ရက်',
+            dd: '%d ရက်',
+            M: 'တစ်လ',
+            MM: '%d လ',
+            y: 'တစ်နှစ်',
+            yy: '%d နှစ်'
+        },
+        preparse: function (string) {
+            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
+                return numberMap$b[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$c[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('nb', {
+        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+        weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] HH:mm',
+            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[i dag kl.] LT',
+            nextDay: '[i morgen kl.] LT',
+            nextWeek: 'dddd [kl.] LT',
+            lastDay: '[i går kl.] LT',
+            lastWeek: '[forrige] dddd [kl.] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s siden',
+            s : 'noen sekunder',
+            ss : '%d sekunder',
+            m : 'ett minutt',
+            mm : '%d minutter',
+            h : 'en time',
+            hh : '%d timer',
+            d : 'en dag',
+            dd : '%d dager',
+            M : 'en måned',
+            MM : '%d måneder',
+            y : 'ett år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$d = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap$c = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    moment.defineLocale('ne', {
+        months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
+        monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
+        weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
+        weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'Aको h:mm बजे',
+            LTS : 'Aको h:mm:ss बजे',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, Aको h:mm बजे',
+            LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap$c[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$d[match];
+            });
+        },
+        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'राति') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'बिहान') {
+                return hour;
+            } else if (meridiem === 'दिउँसो') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'साँझ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 3) {
+                return 'राति';
+            } else if (hour < 12) {
+                return 'बिहान';
+            } else if (hour < 16) {
+                return 'दिउँसो';
+            } else if (hour < 20) {
+                return 'साँझ';
+            } else {
+                return 'राति';
+            }
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[भोलि] LT',
+            nextWeek : '[आउँदो] dddd[,] LT',
+            lastDay : '[हिजो] LT',
+            lastWeek : '[गएको] dddd[,] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%sमा',
+            past : '%s अगाडि',
+            s : 'केही क्षण',
+            ss : '%d सेकेण्ड',
+            m : 'एक मिनेट',
+            mm : '%d मिनेट',
+            h : 'एक घण्टा',
+            hh : '%d घण्टा',
+            d : 'एक दिन',
+            dd : '%d दिन',
+            M : 'एक महिना',
+            MM : '%d महिना',
+            y : 'एक बर्ष',
+            yy : '%d बर्ष'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+    var monthsParse$4 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+    var monthsRegex$4 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
+
+    moment.defineLocale('nl-be', {
+        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots$1;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots$1[m.month()];
+            } else {
+                return monthsShortWithDots$1[m.month()];
+            }
+        },
+
+        monthsRegex: monthsRegex$4,
+        monthsShortRegex: monthsRegex$4,
+        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+        monthsParse : monthsParse$4,
+        longMonthsParse : monthsParse$4,
+        shortMonthsParse : monthsParse$4,
+
+        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[vandaag om] LT',
+            nextDay: '[morgen om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[gisteren om] LT',
+            lastWeek: '[afgelopen] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'over %s',
+            past : '%s geleden',
+            s : 'een paar seconden',
+            ss : '%d seconden',
+            m : 'één minuut',
+            mm : '%d minuten',
+            h : 'één uur',
+            hh : '%d uur',
+            d : 'één dag',
+            dd : '%d dagen',
+            M : 'één maand',
+            MM : '%d maanden',
+            y : 'één jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+    var monthsParse$5 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+    var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
+
+    moment.defineLocale('nl', {
+        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots$2;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots$2[m.month()];
+            } else {
+                return monthsShortWithDots$2[m.month()];
+            }
+        },
+
+        monthsRegex: monthsRegex$5,
+        monthsShortRegex: monthsRegex$5,
+        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+        monthsParse : monthsParse$5,
+        longMonthsParse : monthsParse$5,
+        shortMonthsParse : monthsParse$5,
+
+        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[vandaag om] LT',
+            nextDay: '[morgen om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[gisteren om] LT',
+            lastWeek: '[afgelopen] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'over %s',
+            past : '%s geleden',
+            s : 'een paar seconden',
+            ss : '%d seconden',
+            m : 'één minuut',
+            mm : '%d minuten',
+            h : 'één uur',
+            hh : '%d uur',
+            d : 'één dag',
+            dd : '%d dagen',
+            M : 'één maand',
+            MM : '%d maanden',
+            y : 'één jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('nn', {
+        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+        weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
+        weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
+        weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] H:mm',
+            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[I dag klokka] LT',
+            nextDay: '[I morgon klokka] LT',
+            nextWeek: 'dddd [klokka] LT',
+            lastDay: '[I går klokka] LT',
+            lastWeek: '[Føregåande] dddd [klokka] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s sidan',
+            s : 'nokre sekund',
+            ss : '%d sekund',
+            m : 'eit minutt',
+            mm : '%d minutt',
+            h : 'ein time',
+            hh : '%d timar',
+            d : 'ein dag',
+            dd : '%d dagar',
+            M : 'ein månad',
+            MM : '%d månader',
+            y : 'eit år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$e = {
+        '1': 'à©§',
+        '2': '੨',
+        '3': 'à©©',
+        '4': '੪',
+        '5': 'à©«',
+        '6': '੬',
+        '7': 'à©­',
+        '8': 'à©®',
+        '9': '੯',
+        '0': '੦'
+    },
+    numberMap$d = {
+        'à©§': '1',
+        '੨': '2',
+        'à©©': '3',
+        '੪': '4',
+        'à©«': '5',
+        '੬': '6',
+        'à©­': '7',
+        'à©®': '8',
+        '੯': '9',
+        '੦': '0'
+    };
+
+    moment.defineLocale('pa-in', {
+        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
+        months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+        monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+        weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
+        weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+        weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm ਵਜੇ',
+            LTS : 'A h:mm:ss ਵਜੇ',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
+        },
+        calendar : {
+            sameDay : '[ਅਜ] LT',
+            nextDay : '[ਕਲ] LT',
+            nextWeek : '[ਅਗਲਾ] dddd, LT',
+            lastDay : '[ਕਲ] LT',
+            lastWeek : '[ਪਿਛਲੇ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ਵਿੱਚ',
+            past : '%s ਪਿਛਲੇ',
+            s : 'ਕੁਝ ਸਕਿੰਟ',
+            ss : '%d ਸਕਿੰਟ',
+            m : 'ਇਕ ਮਿੰਟ',
+            mm : '%d ਮਿੰਟ',
+            h : 'ਇੱਕ ਘੰਟਾ',
+            hh : '%d ਘੰਟੇ',
+            d : 'ਇੱਕ ਦਿਨ',
+            dd : '%d ਦਿਨ',
+            M : 'ਇੱਕ ਮਹੀਨਾ',
+            MM : '%d ਮਹੀਨੇ',
+            y : 'ਇੱਕ ਸਾਲ',
+            yy : '%d ਸਾਲ'
+        },
+        preparse: function (string) {
+            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
+                return numberMap$d[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$e[match];
+            });
+        },
+        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
+        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ਰਾਤ') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ਸਵੇਰ') {
+                return hour;
+            } else if (meridiem === 'ਦੁਪਹਿਰ') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'ਸ਼ਾਮ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ਰਾਤ';
+            } else if (hour < 10) {
+                return 'ਸਵੇਰ';
+            } else if (hour < 17) {
+                return 'ਦੁਪਹਿਰ';
+            } else if (hour < 20) {
+                return 'ਸ਼ਾਮ';
+            } else {
+                return 'ਰਾਤ';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
+        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
+    function plural$3(n) {
+        return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
+    }
+    function translate$8(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                return result + (plural$3(number) ? 'sekundy' : 'sekund');
+            case 'm':
+                return withoutSuffix ? 'minuta' : 'minutÄ™';
+            case 'mm':
+                return result + (plural$3(number) ? 'minuty' : 'minut');
+            case 'h':
+                return withoutSuffix  ? 'godzina'  : 'godzinÄ™';
+            case 'hh':
+                return result + (plural$3(number) ? 'godziny' : 'godzin');
+            case 'MM':
+                return result + (plural$3(number) ? 'miesiące' : 'miesięcy');
+            case 'yy':
+                return result + (plural$3(number) ? 'lata' : 'lat');
+        }
+    }
+
+    moment.defineLocale('pl', {
+        months : function (momentToFormat, format) {
+            if (!momentToFormat) {
+                return monthsNominative;
+            } else if (format === '') {
+                // Hack: if format empty we know this is used to generate
+                // RegExp by moment. Give then back both valid forms of months
+                // in RegExp ready format.
+                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
+            } else if (/D MMMM/.test(format)) {
+                return monthsSubjective[momentToFormat.month()];
+            } else {
+                return monthsNominative[momentToFormat.month()];
+            }
+        },
+        monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
+        weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
+        weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
+        weekdaysMin : 'Nd_Pn_Wt_Åšr_Cz_Pt_So'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[DziÅ› o] LT',
+            nextDay: '[Jutro o] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[W niedzielÄ™ o] LT';
+
+                    case 2:
+                        return '[We wtorek o] LT';
+
+                    case 3:
+                        return '[W środę o] LT';
+
+                    case 6:
+                        return '[W sobotÄ™ o] LT';
+
+                    default:
+                        return '[W] dddd [o] LT';
+                }
+            },
+            lastDay: '[Wczoraj o] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[W zeszłą niedzielę o] LT';
+                    case 3:
+                        return '[W zeszłą środę o] LT';
+                    case 6:
+                        return '[W zeszłą sobotę o] LT';
+                    default:
+                        return '[W zeszły] dddd [o] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : '%s temu',
+            s : 'kilka sekund',
+            ss : translate$8,
+            m : translate$8,
+            mm : translate$8,
+            h : translate$8,
+            hh : translate$8,
+            d : '1 dzień',
+            dd : '%d dni',
+            M : 'miesiÄ…c',
+            MM : translate$8,
+            y : 'rok',
+            yy : translate$8
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('pt-br', {
+        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hoje às] LT',
+            nextDay: '[Amanhã às] LT',
+            nextWeek: 'dddd [às] LT',
+            lastDay: '[Ontem às] LT',
+            lastWeek: function () {
+                return (this.day() === 0 || this.day() === 6) ?
+                    '[Último] dddd [às] LT' : // Saturday + Sunday
+                    '[Última] dddd [às] LT'; // Monday - Friday
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'em %s',
+            past : 'há %s',
+            s : 'poucos segundos',
+            ss : '%d segundos',
+            m : 'um minuto',
+            mm : '%d minutos',
+            h : 'uma hora',
+            hh : '%d horas',
+            d : 'um dia',
+            dd : '%d dias',
+            M : 'um mês',
+            MM : '%d meses',
+            y : 'um ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal : '%dº'
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('pt', {
+        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY HH:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hoje às] LT',
+            nextDay: '[Amanhã às] LT',
+            nextWeek: 'dddd [às] LT',
+            lastDay: '[Ontem às] LT',
+            lastWeek: function () {
+                return (this.day() === 0 || this.day() === 6) ?
+                    '[Último] dddd [às] LT' : // Saturday + Sunday
+                    '[Última] dddd [às] LT'; // Monday - Friday
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'em %s',
+            past : 'há %s',
+            s : 'segundos',
+            ss : '%d segundos',
+            m : 'um minuto',
+            mm : '%d minutos',
+            h : 'uma hora',
+            hh : '%d horas',
+            d : 'um dia',
+            dd : '%d dias',
+            M : 'um mês',
+            MM : '%d meses',
+            y : 'um ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function relativeTimeWithPlural$2(number, withoutSuffix, key) {
+        var format = {
+                'ss': 'secunde',
+                'mm': 'minute',
+                'hh': 'ore',
+                'dd': 'zile',
+                'MM': 'luni',
+                'yy': 'ani'
+            },
+            separator = ' ';
+        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
+            separator = ' de ';
+        }
+        return number + separator + format[key];
+    }
+
+    moment.defineLocale('ro', {
+        months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
+        monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
+        weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
+        weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay: '[azi la] LT',
+            nextDay: '[mâine la] LT',
+            nextWeek: 'dddd [la] LT',
+            lastDay: '[ieri la] LT',
+            lastWeek: '[fosta] dddd [la] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'peste %s',
+            past : '%s în urmă',
+            s : 'câteva secunde',
+            ss : relativeTimeWithPlural$2,
+            m : 'un minut',
+            mm : relativeTimeWithPlural$2,
+            h : 'o oră',
+            hh : relativeTimeWithPlural$2,
+            d : 'o zi',
+            dd : relativeTimeWithPlural$2,
+            M : 'o lună',
+            MM : relativeTimeWithPlural$2,
+            y : 'un an',
+            yy : relativeTimeWithPlural$2
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural$4(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural$3(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
+            'hh': 'час_часа_часов',
+            'dd': 'день_дня_дней',
+            'MM': 'месяц_месяца_месяцев',
+            'yy': 'год_года_лет'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'минута' : 'минуту';
+        }
+        else {
+            return number + ' ' + plural$4(format[key], +number);
+        }
+    }
+    var monthsParse$6 = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
+
+    // http://new.gramota.ru/spravka/rules/139-prop : § 103
+    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
+    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
+    moment.defineLocale('ru', {
+        months : {
+            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
+            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
+        },
+        monthsShort : {
+            // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
+            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
+            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
+        },
+        weekdays : {
+            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
+            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
+            isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
+        },
+        weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+        weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+        monthsParse : monthsParse$6,
+        longMonthsParse : monthsParse$6,
+        shortMonthsParse : monthsParse$6,
+
+        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
+        monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+        // копия предыдущего
+        monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+        // полные названия с падежами
+        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
+
+        // Выражение, которое соотвествует только сокращённым формам
+        monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY г.',
+            LLL : 'D MMMM YYYY г., H:mm',
+            LLLL : 'dddd, D MMMM YYYY г., H:mm'
+        },
+        calendar : {
+            sameDay: '[Сегодня, в] LT',
+            nextDay: '[Завтра, в] LT',
+            lastDay: '[Вчера, в] LT',
+            nextWeek: function (now) {
+                if (now.week() !== this.week()) {
+                    switch (this.day()) {
+                        case 0:
+                            return '[В следующее] dddd, [в] LT';
+                        case 1:
+                        case 2:
+                        case 4:
+                            return '[В следующий] dddd, [в] LT';
+                        case 3:
+                        case 5:
+                        case 6:
+                            return '[В следующую] dddd, [в] LT';
+                    }
+                } else {
+                    if (this.day() === 2) {
+                        return '[Во] dddd, [в] LT';
+                    } else {
+                        return '[В] dddd, [в] LT';
+                    }
+                }
+            },
+            lastWeek: function (now) {
+                if (now.week() !== this.week()) {
+                    switch (this.day()) {
+                        case 0:
+                            return '[В прошлое] dddd, [в] LT';
+                        case 1:
+                        case 2:
+                        case 4:
+                            return '[В прошлый] dddd, [в] LT';
+                        case 3:
+                        case 5:
+                        case 6:
+                            return '[В прошлую] dddd, [в] LT';
+                    }
+                } else {
+                    if (this.day() === 2) {
+                        return '[Во] dddd, [в] LT';
+                    } else {
+                        return '[В] dddd, [в] LT';
+                    }
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'через %s',
+            past : '%s назад',
+            s : 'несколько секунд',
+            ss : relativeTimeWithPlural$3,
+            m : relativeTimeWithPlural$3,
+            mm : relativeTimeWithPlural$3,
+            h : 'час',
+            hh : relativeTimeWithPlural$3,
+            d : 'день',
+            dd : relativeTimeWithPlural$3,
+            M : 'месяц',
+            MM : relativeTimeWithPlural$3,
+            y : 'год',
+            yy : relativeTimeWithPlural$3
+        },
+        meridiemParse: /ночи|утра|дня|вечера/i,
+        isPM : function (input) {
+            return /^(дня|вечера)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночи';
+            } else if (hour < 12) {
+                return 'утра';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечера';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                    return number + '-й';
+                case 'D':
+                    return number + '-го';
+                case 'w':
+                case 'W':
+                    return number + '-я';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$7 = [
+        'جنوري',
+        'فيبروري',
+        'مارچ',
+        'اپريل',
+        'مئي',
+        'جون',
+        'جولاءِ',
+        'آگسٽ',
+        'سيپٽمبر',
+        'آڪٽوبر',
+        'نومبر',
+        'ڊسمبر'
+    ];
+    var days = [
+        'آچر',
+        'سومر',
+        'اڱارو',
+        'اربع',
+        'خميس',
+        'جمع',
+        'ڇنڇر'
+    ];
+
+    moment.defineLocale('sd', {
+        months : months$7,
+        monthsShort : months$7,
+        weekdays : days,
+        weekdaysShort : days,
+        weekdaysMin : days,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd، D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /صبح|شام/,
+        isPM : function (input) {
+            return 'شام' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'صبح';
+            }
+            return 'شام';
+        },
+        calendar : {
+            sameDay : '[اڄ] LT',
+            nextDay : '[سڀاڻي] LT',
+            nextWeek : 'dddd [اڳين هفتي تي] LT',
+            lastDay : '[ڪالهه] LT',
+            lastWeek : '[گزريل هفتي] dddd [تي] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s پوء',
+            past : '%s اڳ',
+            s : 'چند سيڪنڊ',
+            ss : '%d سيڪنڊ',
+            m : 'هڪ منٽ',
+            mm : '%d منٽ',
+            h : 'هڪ ڪلاڪ',
+            hh : '%d ڪلاڪ',
+            d : 'هڪ ڏينهن',
+            dd : '%d ڏينهن',
+            M : 'هڪ مهينو',
+            MM : '%d مهينا',
+            y : 'هڪ سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('se', {
+        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('_'),
+        monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
+        weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
+        weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
+        weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'MMMM D. [b.] YYYY',
+            LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
+            LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[otne ti] LT',
+            nextDay: '[ihttin ti] LT',
+            nextWeek: 'dddd [ti] LT',
+            lastDay: '[ikte ti] LT',
+            lastWeek: '[ovddit] dddd [ti] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s geažes',
+            past : 'maŋit %s',
+            s : 'moadde sekunddat',
+            ss: '%d sekunddat',
+            m : 'okta minuhta',
+            mm : '%d minuhtat',
+            h : 'okta diimmu',
+            hh : '%d diimmut',
+            d : 'okta beaivi',
+            dd : '%d beaivvit',
+            M : 'okta mánnu',
+            MM : '%d mánut',
+            y : 'okta jahki',
+            yy : '%d jagit'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    /*jshint -W100*/
+    moment.defineLocale('si', {
+        months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
+        monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
+        weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
+        weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
+        weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'a h:mm',
+            LTS : 'a h:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY MMMM D',
+            LLL : 'YYYY MMMM D, a h:mm',
+            LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
+        },
+        calendar : {
+            sameDay : '[අද] LT[ට]',
+            nextDay : '[හෙට] LT[ට]',
+            nextWeek : 'dddd LT[à¶§]',
+            lastDay : '[ඊයේ] LT[ට]',
+            lastWeek : '[පසුගිය] dddd LT[ට]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%sකින්',
+            past : '%sකට පෙර',
+            s : 'තත්පර කිහිපය',
+            ss : 'à¶­à¶­à·Šà¶´à¶» %d',
+            m : 'මිනිත්තුව',
+            mm : 'මිනිත්තු %d',
+            h : 'පැය',
+            hh : 'පැය %d',
+            d : 'දිනය',
+            dd : 'දින %d',
+            M : 'මාසය',
+            MM : 'මාස %d',
+            y : 'වසර',
+            yy : 'වසර %d'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
+        ordinal : function (number) {
+            return number + ' වැනි';
+        },
+        meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
+        isPM : function (input) {
+            return input === 'ප.ව.' || input === 'පස් වරු';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'ප.ව.' : 'පස් වරු';
+            } else {
+                return isLower ? 'පෙ.ව.' : 'පෙර වරු';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$8 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
+        monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
+    function plural$5(n) {
+        return (n > 1) && (n < 5);
+    }
+    function translate$9(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':  // a few seconds / in a few seconds / a few seconds ago
+                return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
+            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'sekundy' : 'sekúnd');
+                } else {
+                    return result + 'sekundami';
+                }
+                break;
+            case 'm':  // a minute / in a minute / a minute ago
+                return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
+            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'minúty' : 'minút');
+                } else {
+                    return result + 'minútami';
+                }
+                break;
+            case 'h':  // an hour / in an hour / an hour ago
+                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+            case 'hh': // 9 hours / in 9 hours / 9 hours ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'hodiny' : 'hodín');
+                } else {
+                    return result + 'hodinami';
+                }
+                break;
+            case 'd':  // a day / in a day / a day ago
+                return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
+            case 'dd': // 9 days / in 9 days / 9 days ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'dni' : 'dní');
+                } else {
+                    return result + 'dňami';
+                }
+                break;
+            case 'M':  // a month / in a month / a month ago
+                return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
+            case 'MM': // 9 months / in 9 months / 9 months ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'mesiace' : 'mesiacov');
+                } else {
+                    return result + 'mesiacmi';
+                }
+                break;
+            case 'y':  // a year / in a year / a year ago
+                return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
+            case 'yy': // 9 years / in 9 years / 9 years ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'roky' : 'rokov');
+                } else {
+                    return result + 'rokmi';
+                }
+                break;
+        }
+    }
+
+    moment.defineLocale('sk', {
+        months : months$8,
+        monthsShort : monthsShort$6,
+        weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
+        weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
+        weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
+        longDateFormat : {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay: '[dnes o] LT',
+            nextDay: '[zajtra o] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v nedeľu o] LT';
+                    case 1:
+                    case 2:
+                        return '[v] dddd [o] LT';
+                    case 3:
+                        return '[v stredu o] LT';
+                    case 4:
+                        return '[vo štvrtok o] LT';
+                    case 5:
+                        return '[v piatok o] LT';
+                    case 6:
+                        return '[v sobotu o] LT';
+                }
+            },
+            lastDay: '[včera o] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[minulú nedeľu o] LT';
+                    case 1:
+                    case 2:
+                        return '[minulý] dddd [o] LT';
+                    case 3:
+                        return '[minulú stredu o] LT';
+                    case 4:
+                    case 5:
+                        return '[minulý] dddd [o] LT';
+                    case 6:
+                        return '[minulú sobotu o] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : 'pred %s',
+            s : translate$9,
+            ss : translate$9,
+            m : translate$9,
+            mm : translate$9,
+            h : translate$9,
+            hh : translate$9,
+            d : translate$9,
+            dd : translate$9,
+            M : translate$9,
+            MM : translate$9,
+            y : translate$9,
+            yy : translate$9
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':
+                return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
+            case 'ss':
+                if (number === 1) {
+                    result += withoutSuffix ? 'sekundo' : 'sekundi';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
+                } else {
+                    result += 'sekund';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'ena minuta' : 'eno minuto';
+            case 'mm':
+                if (number === 1) {
+                    result += withoutSuffix ? 'minuta' : 'minuto';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';
+                } else {
+                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'ena ura' : 'eno uro';
+            case 'hh':
+                if (number === 1) {
+                    result += withoutSuffix ? 'ura' : 'uro';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'uri' : 'urama';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'ure' : 'urami';
+                } else {
+                    result += withoutSuffix || isFuture ? 'ur' : 'urami';
+                }
+                return result;
+            case 'd':
+                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
+            case 'dd':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
+                } else {
+                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
+                }
+                return result;
+            case 'M':
+                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
+            case 'MM':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
+                } else {
+                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
+                }
+                return result;
+            case 'y':
+                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
+            case 'yy':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'leto' : 'letom';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'leta' : 'leti';
+                } else {
+                    result += withoutSuffix || isFuture ? 'let' : 'leti';
+                }
+                return result;
+        }
+    }
+
+    moment.defineLocale('sl', {
+        months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
+        weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
+        weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danes ob] LT',
+            nextDay  : '[jutri ob] LT',
+
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v] [nedeljo] [ob] LT';
+                    case 3:
+                        return '[v] [sredo] [ob] LT';
+                    case 6:
+                        return '[v] [soboto] [ob] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[v] dddd [ob] LT';
+                }
+            },
+            lastDay  : '[včeraj ob] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[prejšnjo] [nedeljo] [ob] LT';
+                    case 3:
+                        return '[prejšnjo] [sredo] [ob] LT';
+                    case 6:
+                        return '[prejšnjo] [soboto] [ob] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prejšnji] dddd [ob] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'čez %s',
+            past   : 'pred %s',
+            s      : processRelativeTime$6,
+            ss     : processRelativeTime$6,
+            m      : processRelativeTime$6,
+            mm     : processRelativeTime$6,
+            h      : processRelativeTime$6,
+            hh     : processRelativeTime$6,
+            d      : processRelativeTime$6,
+            dd     : processRelativeTime$6,
+            M      : processRelativeTime$6,
+            MM     : processRelativeTime$6,
+            y      : processRelativeTime$6,
+            yy     : processRelativeTime$6
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('sq', {
+        months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
+        monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
+        weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
+        weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
+        weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
+        weekdaysParseExact : true,
+        meridiemParse: /PD|MD/,
+        isPM: function (input) {
+            return input.charAt(0) === 'M';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            return hours < 12 ? 'PD' : 'MD';
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Sot në] LT',
+            nextDay : '[Nesër në] LT',
+            nextWeek : 'dddd [në] LT',
+            lastDay : '[Dje në] LT',
+            lastWeek : 'dddd [e kaluar në] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'në %s',
+            past : '%s më parë',
+            s : 'disa sekonda',
+            ss : '%d sekonda',
+            m : 'një minutë',
+            mm : '%d minuta',
+            h : 'një orë',
+            hh : '%d orë',
+            d : 'një ditë',
+            dd : '%d ditë',
+            M : 'një muaj',
+            MM : '%d muaj',
+            y : 'një vit',
+            yy : '%d vite'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var translator$1 = {
+        words: { //Different grammatical cases
+            ss: ['секунда', 'секунде', 'секунди'],
+            m: ['један минут', 'једне минуте'],
+            mm: ['минут', 'минуте', 'минута'],
+            h: ['један сат', 'једног сата'],
+            hh: ['сат', 'сата', 'сати'],
+            dd: ['дан', 'дана', 'дана'],
+            MM: ['месец', 'месеца', 'месеци'],
+            yy: ['година', 'године', 'година']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator$1.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    moment.defineLocale('sr-cyrl', {
+        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
+        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
+        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
+        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[данас у] LT',
+            nextDay: '[сутра у] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[у] [недељу] [у] LT';
+                    case 3:
+                        return '[у] [среду] [у] LT';
+                    case 6:
+                        return '[у] [суботу] [у] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[у] dddd [у] LT';
+                }
+            },
+            lastDay  : '[јуче у] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[прошле] [недеље] [у] LT',
+                    '[прошлог] [понедељка] [у] LT',
+                    '[прошлог] [уторка] [у] LT',
+                    '[прошле] [среде] [у] LT',
+                    '[прошлог] [четвртка] [у] LT',
+                    '[прошлог] [петка] [у] LT',
+                    '[прошле] [суботе] [у] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'за %s',
+            past   : 'пре %s',
+            s      : 'неколико секунди',
+            ss     : translator$1.translate,
+            m      : translator$1.translate,
+            mm     : translator$1.translate,
+            h      : translator$1.translate,
+            hh     : translator$1.translate,
+            d      : 'дан',
+            dd     : translator$1.translate,
+            M      : 'месец',
+            MM     : translator$1.translate,
+            y      : 'годину',
+            yy     : translator$1.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var translator$2 = {
+        words: { //Different grammatical cases
+            ss: ['sekunda', 'sekunde', 'sekundi'],
+            m: ['jedan minut', 'jedne minute'],
+            mm: ['minut', 'minute', 'minuta'],
+            h: ['jedan sat', 'jednog sata'],
+            hh: ['sat', 'sata', 'sati'],
+            dd: ['dan', 'dana', 'dana'],
+            MM: ['mesec', 'meseca', 'meseci'],
+            yy: ['godina', 'godine', 'godina']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator$2.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    moment.defineLocale('sr', {
+        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
+        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[danas u] LT',
+            nextDay: '[sutra u] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedelju] [u] LT';
+                    case 3:
+                        return '[u] [sredu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[juče u] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[prošle] [nedelje] [u] LT',
+                    '[prošlog] [ponedeljka] [u] LT',
+                    '[prošlog] [utorka] [u] LT',
+                    '[prošle] [srede] [u] LT',
+                    '[prošlog] [četvrtka] [u] LT',
+                    '[prošlog] [petka] [u] LT',
+                    '[prošle] [subote] [u] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'pre %s',
+            s      : 'nekoliko sekundi',
+            ss     : translator$2.translate,
+            m      : translator$2.translate,
+            mm     : translator$2.translate,
+            h      : translator$2.translate,
+            hh     : translator$2.translate,
+            d      : 'dan',
+            dd     : translator$2.translate,
+            M      : 'mesec',
+            MM     : translator$2.translate,
+            y      : 'godinu',
+            yy     : translator$2.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('ss', {
+        months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
+        monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
+        weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
+        weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
+        weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Namuhla nga] LT',
+            nextDay : '[Kusasa nga] LT',
+            nextWeek : 'dddd [nga] LT',
+            lastDay : '[Itolo nga] LT',
+            lastWeek : 'dddd [leliphelile] [nga] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'nga %s',
+            past : 'wenteka nga %s',
+            s : 'emizuzwana lomcane',
+            ss : '%d mzuzwana',
+            m : 'umzuzu',
+            mm : '%d emizuzu',
+            h : 'lihora',
+            hh : '%d emahora',
+            d : 'lilanga',
+            dd : '%d emalanga',
+            M : 'inyanga',
+            MM : '%d tinyanga',
+            y : 'umnyaka',
+            yy : '%d iminyaka'
+        },
+        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'ekuseni';
+            } else if (hours < 15) {
+                return 'emini';
+            } else if (hours < 19) {
+                return 'entsambama';
+            } else {
+                return 'ebusuku';
+            }
+        },
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ekuseni') {
+                return hour;
+            } else if (meridiem === 'emini') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
+                if (hour === 0) {
+                    return 0;
+                }
+                return hour + 12;
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : '%d',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('sv', {
+        months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
+        weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
+        weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [kl.] HH:mm',
+            LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Idag] LT',
+            nextDay: '[Imorgon] LT',
+            lastDay: '[Igår] LT',
+            nextWeek: '[PÃ¥] dddd LT',
+            lastWeek: '[I] dddd[s] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : 'för %s sedan',
+            s : 'några sekunder',
+            ss : '%d sekunder',
+            m : 'en minut',
+            mm : '%d minuter',
+            h : 'en timme',
+            hh : '%d timmar',
+            d : 'en dag',
+            dd : '%d dagar',
+            M : 'en månad',
+            MM : '%d månader',
+            y : 'ett år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'e' :
+                (b === 1) ? 'a' :
+                (b === 2) ? 'a' :
+                (b === 3) ? 'e' : 'e';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('sw', {
+        months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
+        weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
+        weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[leo saa] LT',
+            nextDay : '[kesho saa] LT',
+            nextWeek : '[wiki ijayo] dddd [saat] LT',
+            lastDay : '[jana] LT',
+            lastWeek : '[wiki iliyopita] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s baadaye',
+            past : 'tokea %s',
+            s : 'hivi punde',
+            ss : 'sekunde %d',
+            m : 'dakika moja',
+            mm : 'dakika %d',
+            h : 'saa limoja',
+            hh : 'masaa %d',
+            d : 'siku moja',
+            dd : 'masiku %d',
+            M : 'mwezi mmoja',
+            MM : 'miezi %d',
+            y : 'mwaka mmoja',
+            yy : 'miaka %d'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$f = {
+        '1': '௧',
+        '2': '௨',
+        '3': '௩',
+        '4': '௪',
+        '5': '௫',
+        '6': '௬',
+        '7': '௭',
+        '8': '௮',
+        '9': '௯',
+        '0': '௦'
+    }, numberMap$e = {
+        '௧': '1',
+        '௨': '2',
+        '௩': '3',
+        '௪': '4',
+        '௫': '5',
+        '௬': '6',
+        '௭': '7',
+        '௮': '8',
+        '௯': '9',
+        '௦': '0'
+    };
+
+    moment.defineLocale('ta', {
+        months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+        monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+        weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
+        weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
+        weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, HH:mm',
+            LLLL : 'dddd, D MMMM YYYY, HH:mm'
+        },
+        calendar : {
+            sameDay : '[இன்று] LT',
+            nextDay : '[நாளை] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[நேற்று] LT',
+            lastWeek : '[கடந்த வாரம்] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s இல்',
+            past : '%s முன்',
+            s : 'ஒரு சில விநாடிகள்',
+            ss : '%d விநாடிகள்',
+            m : 'ஒரு நிமிடம்',
+            mm : '%d நிமிடங்கள்',
+            h : 'ஒரு மணி நேரம்',
+            hh : '%d மணி நேரம்',
+            d : 'ஒரு நாள்',
+            dd : '%d நாட்கள்',
+            M : 'ஒரு மாதம்',
+            MM : '%d மாதங்கள்',
+            y : 'ஒரு வருடம்',
+            yy : '%d ஆண்டுகள்'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}வது/,
+        ordinal : function (number) {
+            return number + 'வது';
+        },
+        preparse: function (string) {
+            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
+                return numberMap$e[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$f[match];
+            });
+        },
+        // refer http://ta.wikipedia.org/s/1er1
+        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 2) {
+                return ' யாமம்';
+            } else if (hour < 6) {
+                return ' வைகறை';  // வைகறை
+            } else if (hour < 10) {
+                return ' காலை'; // காலை
+            } else if (hour < 14) {
+                return ' நண்பகல்'; // நண்பகல்
+            } else if (hour < 18) {
+                return ' எற்பாடு'; // எற்பாடு
+            } else if (hour < 22) {
+                return ' மாலை'; // மாலை
+            } else {
+                return ' யாமம்';
+            }
+        },
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'யாமம்') {
+                return hour < 2 ? hour : hour + 12;
+            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
+                return hour;
+            } else if (meridiem === 'நண்பகல்') {
+                return hour >= 10 ? hour : hour + 12;
+            } else {
+                return hour + 12;
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('te', {
+        months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
+        monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
+        weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
+        weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[నేడు] LT',
+            nextDay : '[రేపు] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[నిన్న] LT',
+            lastWeek : '[à°—à°¤] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s లో',
+            past : '%s క్రితం',
+            s : 'కొన్ని క్షణాలు',
+            ss : '%d సెకన్లు',
+            m : 'ఒక నిమిషం',
+            mm : '%d నిమిషాలు',
+            h : 'à°’à°• à°—à°‚à°Ÿ',
+            hh : '%d గంటలు',
+            d : 'ఒక రోజు',
+            dd : '%d రోజులు',
+            M : 'ఒక నెల',
+            MM : '%d నెలలు',
+            y : 'ఒక సంవత్సరం',
+            yy : '%d సంవత్సరాలు'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}à°µ/,
+        ordinal : '%dà°µ',
+        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'రాత్రి') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ఉదయం') {
+                return hour;
+            } else if (meridiem === 'మధ్యాహ్నం') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'సాయంత్రం') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'రాత్రి';
+            } else if (hour < 10) {
+                return 'ఉదయం';
+            } else if (hour < 17) {
+                return 'మధ్యాహ్నం';
+            } else if (hour < 20) {
+                return 'సాయంత్రం';
+            } else {
+                return 'రాత్రి';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('tet', {
+        months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
+        weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Ohin iha] LT',
+            nextDay: '[Aban iha] LT',
+            nextWeek: 'dddd [iha] LT',
+            lastDay: '[Horiseik iha] LT',
+            lastWeek: 'dddd [semana kotuk] [iha] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'iha %s',
+            past : '%s liuba',
+            s : 'minutu balun',
+            ss : 'minutu %d',
+            m : 'minutu ida',
+            mm : 'minutu %d',
+            h : 'oras ida',
+            hh : 'oras %d',
+            d : 'loron ida',
+            dd : 'loron %d',
+            M : 'fulan ida',
+            MM : 'fulan %d',
+            y : 'tinan ida',
+            yy : 'tinan %d'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes$3 = {
+        0: '-ум',
+        1: '-ум',
+        2: '-юм',
+        3: '-юм',
+        4: '-ум',
+        5: '-ум',
+        6: '-ум',
+        7: '-ум',
+        8: '-ум',
+        9: '-ум',
+        10: '-ум',
+        12: '-ум',
+        13: '-ум',
+        20: '-ум',
+        30: '-юм',
+        40: '-ум',
+        50: '-ум',
+        60: '-ум',
+        70: '-ум',
+        80: '-ум',
+        90: '-ум',
+        100: '-ум'
+    };
+
+    moment.defineLocale('tg', {
+        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
+        weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
+        weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Имрӯз соати] LT',
+            nextDay : '[Пагоҳ соати] LT',
+            lastDay : '[Дирӯз соати] LT',
+            nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',
+            lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'баъди %s',
+            past : '%s пеш',
+            s : 'якчанд сония',
+            m : 'як дақиқа',
+            mm : '%d дақиқа',
+            h : 'як соат',
+            hh : '%d соат',
+            d : 'як рӯз',
+            dd : '%d рӯз',
+            M : 'як моҳ',
+            MM : '%d моҳ',
+            y : 'як сол',
+            yy : '%d сол'
+        },
+        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'шаб') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'субҳ') {
+                return hour;
+            } else if (meridiem === 'рӯз') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'бегоҳ') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'шаб';
+            } else if (hour < 11) {
+                return 'субҳ';
+            } else if (hour < 16) {
+                return 'рӯз';
+            } else if (hour < 19) {
+                return 'бегоҳ';
+            } else {
+                return 'шаб';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
+        ordinal: function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 1th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('th', {
+        months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
+        monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
+        weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
+        weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY เวลา H:mm',
+            LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
+        },
+        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
+        isPM: function (input) {
+            return input === 'หลังเที่ยง';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ก่อนเที่ยง';
+            } else {
+                return 'หลังเที่ยง';
+            }
+        },
+        calendar : {
+            sameDay : '[วันนี้ เวลา] LT',
+            nextDay : '[พรุ่งนี้ เวลา] LT',
+            nextWeek : 'dddd[หน้า เวลา] LT',
+            lastDay : '[เมื่อวานนี้ เวลา] LT',
+            lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'อีก %s',
+            past : '%sที่แล้ว',
+            s : 'ไม่กี่วินาที',
+            ss : '%d วินาที',
+            m : '1 นาที',
+            mm : '%d นาที',
+            h : '1 ชั่วโมง',
+            hh : '%d ชั่วโมง',
+            d : '1 วัน',
+            dd : '%d วัน',
+            M : '1 เดือน',
+            MM : '%d เดือน',
+            y : '1 ปี',
+            yy : '%d ปี'
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('tl-ph', {
+        months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
+        monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+        weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
+        weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+        weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'MM/D/YYYY',
+            LL : 'MMMM D, YYYY',
+            LLL : 'MMMM D, YYYY HH:mm',
+            LLLL : 'dddd, MMMM DD, YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: 'LT [ngayong araw]',
+            nextDay: '[Bukas ng] LT',
+            nextWeek: 'LT [sa susunod na] dddd',
+            lastDay: 'LT [kahapon]',
+            lastWeek: 'LT [noong nakaraang] dddd',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'sa loob ng %s',
+            past : '%s ang nakalipas',
+            s : 'ilang segundo',
+            ss : '%d segundo',
+            m : 'isang minuto',
+            mm : '%d minuto',
+            h : 'isang oras',
+            hh : '%d oras',
+            d : 'isang araw',
+            dd : '%d araw',
+            M : 'isang buwan',
+            MM : '%d buwan',
+            y : 'isang taon',
+            yy : '%d taon'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : function (number) {
+            return number;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
+
+    function translateFuture(output) {
+        var time = output;
+        time = (output.indexOf('jaj') !== -1) ?
+        time.slice(0, -3) + 'leS' :
+        (output.indexOf('jar') !== -1) ?
+        time.slice(0, -3) + 'waQ' :
+        (output.indexOf('DIS') !== -1) ?
+        time.slice(0, -3) + 'nem' :
+        time + ' pIq';
+        return time;
+    }
+
+    function translatePast(output) {
+        var time = output;
+        time = (output.indexOf('jaj') !== -1) ?
+        time.slice(0, -3) + 'Hu’' :
+        (output.indexOf('jar') !== -1) ?
+        time.slice(0, -3) + 'wen' :
+        (output.indexOf('DIS') !== -1) ?
+        time.slice(0, -3) + 'ben' :
+        time + ' ret';
+        return time;
+    }
+
+    function translate$a(number, withoutSuffix, string, isFuture) {
+        var numberNoun = numberAsNoun(number);
+        switch (string) {
+            case 'ss':
+                return numberNoun + ' lup';
+            case 'mm':
+                return numberNoun + ' tup';
+            case 'hh':
+                return numberNoun + ' rep';
+            case 'dd':
+                return numberNoun + ' jaj';
+            case 'MM':
+                return numberNoun + ' jar';
+            case 'yy':
+                return numberNoun + ' DIS';
+        }
+    }
+
+    function numberAsNoun(number) {
+        var hundred = Math.floor((number % 1000) / 100),
+        ten = Math.floor((number % 100) / 10),
+        one = number % 10,
+        word = '';
+        if (hundred > 0) {
+            word += numbersNouns[hundred] + 'vatlh';
+        }
+        if (ten > 0) {
+            word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
+        }
+        if (one > 0) {
+            word += ((word !== '') ? ' ' : '') + numbersNouns[one];
+        }
+        return (word === '') ? 'pagh' : word;
+    }
+
+    moment.defineLocale('tlh', {
+        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('_'),
+        monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[DaHjaj] LT',
+            nextDay: '[wa’leS] LT',
+            nextWeek: 'LLL',
+            lastDay: '[wa’Hu’] LT',
+            lastWeek: 'LLL',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : translateFuture,
+            past : translatePast,
+            s : 'puS lup',
+            ss : translate$a,
+            m : 'wa’ tup',
+            mm : translate$a,
+            h : 'wa’ rep',
+            hh : translate$a,
+            d : 'wa’ jaj',
+            dd : translate$a,
+            M : 'wa’ jar',
+            MM : translate$a,
+            y : 'wa’ DIS',
+            yy : translate$a
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    var suffixes$4 = {
+        1: '\'inci',
+        5: '\'inci',
+        8: '\'inci',
+        70: '\'inci',
+        80: '\'inci',
+        2: '\'nci',
+        7: '\'nci',
+        20: '\'nci',
+        50: '\'nci',
+        3: '\'üncü',
+        4: '\'üncü',
+        100: '\'üncü',
+        6: '\'ncı',
+        9: '\'uncu',
+        10: '\'uncu',
+        30: '\'uncu',
+        60: '\'ıncı',
+        90: '\'ıncı'
+    };
+
+    moment.defineLocale('tr', {
+        months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
+        monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'),
+        weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
+        weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
+        weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[bugün saat] LT',
+            nextDay : '[yarın saat] LT',
+            nextWeek : '[gelecek] dddd [saat] LT',
+            lastDay : '[dün] LT',
+            lastWeek : '[geçen] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s sonra',
+            past : '%s önce',
+            s : 'birkaç saniye',
+            ss : '%d saniye',
+            m : 'bir dakika',
+            mm : '%d dakika',
+            h : 'bir saat',
+            hh : '%d saat',
+            d : 'bir gün',
+            dd : '%d gün',
+            M : 'bir ay',
+            MM : '%d ay',
+            y : 'bir yıl',
+            yy : '%d yıl'
+        },
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'Do':
+                case 'DD':
+                    return number;
+                default:
+                    if (number === 0) {  // special case for zero
+                        return number + '\'ıncı';
+                    }
+                    var a = number % 10,
+                        b = number % 100 - a,
+                        c = number >= 100 ? 100 : null;
+                    return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
+    // This is currently too difficult (maybe even impossible) to add.
+    moment.defineLocale('tzl', {
+        months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
+        weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
+        weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
+        weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM [dallas] YYYY',
+            LLL : 'D. MMMM [dallas] YYYY HH.mm',
+            LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
+        },
+        meridiemParse: /d\'o|d\'a/i,
+        isPM : function (input) {
+            return 'd\'o' === input.toLowerCase();
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'd\'o' : 'D\'O';
+            } else {
+                return isLower ? 'd\'a' : 'D\'A';
+            }
+        },
+        calendar : {
+            sameDay : '[oxhi à] LT',
+            nextDay : '[demà à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[ieiri à] LT',
+            lastWeek : '[sür el] dddd [lasteu à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'osprei %s',
+            past : 'ja%s',
+            s : processRelativeTime$7,
+            ss : processRelativeTime$7,
+            m : processRelativeTime$7,
+            mm : processRelativeTime$7,
+            h : processRelativeTime$7,
+            hh : processRelativeTime$7,
+            d : processRelativeTime$7,
+            dd : processRelativeTime$7,
+            M : processRelativeTime$7,
+            MM : processRelativeTime$7,
+            y : processRelativeTime$7,
+            yy : processRelativeTime$7
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    function processRelativeTime$7(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's': ['viensas secunds', '\'iensas secunds'],
+            'ss': [number + ' secunds', '' + number + ' secunds'],
+            'm': ['\'n míut', '\'iens míut'],
+            'mm': [number + ' míuts', '' + number + ' míuts'],
+            'h': ['\'n þora', '\'iensa þora'],
+            'hh': [number + ' þoras', '' + number + ' þoras'],
+            'd': ['\'n ziua', '\'iensa ziua'],
+            'dd': [number + ' ziuas', '' + number + ' ziuas'],
+            'M': ['\'n mes', '\'iens mes'],
+            'MM': [number + ' mesen', '' + number + ' mesen'],
+            'y': ['\'n ar', '\'iens ar'],
+            'yy': [number + ' ars', '' + number + ' ars']
+        };
+        return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
+    }
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('tzm-latn', {
+        months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+        monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+        weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[asdkh g] LT',
+            nextDay: '[aska g] LT',
+            nextWeek: 'dddd [g] LT',
+            lastDay: '[assant g] LT',
+            lastWeek: 'dddd [g] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'dadkh s yan %s',
+            past : 'yan %s',
+            s : 'imik',
+            ss : '%d imik',
+            m : 'minuḍ',
+            mm : '%d minuḍ',
+            h : 'saɛa',
+            hh : '%d tassaɛin',
+            d : 'ass',
+            dd : '%d ossan',
+            M : 'ayowr',
+            MM : '%d iyyirn',
+            y : 'asgas',
+            yy : '%d isgasn'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('tzm', {
+        months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+        monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+        weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
+            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
+            nextWeek: 'dddd [â´´] LT',
+            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
+            lastWeek: 'dddd [â´´] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
+            past : 'ⵢⴰⵏ %s',
+            s : 'ⵉⵎⵉⴽ',
+            ss : '%d ⵉⵎⵉⴽ',
+            m : 'ⵎⵉⵏⵓⴺ',
+            mm : '%d ⵎⵉⵏⵓⴺ',
+            h : 'ⵙⴰⵄⴰ',
+            hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
+            d : 'ⴰⵙⵙ',
+            dd : '%d oⵙⵙⴰⵏ',
+            M : 'ⴰⵢoⵓⵔ',
+            MM : '%d ⵉⵢⵢⵉⵔⵏ',
+            y : 'ⴰⵙⴳⴰⵙ',
+            yy : '%d ⵉⵙⴳⴰⵙⵏ'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js language configuration
+
+    moment.defineLocale('ug-cn', {
+        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+            '_'
+        ),
+        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+            '_'
+        ),
+        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
+            '_'
+        ),
+        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'YYYY-MM-DD',
+            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
+        },
+        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (
+                meridiem === 'يېرىم كېچە' ||
+                meridiem === 'سەھەر' ||
+                meridiem === 'چۈشتىن بۇرۇن'
+            ) {
+                return hour;
+            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
+                return hour + 12;
+            } else {
+                return hour >= 11 ? hour : hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return 'يېرىم كېچە';
+            } else if (hm < 900) {
+                return 'سەھەر';
+            } else if (hm < 1130) {
+                return 'چۈشتىن بۇرۇن';
+            } else if (hm < 1230) {
+                return 'چۈش';
+            } else if (hm < 1800) {
+                return 'چۈشتىن كېيىن';
+            } else {
+                return 'ÙƒÛ•Ú†';
+            }
+        },
+        calendar: {
+            sameDay: '[بۈگۈن سائەت] LT',
+            nextDay: '[ئەتە سائەت] LT',
+            nextWeek: '[كېلەركى] dddd [سائەت] LT',
+            lastDay: '[تۆنۈگۈن] LT',
+            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%s كېيىن',
+            past: '%s بۇرۇن',
+            s: 'نەچچە سېكونت',
+            ss: '%d سېكونت',
+            m: 'بىر مىنۇت',
+            mm: '%d مىنۇت',
+            h: 'بىر سائەت',
+            hh: '%d سائەت',
+            d: 'بىر كۈن',
+            dd: '%d ÙƒÛˆÙ†',
+            M: 'بىر ئاي',
+            MM: '%d ئاي',
+            y: 'بىر يىل',
+            yy: '%d يىل'
+        },
+
+        dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + '-كۈنى';
+                case 'w':
+                case 'W':
+                    return number + '-ھەپتە';
+                default:
+                    return number;
+            }
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week: {
+            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+            dow: 1, // Monday is the first day of the week.
+            doy: 7 // The week that contains Jan 1st is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural$6(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural$4(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
+            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
+            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
+            'dd': 'день_дні_днів',
+            'MM': 'місяць_місяці_місяців',
+            'yy': 'рік_роки_років'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'хвилина' : 'хвилину';
+        }
+        else if (key === 'h') {
+            return withoutSuffix ? 'година' : 'годину';
+        }
+        else {
+            return number + ' ' + plural$6(format[key], +number);
+        }
+    }
+    function weekdaysCaseReplace(m, format) {
+        var weekdays = {
+            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
+            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
+            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
+        };
+
+        if (m === true) {
+            return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));
+        }
+        if (!m) {
+            return weekdays['nominative'];
+        }
+
+        var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
+            'accusative' :
+            ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
+                'genitive' :
+                'nominative');
+        return weekdays[nounCase][m.day()];
+    }
+    function processHoursFunction(str) {
+        return function () {
+            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
+        };
+    }
+
+    moment.defineLocale('uk', {
+        months : {
+            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
+            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
+        },
+        monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
+        weekdays : weekdaysCaseReplace,
+        weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY р.',
+            LLL : 'D MMMM YYYY р., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY р., HH:mm'
+        },
+        calendar : {
+            sameDay: processHoursFunction('[Сьогодні '),
+            nextDay: processHoursFunction('[Завтра '),
+            lastDay: processHoursFunction('[Вчора '),
+            nextWeek: processHoursFunction('[У] dddd ['),
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 5:
+                    case 6:
+                        return processHoursFunction('[Минулої] dddd [').call(this);
+                    case 1:
+                    case 2:
+                    case 4:
+                        return processHoursFunction('[Минулого] dddd [').call(this);
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'за %s',
+            past : '%s тому',
+            s : 'декілька секунд',
+            ss : relativeTimeWithPlural$4,
+            m : relativeTimeWithPlural$4,
+            mm : relativeTimeWithPlural$4,
+            h : 'годину',
+            hh : relativeTimeWithPlural$4,
+            d : 'день',
+            dd : relativeTimeWithPlural$4,
+            M : 'місяць',
+            MM : relativeTimeWithPlural$4,
+            y : 'рік',
+            yy : relativeTimeWithPlural$4
+        },
+        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+        meridiemParse: /ночі|ранку|дня|вечора/,
+        isPM: function (input) {
+            return /^(дня|вечора)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночі';
+            } else if (hour < 12) {
+                return 'ранку';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечора';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                case 'w':
+                case 'W':
+                    return number + '-й';
+                case 'D':
+                    return number + '-го';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$9 = [
+        'جنوری',
+        'فروری',
+        'مارچ',
+        'اپریل',
+        'مئی',
+        'جون',
+        'جولائی',
+        'اگست',
+        'ستمبر',
+        'اکتوبر',
+        'نومبر',
+        'دسمبر'
+    ];
+    var days$1 = [
+        'اتوار',
+        'پیر',
+        'منگل',
+        'بدھ',
+        'جمعرات',
+        'جمعہ',
+        'ہفتہ'
+    ];
+
+    moment.defineLocale('ur', {
+        months : months$9,
+        monthsShort : months$9,
+        weekdays : days$1,
+        weekdaysShort : days$1,
+        weekdaysMin : days$1,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd، D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /صبح|شام/,
+        isPM : function (input) {
+            return 'شام' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'صبح';
+            }
+            return 'شام';
+        },
+        calendar : {
+            sameDay : '[آج بوقت] LT',
+            nextDay : '[کل بوقت] LT',
+            nextWeek : 'dddd [بوقت] LT',
+            lastDay : '[گذشتہ روز بوقت] LT',
+            lastWeek : '[گذشتہ] dddd [بوقت] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s بعد',
+            past : '%s قبل',
+            s : 'چند سیکنڈ',
+            ss : '%d سیکنڈ',
+            m : 'ایک منٹ',
+            mm : '%d منٹ',
+            h : 'ایک گھنٹہ',
+            hh : '%d گھنٹے',
+            d : 'ایک دن',
+            dd : '%d دن',
+            M : 'ایک ماہ',
+            MM : '%d ماہ',
+            y : 'ایک سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('uz-latn', {
+        months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
+        monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
+        weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
+        weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
+        weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'D MMMM YYYY, dddd HH:mm'
+        },
+        calendar : {
+            sameDay : '[Bugun soat] LT [da]',
+            nextDay : '[Ertaga] LT [da]',
+            nextWeek : 'dddd [kuni soat] LT [da]',
+            lastDay : '[Kecha soat] LT [da]',
+            lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'Yaqin %s ichida',
+            past : 'Bir necha %s oldin',
+            s : 'soniya',
+            ss : '%d soniya',
+            m : 'bir daqiqa',
+            mm : '%d daqiqa',
+            h : 'bir soat',
+            hh : '%d soat',
+            d : 'bir kun',
+            dd : '%d kun',
+            M : 'bir oy',
+            MM : '%d oy',
+            y : 'bir yil',
+            yy : '%d yil'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('uz', {
+        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
+        weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
+        weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'D MMMM YYYY, dddd HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бугун соат] LT [да]',
+            nextDay : '[Эртага] LT [да]',
+            nextWeek : 'dddd [куни соат] LT [да]',
+            lastDay : '[Кеча соат] LT [да]',
+            lastWeek : '[Утган] dddd [куни соат] LT [да]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'Якин %s ичида',
+            past : 'Бир неча %s олдин',
+            s : 'фурсат',
+            ss : '%d фурсат',
+            m : 'бир дакика',
+            mm : '%d дакика',
+            h : 'бир соат',
+            hh : '%d соат',
+            d : 'бир кун',
+            dd : '%d кун',
+            M : 'бир ой',
+            MM : '%d ой',
+            y : 'бир йил',
+            yy : '%d йил'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('vi', {
+        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('_'),
+        monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
+        weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+        weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+        weekdaysParseExact : true,
+        meridiemParse: /sa|ch/i,
+        isPM : function (input) {
+            return /^ch$/i.test(input);
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'sa' : 'SA';
+            } else {
+                return isLower ? 'ch' : 'CH';
+            }
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM [năm] YYYY',
+            LLL : 'D MMMM [năm] YYYY HH:mm',
+            LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
+            l : 'DD/M/YYYY',
+            ll : 'D MMM YYYY',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd, D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hôm nay lúc] LT',
+            nextDay: '[Ngày mai lúc] LT',
+            nextWeek: 'dddd [tuần tới lúc] LT',
+            lastDay: '[Hôm qua lúc] LT',
+            lastWeek: 'dddd [tuần rồi lúc] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s tá»›i',
+            past : '%s trước',
+            s : 'vài giây',
+            ss : '%d giây' ,
+            m : 'một phút',
+            mm : '%d phút',
+            h : 'một giờ',
+            hh : '%d giờ',
+            d : 'một ngày',
+            dd : '%d ngày',
+            M : 'một tháng',
+            MM : '%d tháng',
+            y : 'một năm',
+            yy : '%d năm'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : function (number) {
+            return number;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('x-pseudo', {
+        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('_'),
+        monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
+        weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
+        weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[T~ódá~ý át] LT',
+            nextDay : '[T~ómó~rró~w át] LT',
+            nextWeek : 'dddd [át] LT',
+            lastDay : '[Ý~ést~érdá~ý át] LT',
+            lastWeek : '[L~ást] dddd [át] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'í~ñ %s',
+            past : '%s á~gó',
+            s : 'á ~féw ~sécó~ñds',
+            ss : '%d s~écóñ~ds',
+            m : 'á ~míñ~úté',
+            mm : '%d m~íñú~tés',
+            h : 'á~ñ hó~úr',
+            hh : '%d h~óúrs',
+            d : 'á ~dáý',
+            dd : '%d d~áýs',
+            M : 'á ~móñ~th',
+            MM : '%d m~óñt~hs',
+            y : 'á ~ýéár',
+            yy : '%d ý~éárs'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('yo', {
+        months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
+        monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
+        weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
+        weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
+        weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Ònì ni] LT',
+            nextDay : '[Ọ̀la ni] LT',
+            nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
+            lastDay : '[AÌ€na ni] LT',
+            lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ní %s',
+            past : '%s kọjá',
+            s : 'ìsẹjú aayá die',
+            ss :'aayá %d',
+            m : 'ìsẹjú kan',
+            mm : 'ìsẹjú %d',
+            h : 'wákati kan',
+            hh : 'wákati %d',
+            d : 'ọjọ́ kan',
+            dd : 'ọjọ́ %d',
+            M : 'osù kan',
+            MM : 'osù %d',
+            y : 'ọdún kan',
+            yy : 'ọdún %d'
+        },
+        dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/,
+        ordinal : 'ọjọ́ %d',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('zh-cn', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日Ah点mm分',
+            LLLL : 'YYYY年M月D日ddddAh点mm分',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' ||
+                    meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            } else {
+                // '中午'
+                return hour >= 11 ? hour : hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天]LT',
+            nextDay : '[明天]LT',
+            nextWeek : '[下]ddddLT',
+            lastDay : '[昨天]LT',
+            lastWeek : '[上]ddddLT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + 'æ—¥';
+                case 'M':
+                    return number + '月';
+                case 'w':
+                case 'W':
+                    return number + '周';
+                default:
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%s内',
+            past : '%s前',
+            s : '几秒',
+            ss : '%d ç§’',
+            m : '1 分钟',
+            mm : '%d 分钟',
+            h : '1 小时',
+            hh : '%d 小时',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 个月',
+            MM : '%d 个月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        },
+        week : {
+            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('zh-hk', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日dddd HH:mm',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '中午') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天]LT',
+            nextDay : '[明天]LT',
+            nextWeek : '[下]ddddLT',
+            lastDay : '[昨天]LT',
+            lastWeek : '[上]ddddLT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd' :
+                case 'D' :
+                case 'DDD' :
+                    return number + 'æ—¥';
+                case 'M' :
+                    return number + '月';
+                case 'w' :
+                case 'W' :
+                    return number + '週';
+                default :
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%så…§',
+            past : '%s前',
+            s : '幾秒',
+            ss : '%d ç§’',
+            m : '1 分鐘',
+            mm : '%d 分鐘',
+            h : '1 小時',
+            hh : '%d 小時',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 個月',
+            MM : '%d 個月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        }
+    });
+
+    //! moment.js locale configuration
+
+    moment.defineLocale('zh-tw', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日dddd HH:mm',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '中午') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天] LT',
+            nextDay : '[明天] LT',
+            nextWeek : '[下]dddd LT',
+            lastDay : '[昨天] LT',
+            lastWeek : '[上]dddd LT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd' :
+                case 'D' :
+                case 'DDD' :
+                    return number + 'æ—¥';
+                case 'M' :
+                    return number + '月';
+                case 'w' :
+                case 'W' :
+                    return number + '週';
+                default :
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%så…§',
+            past : '%s前',
+            s : '幾秒',
+            ss : '%d ç§’',
+            m : '1 分鐘',
+            mm : '%d 分鐘',
+            h : '1 小時',
+            hh : '%d 小時',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 個月',
+            MM : '%d 個月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        }
+    });
+
+    moment.locale('en');
+
+    return moment;
+
+})));
diff --git a/public/bower_components/moment/min/locales.min.js b/public/bower_components/moment/min/locales.min.js
new file mode 100644
index 0000000..c5c3475
--- /dev/null
+++ b/public/bower_components/moment/min/locales.min.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module&&"function"==typeof require?a(require("../moment")):"function"==typeof define&&define.amd?define(["../moment"],a):a(e.moment)}(this,function(e){"use strict";e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"vm":"VM":_?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}}),e.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}});var a={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},r=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},i={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},_=function(n){return function(e,a,_,s){var d=r(e),t=i[n][r(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}},s=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar-ly",{months:s,monthsShort:s,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:_("s"),ss:_("s"),m:_("m"),mm:_("m"),h:_("h"),hh:_("h"),d:_("d"),dd:_("d"),M:_("M"),MM:_("M"),y:_("y"),yy:_("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return a[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),e.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}});var d={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},t={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};e.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return t[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return d[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),e.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});var n={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},m={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},o=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},u={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},l=function(n){return function(e,a,_,s){var d=o(e),t=u[n][o(e)];return 2===d&&(t=t[a?0:1]),t.replace(/%d/i,e)}},M=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];e.defineLocale("ar",{months:M,monthsShort:M,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:l("s"),ss:l("s"),m:l("m"),mm:l("m"),h:l("h"),hh:l("h"),d:l("d"),dd:l("d"),M:l("M"),MM:l("M"),y:l("y"),yy:l("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return m[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return n[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var L={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};function Y(e,a,_){var s,d;return"m"===_?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===_?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"birne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,_){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(L[a]||L[e%100-a]||L[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:Y,mm:Y,h:Y,hh:Y,d:"\u0434\u0437\u0435\u043d\u044c",dd:Y,M:"\u043c\u0435\u0441\u044f\u0446",MM:Y,y:"\u0433\u043e\u0434",yy:Y},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0===_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var h={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},y={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};e.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return y[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return h[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var c={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},k={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function p(e,a,_){var s,d,t;return e+" "+(s={mm:"munutenn",MM:"miz",dd:"devezh"}[_],2!==e?s:void 0!==(t={m:"v",b:"v",d:"z"})[(d=s).charAt(0)]?t[d.charAt(0)]+d.substring(1):d)}function D(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return k[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return c[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}}),e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:p,h:"un eur",hh:"%d eur",d:"un devezh",dd:p,M:"ur miz",MM:p,y:"ur bloaz",yy:function(e){switch(function e(a){return 9<a?e(a%10):a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4}}),e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:D,m:D,mm:D,h:D,hh:D,d:"dan",dd:D,M:"mjesec",MM:D,y:"godinu",yy:D},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){var _=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8";return"w"!==a&&"W"!==a||(_="a"),e+_},week:{dow:1,doy:4}});var T="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),f="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),g=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],w=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function H(e){return 1<e&&e<5&&1!=~~(e/10)}function b(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?d+(H(e)?"sekundy":"sekund"):d+"sekundami";break;case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?d+(H(e)?"minuty":"minut"):d+"minutami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(H(e)?"hodiny":"hodin"):d+"hodinami";break;case"d":return a||s?"den":"dnem";case"dd":return a||s?d+(H(e)?"dny":"dn\xed"):d+"dny";break;case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?d+(H(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):d+"m\u011bs\xedci";break;case"y":return a||s?"rok":"rokem";case"yy":return a||s?d+(H(e)?"roky":"let"):d+"lety";break}}function S(e,a,_,s){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?d[_][0]:d[_][1]}function v(e,a,_,s){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?d[_][0]:d[_][1]}function j(e,a,_,s){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?d[_][0]:d[_][1]}e.defineLocale("cs",{months:T,monthsShort:f,monthsRegex:w,monthsShortRegex:w,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:g,longMonthsParse:g,shortMonthsParse:g,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:b,ss:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:S,mm:"%d Minuten",h:S,hh:"%d Stunden",d:S,dd:S,M:S,MM:S,y:S,yy:S},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:v,mm:"%d Minuten",h:v,hh:"%d Stunden",d:v,dd:v,M:v,MM:v,y:v,yy:v},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:j,mm:"%d Minuten",h:j,hh:"%d Stunden",d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var x=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],P=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];e.defineLocale("dv",{months:x,monthsShort:x,weekdays:P,weekdaysShort:P,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,_){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),e.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?"string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,_){return 11<e?_?"\u03bc\u03bc":"\u039c\u039c":_?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var _,s=this._calendarEl[e],d=a&&a.hours();return((_=s)instanceof Function||"[object Function]"===Object.prototype.toString.call(_))&&(s=s.apply(a)),s.replace("{}",d%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),e.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"p.t.m.":"P.T.M.":_?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var W="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),A="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),O=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],E=/^(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;e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?A[e.month()]:W[e.month()]:W},monthsRegex:E,monthsShortRegex:E,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:O,longMonthsParse:O,shortMonthsParse:O,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var F="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),z="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),J=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],I=/^(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;e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?z[e.month()]:F[e.month()]:F},monthsRegex:I,monthsShortRegex:I,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:J,longMonthsParse:J,shortMonthsParse:J,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}});var N="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),R="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),K=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],C=/^(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;function G(e,a,_,s){var d={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?d[_][2]?d[_][2]:d[_][1]:s?d[_][0]:d[_][1]}e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?R[e.month()]:N[e.month()]:N},monthsRegex:C,monthsShortRegex:C,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:K,longMonthsParse:K,shortMonthsParse:K,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:G,ss:G,m:G,mm:G,h:G,hh:G,d:G,dd:"%d p\xe4eva",M:G,MM:G,y:G,yy:G},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var B={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},q={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};e.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,_){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return q[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return B[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}});var U="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),$=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",U[7],U[8],U[9]];function Q(e,a,_,s){var d,t,n="";switch(_){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":return s?"sekunnin":"sekuntia";case"m":return s?"minuutin":"minuutti";case"mm":n=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":n=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":n=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":n=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":n=s?"vuoden":"vuotta";break}return t=s,n=((d=e)<10?t?$[d]:U[d]:d)+" "+n}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:Q,ss:Q,m:Q,mm:Q,h:Q,hh:Q,d:Q,dd:Q,M:Q,MM:Q,y:Q,yy:Q},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),e.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),e.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var V="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),Z="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Z[e.month()]:V[e.month()]:V},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});e.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","M\xe9itheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deaireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean\xe1","Feab","M\xe1rt","Aibr","Beal","M\xe9it","I\xfail","L\xfana","Me\xe1n","Deai","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Satharn"],weekdaysShort:["Dom","Lua","M\xe1i","C\xe9a","D\xe9a","hAo","Sat"],weekdaysMin:["Do","Lu","M\xe1","Ce","D\xe9","hA","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xed",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function X(e,a,_,s){var d={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voranim",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return a?d[_][0]:d[_][1]}e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:X,ss:X,m:X,mm:X,h:X,hh:X,d:X,dd:X,M:X,MM:X,y:X,yy:X},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokalli"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}});var ee={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},ae={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};e.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return ae[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ee[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),e.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,_){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?_?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?_?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}});var _e={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},se={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function de(e,a,_){var s=e+" ";switch(_){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return se[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return _e[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),e.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:de,m:de,mm:de,h:de,hh:de,d:"dan",dd:de,M:"mjesec",MM:de,y:"godinu",yy:de},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var te="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function ne(e,a,_,s){var d=e;switch(_){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return d+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return d+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return d+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return d+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return d+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return d+(s||a?" \xe9v":" \xe9ve")}return""}function re(e){return(e?"":"[m\xfalt] ")+"["+te[this.day()]+"] LT[-kor]"}function ie(e){return e%100==11||e%10!=1}function me(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return ie(e)?d+(a||s?"sek\xfandur":"sek\xfandum"):d+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return ie(e)?d+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?d+"m\xedn\xfata":d+"m\xedn\xfatu";case"hh":return ie(e)?d+(a||s?"klukkustundir":"klukkustundum"):d+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return ie(e)?a?d+"dagar":d+(s?"daga":"d\xf6gum"):a?d+"dagur":d+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return ie(e)?a?d+"m\xe1nu\xf0ir":d+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?d+"m\xe1nu\xf0ur":d+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return ie(e)?d+(a||s?"\xe1r":"\xe1rum"):d+(a||s?"\xe1r":"\xe1ri")}}e.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,_){return e<12?!0===_?"de":"DE":!0===_?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return re.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return re.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:ne,ss:ne,m:ne,mm:ne,h:ne,hh:ne,d:ne,dd:ne,M:ne,MM:ne,y:ne,yy:ne},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:me,ss:me,m:me,mm:me,h:"klukkustund",hh:me,d:me,dd:me,M:me,MM:me,y:me,yy:me},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ja",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,_){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()<this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()<e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),e.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(e)?e.replace(/\u10d8$/,"\u10e8\u10d8"):e+"\u10e8\u10d8"},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var oe={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};e.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(oe[e]||oe[e%10]||oe[100<=e?100:null])},week:{dow:1,doy:7}});var ue={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},le={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};e.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,_){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return le[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ue[e]})},week:{dow:1,doy:4}});var Me={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},Le={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};e.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return Le[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Me[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),e.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,_){return e<12?"\uc624\uc804":"\uc624\ud6c4"}});var Ye={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},he={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},ye=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];e.defineLocale("ku",{months:ye,monthsShort:ye,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,_){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return he[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Ye[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var ce={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};function ke(e,a,_,s){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?d[_][0]:d[_][1]}function pe(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10;return pe(0===a?e/10:a)}if(e<1e4){for(;10<=e;)e/=10;return pe(e)}return pe(e/=1e3)}e.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(ce[e]||ce[e%10]||ce[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return pe(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return pe(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:ke,mm:"%d Minutten",h:ke,hh:"%d Stonnen",d:ke,dd:"%d Deeg",M:ke,MM:"%d M\xe9int",y:ke,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,_){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var De={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function Te(e,a,_,s){return a?ge(_)[0]:s?ge(_)[1]:ge(_)[2]}function fe(e){return e%10==0||10<e&&e<20}function ge(e){return De[e].split("_")}function we(e,a,_,s){var d=e+" ";return 1===e?d+Te(0,a,_[0],s):a?d+(fe(e)?ge(_)[1]:ge(_)[0]):s?d+ge(_)[1]:d+(fe(e)?ge(_)[1]:ge(_)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,_,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:we,m:Te,mm:we,h:Te,hh:we,d:Te,dd:we,M:Te,MM:we,y:Te,yy:we},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var He={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function be(e,a,_){return _?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Se(e,a,_){return e+" "+be(He[_],e,a)}function ve(e,a,_){return be(He[_],e,a)}e.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Se,m:ve,mm:Se,h:ve,hh:Se,d:ve,dd:Se,M:ve,MM:Se,y:ve,yy:Se},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var je={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=je.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+je.correctGrammaticalCase(e,s)}};function xe(e,a,_,s){switch(_){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:je.translate,m:je.translate,mm:je.translate,h:je.translate,hh:je.translate,d:"dan",dd:je.translate,M:"mjesec",MM:je.translate,y:"godinu",yy:je.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,_=e%100;return 0===e?e+"-\u0435\u0432":0===_?e+"-\u0435\u043d":10<_&&_<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),e.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,_){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),e.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,_){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:xe,ss:xe,m:xe,mm:xe,h:xe,hh:xe,d:xe,dd:xe,M:xe,MM:xe,y:xe,yy:xe},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var Pe={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},We={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function Ae(e,a,_,s){var d="";if(a)switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":d="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":d="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":d="%d \u0924\u093e\u0938";break;case"d":d="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":d="%d \u0926\u093f\u0935\u0938";break;case"M":d="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":d="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(_){case"s":d="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":d="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":d="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":d="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":d="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":d="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":d="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":d="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":d="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":d="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":d="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":d="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return d.replace(/%d/i,e)}e.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:Ae,ss:Ae,m:Ae,mm:Ae,h:Ae,hh:Ae,d:Ae,dd:Ae,M:Ae,MM:Ae,y:Ae,yy:Ae},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return We[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Pe[e]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a?10<=e?e:e+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0930\u093e\u0924\u094d\u0930\u0940":e<10?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,_){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var Oe={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},Ee={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};e.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return Ee[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Oe[e]})},week:{dow:1,doy:4}}),e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Fe={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},ze={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};e.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return ze[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Fe[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,_){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}});var Je="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Ie="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ne=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Re=/^(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;e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ie[e.month()]:Je[e.month()]:Je},monthsRegex:Re,monthsShortRegex:Re,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ne,longMonthsParse:Ne,shortMonthsParse:Ne,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});var Ke="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Ce="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Ge=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Be=/^(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;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ce[e.month()]:Ke[e.month()]:Ke},monthsRegex:Be,monthsShortRegex:Be,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Ge,longMonthsParse:Ge,shortMonthsParse:Ge,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var qe={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},Ue={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};e.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Ue[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return qe[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}});var $e="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),Qe="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function Ve(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function Ze(e,a,_){var s=e+" ";switch(_){case"ss":return s+(Ve(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(Ve(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(Ve(e)?"godziny":"godzin");case"MM":return s+(Ve(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(Ve(e)?"lata":"lat")}}function Xe(e,a,_){var s=" ";return(20<=e%100||100<=e&&e%100==0)&&(s=" de "),e+s+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[_]}function ea(e,a,_){var s,d;return"m"===_?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}e.defineLocale("pl",{months:function(e,a){return e?""===a?"("+Qe[e.month()]+"|"+$e[e.month()]+")":/D MMMM/.test(a)?Qe[e.month()]:$e[e.month()]:$e},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Ze,m:Ze,mm:Ze,h:Ze,hh:Ze,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:Ze,y:"rok",yy:Ze},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"}),e.defineLocale("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Xe,m:"un minut",mm:Xe,h:"o or\u0103",hh:Xe,d:"o zi",dd:Xe,M:"o lun\u0103",MM:Xe,y:"un an",yy:Xe},week:{dow:1,doy:7}});var aa=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];e.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:aa,longMonthsParse:aa,shortMonthsParse:aa,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:ea,m:ea,mm:ea,h:"\u0447\u0430\u0441",hh:ea,d:"\u0434\u0435\u043d\u044c",dd:ea,M:"\u043c\u0435\u0441\u044f\u0446",MM:ea,y:"\u0433\u043e\u0434",yy:ea},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}});var _a=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],sa=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];e.defineLocale("sd",{months:_a,monthsShort:_a,weekdays:sa,weekdaysShort:sa,weekdaysMin:sa,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,_){return 11<e?_?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":_?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}});var da="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),ta="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function na(e){return 1<e&&e<5}function ra(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?d+(na(e)?"sekundy":"sek\xfand"):d+"sekundami";break;case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?d+(na(e)?"min\xfaty":"min\xfat"):d+"min\xfatami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?d+(na(e)?"hodiny":"hod\xedn"):d+"hodinami";break;case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?d+(na(e)?"dni":"dn\xed"):d+"d\u0148ami";break;case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?d+(na(e)?"mesiace":"mesiacov"):d+"mesiacmi";break;case"y":return a||s?"rok":"rokom";case"yy":return a||s?d+(na(e)?"roky":"rokov"):d+"rokmi";break}}function ia(e,a,_,s){var d=e+" ";switch(_){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return d+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return d+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return d+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return d+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return d+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return d+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}e.defineLocale("sk",{months:da,monthsShort:ta,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ra,ss:ra,m:ra,mm:ra,h:ra,hh:ra,d:ra,dd:ra,M:ra,MM:ra,y:ra,yy:ra},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:ia,ss:ia,m:ia,mm:ia,h:ia,hh:ia,d:ia,dd:ia,M:ia,MM:ia,y:ia,yy:ia},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,_){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var ma={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=ma.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+ma.correctGrammaticalCase(e,s)}};e.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:ma.translate,m:ma.translate,mm:ma.translate,h:ma.translate,hh:ma.translate,d:"\u0434\u0430\u043d",dd:ma.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:ma.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:ma.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var oa={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,_){var s=oa.words[_];return 1===_.length?a?s[0]:s[1]:e+" "+oa.correctGrammaticalCase(e,s)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:oa.translate,m:oa.translate,mm:oa.translate,h:oa.translate,hh:oa.translate,d:"dan",dd:oa.translate,M:"mesec",MM:oa.translate,y:"godinu",yy:oa.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,_){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"e":1===a?"a":2===a?"a":"e")},week:{dow:1,doy:4}}),e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});var ua={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},la={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};e.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return la[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return ua[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,_){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a?e:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),e.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}});var Ma={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};e.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,_){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(Ma[e]||Ma[e%10]||Ma[100<=e?100:null])},week:{dow:1,doy:7}}),e.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,_){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});var La="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function Ya(e,a,_,s){var d=function(e){var a=Math.floor(e%1e3/100),_=Math.floor(e%100/10),s=e%10,d="";0<a&&(d+=La[a]+"vatlh");0<_&&(d+=(""!==d?" ":"")+La[_]+"maH");0<s&&(d+=(""!==d?" ":"")+La[s]);return""===d?"pagh":d}(e);switch(_){case"ss":return d+" lup";case"mm":return d+" tup";case"hh":return d+" rep";case"dd":return d+" jaj";case"MM":return d+" jar";case"yy":return d+" DIS"}}e.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:Ya,m:"wa\u2019 tup",mm:Ya,h:"wa\u2019 rep",hh:Ya,d:"wa\u2019 jaj",dd:Ya,M:"wa\u2019 jar",MM:Ya,y:"wa\u2019 DIS",yy:Ya},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var ha={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function ya(e,a,_,s){var d={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s?d[_][0]:a?d[_][0]:d[_][1]}function ca(e,a,_){var s,d;return"m"===_?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===_?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(s=+e,d={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[_].split("_"),s%10==1&&s%100!=11?d[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?d[1]:d[2])}function ka(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}e.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var _=e%10;return e+(ha[_]||ha[e%100-_]||ha[100<=e?100:null])}},week:{dow:1,doy:7}}),e.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,_){return 11<e?_?"d'o":"D'O":_?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ya,ss:ya,m:ya,mm:ya,h:ya,hh:ya,d:ya,dd:ya,M:ya,MM:ya,y:ya,yy:ya},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),e.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),e.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a?e:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===a||"\u0643\u06d5\u0686"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":s<900?"\u0633\u06d5\u06be\u06d5\u0631":s<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":s<1230?"\u0686\u06c8\u0634":s<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),e.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var _={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?_.nominative.slice(1,7).concat(_.nominative.slice(0,1)):e?_[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:_.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:ka("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:ka("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:ka("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:ka("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return ka("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return ka("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:ca,m:ca,mm:ca,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:ca,d:"\u0434\u0435\u043d\u044c",dd:ca,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:ca,y:"\u0440\u0456\u043a",yy:ca},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,_){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});var pa=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],Da=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return e.defineLocale("ur",{months:pa,monthsShort:pa,weekdays:Da,weekdaysShort:Da,weekdaysMin:Da,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,_){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),e.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),e.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,_){return e<12?_?"sa":"SA":_?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),e.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),e.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),e.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),e.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,_){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),e.locale("en"),e});
\ No newline at end of file
diff --git a/public/bower_components/moment/min/moment-with-locales.js b/public/bower_components/moment/min/moment-with-locales.js
new file mode 100644
index 0000000..0892cdc
--- /dev/null
+++ b/public/bower_components/moment/min/moment-with-locales.js
@@ -0,0 +1,14765 @@
+;(function (global, factory) {
+    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+    typeof define === 'function' && define.amd ? define(factory) :
+    global.moment = factory()
+}(this, (function () { 'use strict';
+
+    var hookCallback;
+
+    function hooks () {
+        return hookCallback.apply(null, arguments);
+    }
+
+    // This is done to register the method called with moment()
+    // without creating circular dependencies.
+    function setHookCallback (callback) {
+        hookCallback = callback;
+    }
+
+    function isArray(input) {
+        return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
+    }
+
+    function isObject(input) {
+        // IE8 will treat undefined and null as object if it wasn't for
+        // input != null
+        return input != null && Object.prototype.toString.call(input) === '[object Object]';
+    }
+
+    function isObjectEmpty(obj) {
+        if (Object.getOwnPropertyNames) {
+            return (Object.getOwnPropertyNames(obj).length === 0);
+        } else {
+            var k;
+            for (k in obj) {
+                if (obj.hasOwnProperty(k)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    function isUndefined(input) {
+        return input === void 0;
+    }
+
+    function isNumber(input) {
+        return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
+    }
+
+    function isDate(input) {
+        return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
+    }
+
+    function map(arr, fn) {
+        var res = [], i;
+        for (i = 0; i < arr.length; ++i) {
+            res.push(fn(arr[i], i));
+        }
+        return res;
+    }
+
+    function hasOwnProp(a, b) {
+        return Object.prototype.hasOwnProperty.call(a, b);
+    }
+
+    function extend(a, b) {
+        for (var i in b) {
+            if (hasOwnProp(b, i)) {
+                a[i] = b[i];
+            }
+        }
+
+        if (hasOwnProp(b, 'toString')) {
+            a.toString = b.toString;
+        }
+
+        if (hasOwnProp(b, 'valueOf')) {
+            a.valueOf = b.valueOf;
+        }
+
+        return a;
+    }
+
+    function createUTC (input, format, locale, strict) {
+        return createLocalOrUTC(input, format, locale, strict, true).utc();
+    }
+
+    function defaultParsingFlags() {
+        // We need to deep clone this object.
+        return {
+            empty           : false,
+            unusedTokens    : [],
+            unusedInput     : [],
+            overflow        : -2,
+            charsLeftOver   : 0,
+            nullInput       : false,
+            invalidMonth    : null,
+            invalidFormat   : false,
+            userInvalidated : false,
+            iso             : false,
+            parsedDateParts : [],
+            meridiem        : null,
+            rfc2822         : false,
+            weekdayMismatch : false
+        };
+    }
+
+    function getParsingFlags(m) {
+        if (m._pf == null) {
+            m._pf = defaultParsingFlags();
+        }
+        return m._pf;
+    }
+
+    var some;
+    if (Array.prototype.some) {
+        some = Array.prototype.some;
+    } else {
+        some = function (fun) {
+            var t = Object(this);
+            var len = t.length >>> 0;
+
+            for (var i = 0; i < len; i++) {
+                if (i in t && fun.call(this, t[i], i, t)) {
+                    return true;
+                }
+            }
+
+            return false;
+        };
+    }
+
+    function isValid(m) {
+        if (m._isValid == null) {
+            var flags = getParsingFlags(m);
+            var parsedParts = some.call(flags.parsedDateParts, function (i) {
+                return i != null;
+            });
+            var isNowValid = !isNaN(m._d.getTime()) &&
+                flags.overflow < 0 &&
+                !flags.empty &&
+                !flags.invalidMonth &&
+                !flags.invalidWeekday &&
+                !flags.weekdayMismatch &&
+                !flags.nullInput &&
+                !flags.invalidFormat &&
+                !flags.userInvalidated &&
+                (!flags.meridiem || (flags.meridiem && parsedParts));
+
+            if (m._strict) {
+                isNowValid = isNowValid &&
+                    flags.charsLeftOver === 0 &&
+                    flags.unusedTokens.length === 0 &&
+                    flags.bigHour === undefined;
+            }
+
+            if (Object.isFrozen == null || !Object.isFrozen(m)) {
+                m._isValid = isNowValid;
+            }
+            else {
+                return isNowValid;
+            }
+        }
+        return m._isValid;
+    }
+
+    function createInvalid (flags) {
+        var m = createUTC(NaN);
+        if (flags != null) {
+            extend(getParsingFlags(m), flags);
+        }
+        else {
+            getParsingFlags(m).userInvalidated = true;
+        }
+
+        return m;
+    }
+
+    // Plugins that add properties should also add the key here (null value),
+    // so we can properly clone ourselves.
+    var momentProperties = hooks.momentProperties = [];
+
+    function copyConfig(to, from) {
+        var i, prop, val;
+
+        if (!isUndefined(from._isAMomentObject)) {
+            to._isAMomentObject = from._isAMomentObject;
+        }
+        if (!isUndefined(from._i)) {
+            to._i = from._i;
+        }
+        if (!isUndefined(from._f)) {
+            to._f = from._f;
+        }
+        if (!isUndefined(from._l)) {
+            to._l = from._l;
+        }
+        if (!isUndefined(from._strict)) {
+            to._strict = from._strict;
+        }
+        if (!isUndefined(from._tzm)) {
+            to._tzm = from._tzm;
+        }
+        if (!isUndefined(from._isUTC)) {
+            to._isUTC = from._isUTC;
+        }
+        if (!isUndefined(from._offset)) {
+            to._offset = from._offset;
+        }
+        if (!isUndefined(from._pf)) {
+            to._pf = getParsingFlags(from);
+        }
+        if (!isUndefined(from._locale)) {
+            to._locale = from._locale;
+        }
+
+        if (momentProperties.length > 0) {
+            for (i = 0; i < momentProperties.length; i++) {
+                prop = momentProperties[i];
+                val = from[prop];
+                if (!isUndefined(val)) {
+                    to[prop] = val;
+                }
+            }
+        }
+
+        return to;
+    }
+
+    var updateInProgress = false;
+
+    // Moment prototype object
+    function Moment(config) {
+        copyConfig(this, config);
+        this._d = new Date(config._d != null ? config._d.getTime() : NaN);
+        if (!this.isValid()) {
+            this._d = new Date(NaN);
+        }
+        // Prevent infinite loop in case updateOffset creates new moment
+        // objects.
+        if (updateInProgress === false) {
+            updateInProgress = true;
+            hooks.updateOffset(this);
+            updateInProgress = false;
+        }
+    }
+
+    function isMoment (obj) {
+        return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
+    }
+
+    function absFloor (number) {
+        if (number < 0) {
+            // -0 -> 0
+            return Math.ceil(number) || 0;
+        } else {
+            return Math.floor(number);
+        }
+    }
+
+    function toInt(argumentForCoercion) {
+        var coercedNumber = +argumentForCoercion,
+            value = 0;
+
+        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+            value = absFloor(coercedNumber);
+        }
+
+        return value;
+    }
+
+    // compare two arrays, return the number of differences
+    function compareArrays(array1, array2, dontConvert) {
+        var len = Math.min(array1.length, array2.length),
+            lengthDiff = Math.abs(array1.length - array2.length),
+            diffs = 0,
+            i;
+        for (i = 0; i < len; i++) {
+            if ((dontConvert && array1[i] !== array2[i]) ||
+                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+                diffs++;
+            }
+        }
+        return diffs + lengthDiff;
+    }
+
+    function warn(msg) {
+        if (hooks.suppressDeprecationWarnings === false &&
+                (typeof console !==  'undefined') && console.warn) {
+            console.warn('Deprecation warning: ' + msg);
+        }
+    }
+
+    function deprecate(msg, fn) {
+        var firstTime = true;
+
+        return extend(function () {
+            if (hooks.deprecationHandler != null) {
+                hooks.deprecationHandler(null, msg);
+            }
+            if (firstTime) {
+                var args = [];
+                var arg;
+                for (var i = 0; i < arguments.length; i++) {
+                    arg = '';
+                    if (typeof arguments[i] === 'object') {
+                        arg += '\n[' + i + '] ';
+                        for (var key in arguments[0]) {
+                            arg += key + ': ' + arguments[0][key] + ', ';
+                        }
+                        arg = arg.slice(0, -2); // Remove trailing comma and space
+                    } else {
+                        arg = arguments[i];
+                    }
+                    args.push(arg);
+                }
+                warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
+                firstTime = false;
+            }
+            return fn.apply(this, arguments);
+        }, fn);
+    }
+
+    var deprecations = {};
+
+    function deprecateSimple(name, msg) {
+        if (hooks.deprecationHandler != null) {
+            hooks.deprecationHandler(name, msg);
+        }
+        if (!deprecations[name]) {
+            warn(msg);
+            deprecations[name] = true;
+        }
+    }
+
+    hooks.suppressDeprecationWarnings = false;
+    hooks.deprecationHandler = null;
+
+    function isFunction(input) {
+        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
+    }
+
+    function set (config) {
+        var prop, i;
+        for (i in config) {
+            prop = config[i];
+            if (isFunction(prop)) {
+                this[i] = prop;
+            } else {
+                this['_' + i] = prop;
+            }
+        }
+        this._config = config;
+        // Lenient ordinal parsing accepts just a number in addition to
+        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
+        // TODO: Remove "ordinalParse" fallback in next major release.
+        this._dayOfMonthOrdinalParseLenient = new RegExp(
+            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
+                '|' + (/\d{1,2}/).source);
+    }
+
+    function mergeConfigs(parentConfig, childConfig) {
+        var res = extend({}, parentConfig), prop;
+        for (prop in childConfig) {
+            if (hasOwnProp(childConfig, prop)) {
+                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
+                    res[prop] = {};
+                    extend(res[prop], parentConfig[prop]);
+                    extend(res[prop], childConfig[prop]);
+                } else if (childConfig[prop] != null) {
+                    res[prop] = childConfig[prop];
+                } else {
+                    delete res[prop];
+                }
+            }
+        }
+        for (prop in parentConfig) {
+            if (hasOwnProp(parentConfig, prop) &&
+                    !hasOwnProp(childConfig, prop) &&
+                    isObject(parentConfig[prop])) {
+                // make sure changes to properties don't modify parent config
+                res[prop] = extend({}, res[prop]);
+            }
+        }
+        return res;
+    }
+
+    function Locale(config) {
+        if (config != null) {
+            this.set(config);
+        }
+    }
+
+    var keys;
+
+    if (Object.keys) {
+        keys = Object.keys;
+    } else {
+        keys = function (obj) {
+            var i, res = [];
+            for (i in obj) {
+                if (hasOwnProp(obj, i)) {
+                    res.push(i);
+                }
+            }
+            return res;
+        };
+    }
+
+    var defaultCalendar = {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    };
+
+    function calendar (key, mom, now) {
+        var output = this._calendar[key] || this._calendar['sameElse'];
+        return isFunction(output) ? output.call(mom, now) : output;
+    }
+
+    var defaultLongDateFormat = {
+        LTS  : 'h:mm:ss A',
+        LT   : 'h:mm A',
+        L    : 'MM/DD/YYYY',
+        LL   : 'MMMM D, YYYY',
+        LLL  : 'MMMM D, YYYY h:mm A',
+        LLLL : 'dddd, MMMM D, YYYY h:mm A'
+    };
+
+    function longDateFormat (key) {
+        var format = this._longDateFormat[key],
+            formatUpper = this._longDateFormat[key.toUpperCase()];
+
+        if (format || !formatUpper) {
+            return format;
+        }
+
+        this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
+            return val.slice(1);
+        });
+
+        return this._longDateFormat[key];
+    }
+
+    var defaultInvalidDate = 'Invalid date';
+
+    function invalidDate () {
+        return this._invalidDate;
+    }
+
+    var defaultOrdinal = '%d';
+    var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
+
+    function ordinal (number) {
+        return this._ordinal.replace('%d', number);
+    }
+
+    var defaultRelativeTime = {
+        future : 'in %s',
+        past   : '%s ago',
+        s  : 'a few seconds',
+        ss : '%d seconds',
+        m  : 'a minute',
+        mm : '%d minutes',
+        h  : 'an hour',
+        hh : '%d hours',
+        d  : 'a day',
+        dd : '%d days',
+        M  : 'a month',
+        MM : '%d months',
+        y  : 'a year',
+        yy : '%d years'
+    };
+
+    function relativeTime (number, withoutSuffix, string, isFuture) {
+        var output = this._relativeTime[string];
+        return (isFunction(output)) ?
+            output(number, withoutSuffix, string, isFuture) :
+            output.replace(/%d/i, number);
+    }
+
+    function pastFuture (diff, output) {
+        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+        return isFunction(format) ? format(output) : format.replace(/%s/i, output);
+    }
+
+    var aliases = {};
+
+    function addUnitAlias (unit, shorthand) {
+        var lowerCase = unit.toLowerCase();
+        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
+    }
+
+    function normalizeUnits(units) {
+        return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
+    }
+
+    function normalizeObjectUnits(inputObject) {
+        var normalizedInput = {},
+            normalizedProp,
+            prop;
+
+        for (prop in inputObject) {
+            if (hasOwnProp(inputObject, prop)) {
+                normalizedProp = normalizeUnits(prop);
+                if (normalizedProp) {
+                    normalizedInput[normalizedProp] = inputObject[prop];
+                }
+            }
+        }
+
+        return normalizedInput;
+    }
+
+    var priorities = {};
+
+    function addUnitPriority(unit, priority) {
+        priorities[unit] = priority;
+    }
+
+    function getPrioritizedUnits(unitsObj) {
+        var units = [];
+        for (var u in unitsObj) {
+            units.push({unit: u, priority: priorities[u]});
+        }
+        units.sort(function (a, b) {
+            return a.priority - b.priority;
+        });
+        return units;
+    }
+
+    function zeroFill(number, targetLength, forceSign) {
+        var absNumber = '' + Math.abs(number),
+            zerosToFill = targetLength - absNumber.length,
+            sign = number >= 0;
+        return (sign ? (forceSign ? '+' : '') : '-') +
+            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
+    }
+
+    var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
+
+    var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
+
+    var formatFunctions = {};
+
+    var formatTokenFunctions = {};
+
+    // token:    'M'
+    // padded:   ['MM', 2]
+    // ordinal:  'Mo'
+    // callback: function () { this.month() + 1 }
+    function addFormatToken (token, padded, ordinal, callback) {
+        var func = callback;
+        if (typeof callback === 'string') {
+            func = function () {
+                return this[callback]();
+            };
+        }
+        if (token) {
+            formatTokenFunctions[token] = func;
+        }
+        if (padded) {
+            formatTokenFunctions[padded[0]] = function () {
+                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
+            };
+        }
+        if (ordinal) {
+            formatTokenFunctions[ordinal] = function () {
+                return this.localeData().ordinal(func.apply(this, arguments), token);
+            };
+        }
+    }
+
+    function removeFormattingTokens(input) {
+        if (input.match(/\[[\s\S]/)) {
+            return input.replace(/^\[|\]$/g, '');
+        }
+        return input.replace(/\\/g, '');
+    }
+
+    function makeFormatFunction(format) {
+        var array = format.match(formattingTokens), i, length;
+
+        for (i = 0, length = array.length; i < length; i++) {
+            if (formatTokenFunctions[array[i]]) {
+                array[i] = formatTokenFunctions[array[i]];
+            } else {
+                array[i] = removeFormattingTokens(array[i]);
+            }
+        }
+
+        return function (mom) {
+            var output = '', i;
+            for (i = 0; i < length; i++) {
+                output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
+            }
+            return output;
+        };
+    }
+
+    // format date using native date object
+    function formatMoment(m, format) {
+        if (!m.isValid()) {
+            return m.localeData().invalidDate();
+        }
+
+        format = expandFormat(format, m.localeData());
+        formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
+
+        return formatFunctions[format](m);
+    }
+
+    function expandFormat(format, locale) {
+        var i = 5;
+
+        function replaceLongDateFormatTokens(input) {
+            return locale.longDateFormat(input) || input;
+        }
+
+        localFormattingTokens.lastIndex = 0;
+        while (i >= 0 && localFormattingTokens.test(format)) {
+            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+            localFormattingTokens.lastIndex = 0;
+            i -= 1;
+        }
+
+        return format;
+    }
+
+    var match1         = /\d/;            //       0 - 9
+    var match2         = /\d\d/;          //      00 - 99
+    var match3         = /\d{3}/;         //     000 - 999
+    var match4         = /\d{4}/;         //    0000 - 9999
+    var match6         = /[+-]?\d{6}/;    // -999999 - 999999
+    var match1to2      = /\d\d?/;         //       0 - 99
+    var match3to4      = /\d\d\d\d?/;     //     999 - 9999
+    var match5to6      = /\d\d\d\d\d\d?/; //   99999 - 999999
+    var match1to3      = /\d{1,3}/;       //       0 - 999
+    var match1to4      = /\d{1,4}/;       //       0 - 9999
+    var match1to6      = /[+-]?\d{1,6}/;  // -999999 - 999999
+
+    var matchUnsigned  = /\d+/;           //       0 - inf
+    var matchSigned    = /[+-]?\d+/;      //    -inf - inf
+
+    var matchOffset    = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
+    var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
+
+    var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
+
+    // any word (or two) characters or numbers including two/three word month in arabic.
+    // includes scottish gaelic two word and hyphenated months
+    var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
+
+    var regexes = {};
+
+    function addRegexToken (token, regex, strictRegex) {
+        regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
+            return (isStrict && strictRegex) ? strictRegex : regex;
+        };
+    }
+
+    function getParseRegexForToken (token, config) {
+        if (!hasOwnProp(regexes, token)) {
+            return new RegExp(unescapeFormat(token));
+        }
+
+        return regexes[token](config._strict, config._locale);
+    }
+
+    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+    function unescapeFormat(s) {
+        return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+            return p1 || p2 || p3 || p4;
+        }));
+    }
+
+    function regexEscape(s) {
+        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+    }
+
+    var tokens = {};
+
+    function addParseToken (token, callback) {
+        var i, func = callback;
+        if (typeof token === 'string') {
+            token = [token];
+        }
+        if (isNumber(callback)) {
+            func = function (input, array) {
+                array[callback] = toInt(input);
+            };
+        }
+        for (i = 0; i < token.length; i++) {
+            tokens[token[i]] = func;
+        }
+    }
+
+    function addWeekParseToken (token, callback) {
+        addParseToken(token, function (input, array, config, token) {
+            config._w = config._w || {};
+            callback(input, config._w, config, token);
+        });
+    }
+
+    function addTimeToArrayFromToken(token, input, config) {
+        if (input != null && hasOwnProp(tokens, token)) {
+            tokens[token](input, config._a, config, token);
+        }
+    }
+
+    var YEAR = 0;
+    var MONTH = 1;
+    var DATE = 2;
+    var HOUR = 3;
+    var MINUTE = 4;
+    var SECOND = 5;
+    var MILLISECOND = 6;
+    var WEEK = 7;
+    var WEEKDAY = 8;
+
+    // FORMATTING
+
+    addFormatToken('Y', 0, 0, function () {
+        var y = this.year();
+        return y <= 9999 ? '' + y : '+' + y;
+    });
+
+    addFormatToken(0, ['YY', 2], 0, function () {
+        return this.year() % 100;
+    });
+
+    addFormatToken(0, ['YYYY',   4],       0, 'year');
+    addFormatToken(0, ['YYYYY',  5],       0, 'year');
+    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+    // ALIASES
+
+    addUnitAlias('year', 'y');
+
+    // PRIORITIES
+
+    addUnitPriority('year', 1);
+
+    // PARSING
+
+    addRegexToken('Y',      matchSigned);
+    addRegexToken('YY',     match1to2, match2);
+    addRegexToken('YYYY',   match1to4, match4);
+    addRegexToken('YYYYY',  match1to6, match6);
+    addRegexToken('YYYYYY', match1to6, match6);
+
+    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+    addParseToken('YYYY', function (input, array) {
+        array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+    });
+    addParseToken('YY', function (input, array) {
+        array[YEAR] = hooks.parseTwoDigitYear(input);
+    });
+    addParseToken('Y', function (input, array) {
+        array[YEAR] = parseInt(input, 10);
+    });
+
+    // HELPERS
+
+    function daysInYear(year) {
+        return isLeapYear(year) ? 366 : 365;
+    }
+
+    function isLeapYear(year) {
+        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+    }
+
+    // HOOKS
+
+    hooks.parseTwoDigitYear = function (input) {
+        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+    };
+
+    // MOMENTS
+
+    var getSetYear = makeGetSet('FullYear', true);
+
+    function getIsLeapYear () {
+        return isLeapYear(this.year());
+    }
+
+    function makeGetSet (unit, keepTime) {
+        return function (value) {
+            if (value != null) {
+                set$1(this, unit, value);
+                hooks.updateOffset(this, keepTime);
+                return this;
+            } else {
+                return get(this, unit);
+            }
+        };
+    }
+
+    function get (mom, unit) {
+        return mom.isValid() ?
+            mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
+    }
+
+    function set$1 (mom, unit, value) {
+        if (mom.isValid() && !isNaN(value)) {
+            if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
+                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
+            }
+            else {
+                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+            }
+        }
+    }
+
+    // MOMENTS
+
+    function stringGet (units) {
+        units = normalizeUnits(units);
+        if (isFunction(this[units])) {
+            return this[units]();
+        }
+        return this;
+    }
+
+
+    function stringSet (units, value) {
+        if (typeof units === 'object') {
+            units = normalizeObjectUnits(units);
+            var prioritized = getPrioritizedUnits(units);
+            for (var i = 0; i < prioritized.length; i++) {
+                this[prioritized[i].unit](units[prioritized[i].unit]);
+            }
+        } else {
+            units = normalizeUnits(units);
+            if (isFunction(this[units])) {
+                return this[units](value);
+            }
+        }
+        return this;
+    }
+
+    function mod(n, x) {
+        return ((n % x) + x) % x;
+    }
+
+    var indexOf;
+
+    if (Array.prototype.indexOf) {
+        indexOf = Array.prototype.indexOf;
+    } else {
+        indexOf = function (o) {
+            // I know
+            var i;
+            for (i = 0; i < this.length; ++i) {
+                if (this[i] === o) {
+                    return i;
+                }
+            }
+            return -1;
+        };
+    }
+
+    function daysInMonth(year, month) {
+        if (isNaN(year) || isNaN(month)) {
+            return NaN;
+        }
+        var modMonth = mod(month, 12);
+        year += (month - modMonth) / 12;
+        return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
+    }
+
+    // FORMATTING
+
+    addFormatToken('M', ['MM', 2], 'Mo', function () {
+        return this.month() + 1;
+    });
+
+    addFormatToken('MMM', 0, 0, function (format) {
+        return this.localeData().monthsShort(this, format);
+    });
+
+    addFormatToken('MMMM', 0, 0, function (format) {
+        return this.localeData().months(this, format);
+    });
+
+    // ALIASES
+
+    addUnitAlias('month', 'M');
+
+    // PRIORITY
+
+    addUnitPriority('month', 8);
+
+    // PARSING
+
+    addRegexToken('M',    match1to2);
+    addRegexToken('MM',   match1to2, match2);
+    addRegexToken('MMM',  function (isStrict, locale) {
+        return locale.monthsShortRegex(isStrict);
+    });
+    addRegexToken('MMMM', function (isStrict, locale) {
+        return locale.monthsRegex(isStrict);
+    });
+
+    addParseToken(['M', 'MM'], function (input, array) {
+        array[MONTH] = toInt(input) - 1;
+    });
+
+    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
+        var month = config._locale.monthsParse(input, token, config._strict);
+        // if we didn't find a month name, mark the date as invalid.
+        if (month != null) {
+            array[MONTH] = month;
+        } else {
+            getParsingFlags(config).invalidMonth = input;
+        }
+    });
+
+    // LOCALES
+
+    var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
+    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
+    function localeMonths (m, format) {
+        if (!m) {
+            return isArray(this._months) ? this._months :
+                this._months['standalone'];
+        }
+        return isArray(this._months) ? this._months[m.month()] :
+            this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
+    }
+
+    var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
+    function localeMonthsShort (m, format) {
+        if (!m) {
+            return isArray(this._monthsShort) ? this._monthsShort :
+                this._monthsShort['standalone'];
+        }
+        return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
+            this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
+    }
+
+    function handleStrictParse(monthName, format, strict) {
+        var i, ii, mom, llc = monthName.toLocaleLowerCase();
+        if (!this._monthsParse) {
+            // this is not used
+            this._monthsParse = [];
+            this._longMonthsParse = [];
+            this._shortMonthsParse = [];
+            for (i = 0; i < 12; ++i) {
+                mom = createUTC([2000, i]);
+                this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
+                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
+            }
+        }
+
+        if (strict) {
+            if (format === 'MMM') {
+                ii = indexOf.call(this._shortMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._longMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        } else {
+            if (format === 'MMM') {
+                ii = indexOf.call(this._shortMonthsParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._longMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._longMonthsParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._shortMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        }
+    }
+
+    function localeMonthsParse (monthName, format, strict) {
+        var i, mom, regex;
+
+        if (this._monthsParseExact) {
+            return handleStrictParse.call(this, monthName, format, strict);
+        }
+
+        if (!this._monthsParse) {
+            this._monthsParse = [];
+            this._longMonthsParse = [];
+            this._shortMonthsParse = [];
+        }
+
+        // TODO: add sorting
+        // Sorting makes sure if one month (or abbr) is a prefix of another
+        // see sorting in computeMonthsParse
+        for (i = 0; i < 12; i++) {
+            // make the regex if we don't have it already
+            mom = createUTC([2000, i]);
+            if (strict && !this._longMonthsParse[i]) {
+                this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
+                this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
+            }
+            if (!strict && !this._monthsParse[i]) {
+                regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+            }
+            // test the regex
+            if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
+                return i;
+            } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
+                return i;
+            } else if (!strict && this._monthsParse[i].test(monthName)) {
+                return i;
+            }
+        }
+    }
+
+    // MOMENTS
+
+    function setMonth (mom, value) {
+        var dayOfMonth;
+
+        if (!mom.isValid()) {
+            // No op
+            return mom;
+        }
+
+        if (typeof value === 'string') {
+            if (/^\d+$/.test(value)) {
+                value = toInt(value);
+            } else {
+                value = mom.localeData().monthsParse(value);
+                // TODO: Another silent failure?
+                if (!isNumber(value)) {
+                    return mom;
+                }
+            }
+        }
+
+        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
+        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+        return mom;
+    }
+
+    function getSetMonth (value) {
+        if (value != null) {
+            setMonth(this, value);
+            hooks.updateOffset(this, true);
+            return this;
+        } else {
+            return get(this, 'Month');
+        }
+    }
+
+    function getDaysInMonth () {
+        return daysInMonth(this.year(), this.month());
+    }
+
+    var defaultMonthsShortRegex = matchWord;
+    function monthsShortRegex (isStrict) {
+        if (this._monthsParseExact) {
+            if (!hasOwnProp(this, '_monthsRegex')) {
+                computeMonthsParse.call(this);
+            }
+            if (isStrict) {
+                return this._monthsShortStrictRegex;
+            } else {
+                return this._monthsShortRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_monthsShortRegex')) {
+                this._monthsShortRegex = defaultMonthsShortRegex;
+            }
+            return this._monthsShortStrictRegex && isStrict ?
+                this._monthsShortStrictRegex : this._monthsShortRegex;
+        }
+    }
+
+    var defaultMonthsRegex = matchWord;
+    function monthsRegex (isStrict) {
+        if (this._monthsParseExact) {
+            if (!hasOwnProp(this, '_monthsRegex')) {
+                computeMonthsParse.call(this);
+            }
+            if (isStrict) {
+                return this._monthsStrictRegex;
+            } else {
+                return this._monthsRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_monthsRegex')) {
+                this._monthsRegex = defaultMonthsRegex;
+            }
+            return this._monthsStrictRegex && isStrict ?
+                this._monthsStrictRegex : this._monthsRegex;
+        }
+    }
+
+    function computeMonthsParse () {
+        function cmpLenRev(a, b) {
+            return b.length - a.length;
+        }
+
+        var shortPieces = [], longPieces = [], mixedPieces = [],
+            i, mom;
+        for (i = 0; i < 12; i++) {
+            // make the regex if we don't have it already
+            mom = createUTC([2000, i]);
+            shortPieces.push(this.monthsShort(mom, ''));
+            longPieces.push(this.months(mom, ''));
+            mixedPieces.push(this.months(mom, ''));
+            mixedPieces.push(this.monthsShort(mom, ''));
+        }
+        // Sorting makes sure if one month (or abbr) is a prefix of another it
+        // will match the longer piece.
+        shortPieces.sort(cmpLenRev);
+        longPieces.sort(cmpLenRev);
+        mixedPieces.sort(cmpLenRev);
+        for (i = 0; i < 12; i++) {
+            shortPieces[i] = regexEscape(shortPieces[i]);
+            longPieces[i] = regexEscape(longPieces[i]);
+        }
+        for (i = 0; i < 24; i++) {
+            mixedPieces[i] = regexEscape(mixedPieces[i]);
+        }
+
+        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+        this._monthsShortRegex = this._monthsRegex;
+        this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
+        this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
+    }
+
+    function createDate (y, m, d, h, M, s, ms) {
+        // can't just apply() to create a date:
+        // https://stackoverflow.com/q/181348
+        var date;
+        // the date constructor remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            // preserve leap years using a full 400 year cycle, then reset
+            date = new Date(y + 400, m, d, h, M, s, ms);
+            if (isFinite(date.getFullYear())) {
+                date.setFullYear(y);
+            }
+        } else {
+            date = new Date(y, m, d, h, M, s, ms);
+        }
+
+        return date;
+    }
+
+    function createUTCDate (y) {
+        var date;
+        // the Date.UTC function remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            var args = Array.prototype.slice.call(arguments);
+            // preserve leap years using a full 400 year cycle, then reset
+            args[0] = y + 400;
+            date = new Date(Date.UTC.apply(null, args));
+            if (isFinite(date.getUTCFullYear())) {
+                date.setUTCFullYear(y);
+            }
+        } else {
+            date = new Date(Date.UTC.apply(null, arguments));
+        }
+
+        return date;
+    }
+
+    // start-of-first-week - start-of-year
+    function firstWeekOffset(year, dow, doy) {
+        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
+            fwd = 7 + dow - doy,
+            // first-week day local weekday -- which local weekday is fwd
+            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
+
+        return -fwdlw + fwd - 1;
+    }
+
+    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
+        var localWeekday = (7 + weekday - dow) % 7,
+            weekOffset = firstWeekOffset(year, dow, doy),
+            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
+            resYear, resDayOfYear;
+
+        if (dayOfYear <= 0) {
+            resYear = year - 1;
+            resDayOfYear = daysInYear(resYear) + dayOfYear;
+        } else if (dayOfYear > daysInYear(year)) {
+            resYear = year + 1;
+            resDayOfYear = dayOfYear - daysInYear(year);
+        } else {
+            resYear = year;
+            resDayOfYear = dayOfYear;
+        }
+
+        return {
+            year: resYear,
+            dayOfYear: resDayOfYear
+        };
+    }
+
+    function weekOfYear(mom, dow, doy) {
+        var weekOffset = firstWeekOffset(mom.year(), dow, doy),
+            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
+            resWeek, resYear;
+
+        if (week < 1) {
+            resYear = mom.year() - 1;
+            resWeek = week + weeksInYear(resYear, dow, doy);
+        } else if (week > weeksInYear(mom.year(), dow, doy)) {
+            resWeek = week - weeksInYear(mom.year(), dow, doy);
+            resYear = mom.year() + 1;
+        } else {
+            resYear = mom.year();
+            resWeek = week;
+        }
+
+        return {
+            week: resWeek,
+            year: resYear
+        };
+    }
+
+    function weeksInYear(year, dow, doy) {
+        var weekOffset = firstWeekOffset(year, dow, doy),
+            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
+        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
+    }
+
+    // FORMATTING
+
+    addFormatToken('w', ['ww', 2], 'wo', 'week');
+    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
+
+    // ALIASES
+
+    addUnitAlias('week', 'w');
+    addUnitAlias('isoWeek', 'W');
+
+    // PRIORITIES
+
+    addUnitPriority('week', 5);
+    addUnitPriority('isoWeek', 5);
+
+    // PARSING
+
+    addRegexToken('w',  match1to2);
+    addRegexToken('ww', match1to2, match2);
+    addRegexToken('W',  match1to2);
+    addRegexToken('WW', match1to2, match2);
+
+    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
+        week[token.substr(0, 1)] = toInt(input);
+    });
+
+    // HELPERS
+
+    // LOCALES
+
+    function localeWeek (mom) {
+        return weekOfYear(mom, this._week.dow, this._week.doy).week;
+    }
+
+    var defaultLocaleWeek = {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    };
+
+    function localeFirstDayOfWeek () {
+        return this._week.dow;
+    }
+
+    function localeFirstDayOfYear () {
+        return this._week.doy;
+    }
+
+    // MOMENTS
+
+    function getSetWeek (input) {
+        var week = this.localeData().week(this);
+        return input == null ? week : this.add((input - week) * 7, 'd');
+    }
+
+    function getSetISOWeek (input) {
+        var week = weekOfYear(this, 1, 4).week;
+        return input == null ? week : this.add((input - week) * 7, 'd');
+    }
+
+    // FORMATTING
+
+    addFormatToken('d', 0, 'do', 'day');
+
+    addFormatToken('dd', 0, 0, function (format) {
+        return this.localeData().weekdaysMin(this, format);
+    });
+
+    addFormatToken('ddd', 0, 0, function (format) {
+        return this.localeData().weekdaysShort(this, format);
+    });
+
+    addFormatToken('dddd', 0, 0, function (format) {
+        return this.localeData().weekdays(this, format);
+    });
+
+    addFormatToken('e', 0, 0, 'weekday');
+    addFormatToken('E', 0, 0, 'isoWeekday');
+
+    // ALIASES
+
+    addUnitAlias('day', 'd');
+    addUnitAlias('weekday', 'e');
+    addUnitAlias('isoWeekday', 'E');
+
+    // PRIORITY
+    addUnitPriority('day', 11);
+    addUnitPriority('weekday', 11);
+    addUnitPriority('isoWeekday', 11);
+
+    // PARSING
+
+    addRegexToken('d',    match1to2);
+    addRegexToken('e',    match1to2);
+    addRegexToken('E',    match1to2);
+    addRegexToken('dd',   function (isStrict, locale) {
+        return locale.weekdaysMinRegex(isStrict);
+    });
+    addRegexToken('ddd',   function (isStrict, locale) {
+        return locale.weekdaysShortRegex(isStrict);
+    });
+    addRegexToken('dddd',   function (isStrict, locale) {
+        return locale.weekdaysRegex(isStrict);
+    });
+
+    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
+        var weekday = config._locale.weekdaysParse(input, token, config._strict);
+        // if we didn't get a weekday name, mark the date as invalid
+        if (weekday != null) {
+            week.d = weekday;
+        } else {
+            getParsingFlags(config).invalidWeekday = input;
+        }
+    });
+
+    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
+        week[token] = toInt(input);
+    });
+
+    // HELPERS
+
+    function parseWeekday(input, locale) {
+        if (typeof input !== 'string') {
+            return input;
+        }
+
+        if (!isNaN(input)) {
+            return parseInt(input, 10);
+        }
+
+        input = locale.weekdaysParse(input);
+        if (typeof input === 'number') {
+            return input;
+        }
+
+        return null;
+    }
+
+    function parseIsoWeekday(input, locale) {
+        if (typeof input === 'string') {
+            return locale.weekdaysParse(input) % 7 || 7;
+        }
+        return isNaN(input) ? null : input;
+    }
+
+    // LOCALES
+    function shiftWeekdays (ws, n) {
+        return ws.slice(n, 7).concat(ws.slice(0, n));
+    }
+
+    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
+    function localeWeekdays (m, format) {
+        var weekdays = isArray(this._weekdays) ? this._weekdays :
+            this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];
+        return (m === true) ? shiftWeekdays(weekdays, this._week.dow)
+            : (m) ? weekdays[m.day()] : weekdays;
+    }
+
+    var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
+    function localeWeekdaysShort (m) {
+        return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)
+            : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
+    }
+
+    var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
+    function localeWeekdaysMin (m) {
+        return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)
+            : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
+    }
+
+    function handleStrictParse$1(weekdayName, format, strict) {
+        var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
+        if (!this._weekdaysParse) {
+            this._weekdaysParse = [];
+            this._shortWeekdaysParse = [];
+            this._minWeekdaysParse = [];
+
+            for (i = 0; i < 7; ++i) {
+                mom = createUTC([2000, 1]).day(i);
+                this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
+                this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
+                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
+            }
+        }
+
+        if (strict) {
+            if (format === 'dddd') {
+                ii = indexOf.call(this._weekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else if (format === 'ddd') {
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        } else {
+            if (format === 'dddd') {
+                ii = indexOf.call(this._weekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else if (format === 'ddd') {
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._weekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._weekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        }
+    }
+
+    function localeWeekdaysParse (weekdayName, format, strict) {
+        var i, mom, regex;
+
+        if (this._weekdaysParseExact) {
+            return handleStrictParse$1.call(this, weekdayName, format, strict);
+        }
+
+        if (!this._weekdaysParse) {
+            this._weekdaysParse = [];
+            this._minWeekdaysParse = [];
+            this._shortWeekdaysParse = [];
+            this._fullWeekdaysParse = [];
+        }
+
+        for (i = 0; i < 7; i++) {
+            // make the regex if we don't have it already
+
+            mom = createUTC([2000, 1]).day(i);
+            if (strict && !this._fullWeekdaysParse[i]) {
+                this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
+                this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
+                this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
+            }
+            if (!this._weekdaysParse[i]) {
+                regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+            }
+            // test the regex
+            if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
+                return i;
+            } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
+                return i;
+            } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
+                return i;
+            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
+                return i;
+            }
+        }
+    }
+
+    // MOMENTS
+
+    function getSetDayOfWeek (input) {
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+        if (input != null) {
+            input = parseWeekday(input, this.localeData());
+            return this.add(input - day, 'd');
+        } else {
+            return day;
+        }
+    }
+
+    function getSetLocaleDayOfWeek (input) {
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+        return input == null ? weekday : this.add(input - weekday, 'd');
+    }
+
+    function getSetISODayOfWeek (input) {
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+
+        // behaves the same as moment#day except
+        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+        // as a setter, sunday should belong to the previous week.
+
+        if (input != null) {
+            var weekday = parseIsoWeekday(input, this.localeData());
+            return this.day(this.day() % 7 ? weekday : weekday - 7);
+        } else {
+            return this.day() || 7;
+        }
+    }
+
+    var defaultWeekdaysRegex = matchWord;
+    function weekdaysRegex (isStrict) {
+        if (this._weekdaysParseExact) {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                computeWeekdaysParse.call(this);
+            }
+            if (isStrict) {
+                return this._weekdaysStrictRegex;
+            } else {
+                return this._weekdaysRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                this._weekdaysRegex = defaultWeekdaysRegex;
+            }
+            return this._weekdaysStrictRegex && isStrict ?
+                this._weekdaysStrictRegex : this._weekdaysRegex;
+        }
+    }
+
+    var defaultWeekdaysShortRegex = matchWord;
+    function weekdaysShortRegex (isStrict) {
+        if (this._weekdaysParseExact) {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                computeWeekdaysParse.call(this);
+            }
+            if (isStrict) {
+                return this._weekdaysShortStrictRegex;
+            } else {
+                return this._weekdaysShortRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_weekdaysShortRegex')) {
+                this._weekdaysShortRegex = defaultWeekdaysShortRegex;
+            }
+            return this._weekdaysShortStrictRegex && isStrict ?
+                this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
+        }
+    }
+
+    var defaultWeekdaysMinRegex = matchWord;
+    function weekdaysMinRegex (isStrict) {
+        if (this._weekdaysParseExact) {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                computeWeekdaysParse.call(this);
+            }
+            if (isStrict) {
+                return this._weekdaysMinStrictRegex;
+            } else {
+                return this._weekdaysMinRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_weekdaysMinRegex')) {
+                this._weekdaysMinRegex = defaultWeekdaysMinRegex;
+            }
+            return this._weekdaysMinStrictRegex && isStrict ?
+                this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
+        }
+    }
+
+
+    function computeWeekdaysParse () {
+        function cmpLenRev(a, b) {
+            return b.length - a.length;
+        }
+
+        var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
+            i, mom, minp, shortp, longp;
+        for (i = 0; i < 7; i++) {
+            // make the regex if we don't have it already
+            mom = createUTC([2000, 1]).day(i);
+            minp = this.weekdaysMin(mom, '');
+            shortp = this.weekdaysShort(mom, '');
+            longp = this.weekdays(mom, '');
+            minPieces.push(minp);
+            shortPieces.push(shortp);
+            longPieces.push(longp);
+            mixedPieces.push(minp);
+            mixedPieces.push(shortp);
+            mixedPieces.push(longp);
+        }
+        // Sorting makes sure if one weekday (or abbr) is a prefix of another it
+        // will match the longer piece.
+        minPieces.sort(cmpLenRev);
+        shortPieces.sort(cmpLenRev);
+        longPieces.sort(cmpLenRev);
+        mixedPieces.sort(cmpLenRev);
+        for (i = 0; i < 7; i++) {
+            shortPieces[i] = regexEscape(shortPieces[i]);
+            longPieces[i] = regexEscape(longPieces[i]);
+            mixedPieces[i] = regexEscape(mixedPieces[i]);
+        }
+
+        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+        this._weekdaysShortRegex = this._weekdaysRegex;
+        this._weekdaysMinRegex = this._weekdaysRegex;
+
+        this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
+        this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
+        this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
+    }
+
+    // FORMATTING
+
+    function hFormat() {
+        return this.hours() % 12 || 12;
+    }
+
+    function kFormat() {
+        return this.hours() || 24;
+    }
+
+    addFormatToken('H', ['HH', 2], 0, 'hour');
+    addFormatToken('h', ['hh', 2], 0, hFormat);
+    addFormatToken('k', ['kk', 2], 0, kFormat);
+
+    addFormatToken('hmm', 0, 0, function () {
+        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
+    });
+
+    addFormatToken('hmmss', 0, 0, function () {
+        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
+            zeroFill(this.seconds(), 2);
+    });
+
+    addFormatToken('Hmm', 0, 0, function () {
+        return '' + this.hours() + zeroFill(this.minutes(), 2);
+    });
+
+    addFormatToken('Hmmss', 0, 0, function () {
+        return '' + this.hours() + zeroFill(this.minutes(), 2) +
+            zeroFill(this.seconds(), 2);
+    });
+
+    function meridiem (token, lowercase) {
+        addFormatToken(token, 0, 0, function () {
+            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
+        });
+    }
+
+    meridiem('a', true);
+    meridiem('A', false);
+
+    // ALIASES
+
+    addUnitAlias('hour', 'h');
+
+    // PRIORITY
+    addUnitPriority('hour', 13);
+
+    // PARSING
+
+    function matchMeridiem (isStrict, locale) {
+        return locale._meridiemParse;
+    }
+
+    addRegexToken('a',  matchMeridiem);
+    addRegexToken('A',  matchMeridiem);
+    addRegexToken('H',  match1to2);
+    addRegexToken('h',  match1to2);
+    addRegexToken('k',  match1to2);
+    addRegexToken('HH', match1to2, match2);
+    addRegexToken('hh', match1to2, match2);
+    addRegexToken('kk', match1to2, match2);
+
+    addRegexToken('hmm', match3to4);
+    addRegexToken('hmmss', match5to6);
+    addRegexToken('Hmm', match3to4);
+    addRegexToken('Hmmss', match5to6);
+
+    addParseToken(['H', 'HH'], HOUR);
+    addParseToken(['k', 'kk'], function (input, array, config) {
+        var kInput = toInt(input);
+        array[HOUR] = kInput === 24 ? 0 : kInput;
+    });
+    addParseToken(['a', 'A'], function (input, array, config) {
+        config._isPm = config._locale.isPM(input);
+        config._meridiem = input;
+    });
+    addParseToken(['h', 'hh'], function (input, array, config) {
+        array[HOUR] = toInt(input);
+        getParsingFlags(config).bigHour = true;
+    });
+    addParseToken('hmm', function (input, array, config) {
+        var pos = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos));
+        array[MINUTE] = toInt(input.substr(pos));
+        getParsingFlags(config).bigHour = true;
+    });
+    addParseToken('hmmss', function (input, array, config) {
+        var pos1 = input.length - 4;
+        var pos2 = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos1));
+        array[MINUTE] = toInt(input.substr(pos1, 2));
+        array[SECOND] = toInt(input.substr(pos2));
+        getParsingFlags(config).bigHour = true;
+    });
+    addParseToken('Hmm', function (input, array, config) {
+        var pos = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos));
+        array[MINUTE] = toInt(input.substr(pos));
+    });
+    addParseToken('Hmmss', function (input, array, config) {
+        var pos1 = input.length - 4;
+        var pos2 = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos1));
+        array[MINUTE] = toInt(input.substr(pos1, 2));
+        array[SECOND] = toInt(input.substr(pos2));
+    });
+
+    // LOCALES
+
+    function localeIsPM (input) {
+        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+        // Using charAt should be more compatible.
+        return ((input + '').toLowerCase().charAt(0) === 'p');
+    }
+
+    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
+    function localeMeridiem (hours, minutes, isLower) {
+        if (hours > 11) {
+            return isLower ? 'pm' : 'PM';
+        } else {
+            return isLower ? 'am' : 'AM';
+        }
+    }
+
+
+    // MOMENTS
+
+    // Setting the hour should keep the time, because the user explicitly
+    // specified which hour they want. So trying to maintain the same hour (in
+    // a new timezone) makes sense. Adding/subtracting hours does not follow
+    // this rule.
+    var getSetHour = makeGetSet('Hours', true);
+
+    var baseConfig = {
+        calendar: defaultCalendar,
+        longDateFormat: defaultLongDateFormat,
+        invalidDate: defaultInvalidDate,
+        ordinal: defaultOrdinal,
+        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
+        relativeTime: defaultRelativeTime,
+
+        months: defaultLocaleMonths,
+        monthsShort: defaultLocaleMonthsShort,
+
+        week: defaultLocaleWeek,
+
+        weekdays: defaultLocaleWeekdays,
+        weekdaysMin: defaultLocaleWeekdaysMin,
+        weekdaysShort: defaultLocaleWeekdaysShort,
+
+        meridiemParse: defaultLocaleMeridiemParse
+    };
+
+    // internal storage for locale config files
+    var locales = {};
+    var localeFamilies = {};
+    var globalLocale;
+
+    function normalizeLocale(key) {
+        return key ? key.toLowerCase().replace('_', '-') : key;
+    }
+
+    // pick the locale from the array
+    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+    function chooseLocale(names) {
+        var i = 0, j, next, locale, split;
+
+        while (i < names.length) {
+            split = normalizeLocale(names[i]).split('-');
+            j = split.length;
+            next = normalizeLocale(names[i + 1]);
+            next = next ? next.split('-') : null;
+            while (j > 0) {
+                locale = loadLocale(split.slice(0, j).join('-'));
+                if (locale) {
+                    return locale;
+                }
+                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+                    //the next array item is better than a shallower substring of this one
+                    break;
+                }
+                j--;
+            }
+            i++;
+        }
+        return globalLocale;
+    }
+
+    function loadLocale(name) {
+        var oldLocale = null;
+        // TODO: Find a better way to register and load all the locales in Node
+        if (!locales[name] && (typeof module !== 'undefined') &&
+                module && module.exports) {
+            try {
+                oldLocale = globalLocale._abbr;
+                var aliasedRequire = require;
+                aliasedRequire('./locale/' + name);
+                getSetGlobalLocale(oldLocale);
+            } catch (e) {}
+        }
+        return locales[name];
+    }
+
+    // This function will load locale and then set the global locale.  If
+    // no arguments are passed in, it will simply return the current global
+    // locale key.
+    function getSetGlobalLocale (key, values) {
+        var data;
+        if (key) {
+            if (isUndefined(values)) {
+                data = getLocale(key);
+            }
+            else {
+                data = defineLocale(key, values);
+            }
+
+            if (data) {
+                // moment.duration._locale = moment._locale = data;
+                globalLocale = data;
+            }
+            else {
+                if ((typeof console !==  'undefined') && console.warn) {
+                    //warn user if arguments are passed but the locale could not be set
+                    console.warn('Locale ' + key +  ' not found. Did you forget to load it?');
+                }
+            }
+        }
+
+        return globalLocale._abbr;
+    }
+
+    function defineLocale (name, config) {
+        if (config !== null) {
+            var locale, parentConfig = baseConfig;
+            config.abbr = name;
+            if (locales[name] != null) {
+                deprecateSimple('defineLocaleOverride',
+                        'use moment.updateLocale(localeName, config) to change ' +
+                        'an existing locale. moment.defineLocale(localeName, ' +
+                        'config) should only be used for creating a new locale ' +
+                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
+                parentConfig = locales[name]._config;
+            } else if (config.parentLocale != null) {
+                if (locales[config.parentLocale] != null) {
+                    parentConfig = locales[config.parentLocale]._config;
+                } else {
+                    locale = loadLocale(config.parentLocale);
+                    if (locale != null) {
+                        parentConfig = locale._config;
+                    } else {
+                        if (!localeFamilies[config.parentLocale]) {
+                            localeFamilies[config.parentLocale] = [];
+                        }
+                        localeFamilies[config.parentLocale].push({
+                            name: name,
+                            config: config
+                        });
+                        return null;
+                    }
+                }
+            }
+            locales[name] = new Locale(mergeConfigs(parentConfig, config));
+
+            if (localeFamilies[name]) {
+                localeFamilies[name].forEach(function (x) {
+                    defineLocale(x.name, x.config);
+                });
+            }
+
+            // backwards compat for now: also set the locale
+            // make sure we set the locale AFTER all child locales have been
+            // created, so we won't end up with the child locale set.
+            getSetGlobalLocale(name);
+
+
+            return locales[name];
+        } else {
+            // useful for testing
+            delete locales[name];
+            return null;
+        }
+    }
+
+    function updateLocale(name, config) {
+        if (config != null) {
+            var locale, tmpLocale, parentConfig = baseConfig;
+            // MERGE
+            tmpLocale = loadLocale(name);
+            if (tmpLocale != null) {
+                parentConfig = tmpLocale._config;
+            }
+            config = mergeConfigs(parentConfig, config);
+            locale = new Locale(config);
+            locale.parentLocale = locales[name];
+            locales[name] = locale;
+
+            // backwards compat for now: also set the locale
+            getSetGlobalLocale(name);
+        } else {
+            // pass null for config to unupdate, useful for tests
+            if (locales[name] != null) {
+                if (locales[name].parentLocale != null) {
+                    locales[name] = locales[name].parentLocale;
+                } else if (locales[name] != null) {
+                    delete locales[name];
+                }
+            }
+        }
+        return locales[name];
+    }
+
+    // returns locale data
+    function getLocale (key) {
+        var locale;
+
+        if (key && key._locale && key._locale._abbr) {
+            key = key._locale._abbr;
+        }
+
+        if (!key) {
+            return globalLocale;
+        }
+
+        if (!isArray(key)) {
+            //short-circuit everything else
+            locale = loadLocale(key);
+            if (locale) {
+                return locale;
+            }
+            key = [key];
+        }
+
+        return chooseLocale(key);
+    }
+
+    function listLocales() {
+        return keys(locales);
+    }
+
+    function checkOverflow (m) {
+        var overflow;
+        var a = m._a;
+
+        if (a && getParsingFlags(m).overflow === -2) {
+            overflow =
+                a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :
+                a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
+                a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
+                a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :
+                a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :
+                a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
+                -1;
+
+            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+                overflow = DATE;
+            }
+            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
+                overflow = WEEK;
+            }
+            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
+                overflow = WEEKDAY;
+            }
+
+            getParsingFlags(m).overflow = overflow;
+        }
+
+        return m;
+    }
+
+    // Pick the first defined of two or three arguments.
+    function defaults(a, b, c) {
+        if (a != null) {
+            return a;
+        }
+        if (b != null) {
+            return b;
+        }
+        return c;
+    }
+
+    function currentDateArray(config) {
+        // hooks is actually the exported moment object
+        var nowValue = new Date(hooks.now());
+        if (config._useUTC) {
+            return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
+        }
+        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
+    }
+
+    // convert an array to a date.
+    // the array should mirror the parameters below
+    // note: all values past the year are optional and will default to the lowest possible value.
+    // [year, month, day , hour, minute, second, millisecond]
+    function configFromArray (config) {
+        var i, date, input = [], currentDate, expectedWeekday, yearToUse;
+
+        if (config._d) {
+            return;
+        }
+
+        currentDate = currentDateArray(config);
+
+        //compute day of the year from weeks and weekdays
+        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+            dayOfYearFromWeekInfo(config);
+        }
+
+        //if the day of the year is set, figure out what it is
+        if (config._dayOfYear != null) {
+            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
+
+            if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
+                getParsingFlags(config)._overflowDayOfYear = true;
+            }
+
+            date = createUTCDate(yearToUse, 0, config._dayOfYear);
+            config._a[MONTH] = date.getUTCMonth();
+            config._a[DATE] = date.getUTCDate();
+        }
+
+        // Default to current date.
+        // * if no year, month, day of month are given, default to today
+        // * if day of month is given, default month and year
+        // * if month is given, default only year
+        // * if year is given, don't default anything
+        for (i = 0; i < 3 && config._a[i] == null; ++i) {
+            config._a[i] = input[i] = currentDate[i];
+        }
+
+        // Zero out whatever was not defaulted, including time
+        for (; i < 7; i++) {
+            config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+        }
+
+        // Check for 24:00:00.000
+        if (config._a[HOUR] === 24 &&
+                config._a[MINUTE] === 0 &&
+                config._a[SECOND] === 0 &&
+                config._a[MILLISECOND] === 0) {
+            config._nextDay = true;
+            config._a[HOUR] = 0;
+        }
+
+        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
+        expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
+
+        // Apply timezone offset from input. The actual utcOffset can be changed
+        // with parseZone.
+        if (config._tzm != null) {
+            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+        }
+
+        if (config._nextDay) {
+            config._a[HOUR] = 24;
+        }
+
+        // check for mismatching day of week
+        if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
+            getParsingFlags(config).weekdayMismatch = true;
+        }
+    }
+
+    function dayOfYearFromWeekInfo(config) {
+        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
+
+        w = config._w;
+        if (w.GG != null || w.W != null || w.E != null) {
+            dow = 1;
+            doy = 4;
+
+            // TODO: We need to take the current isoWeekYear, but that depends on
+            // how we interpret now (local, utc, fixed offset). So create
+            // a now version of current config (take local/utc/offset flags, and
+            // create now).
+            weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
+            week = defaults(w.W, 1);
+            weekday = defaults(w.E, 1);
+            if (weekday < 1 || weekday > 7) {
+                weekdayOverflow = true;
+            }
+        } else {
+            dow = config._locale._week.dow;
+            doy = config._locale._week.doy;
+
+            var curWeek = weekOfYear(createLocal(), dow, doy);
+
+            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
+
+            // Default to current week.
+            week = defaults(w.w, curWeek.week);
+
+            if (w.d != null) {
+                // weekday -- low day numbers are considered next week
+                weekday = w.d;
+                if (weekday < 0 || weekday > 6) {
+                    weekdayOverflow = true;
+                }
+            } else if (w.e != null) {
+                // local weekday -- counting starts from beginning of week
+                weekday = w.e + dow;
+                if (w.e < 0 || w.e > 6) {
+                    weekdayOverflow = true;
+                }
+            } else {
+                // default to beginning of week
+                weekday = dow;
+            }
+        }
+        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
+            getParsingFlags(config)._overflowWeeks = true;
+        } else if (weekdayOverflow != null) {
+            getParsingFlags(config)._overflowWeekday = true;
+        } else {
+            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
+            config._a[YEAR] = temp.year;
+            config._dayOfYear = temp.dayOfYear;
+        }
+    }
+
+    // iso 8601 regex
+    // 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)
+    var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+    var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+
+    var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
+
+    var isoDates = [
+        ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
+        ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
+        ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
+        ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
+        ['YYYY-DDD', /\d{4}-\d{3}/],
+        ['YYYY-MM', /\d{4}-\d\d/, false],
+        ['YYYYYYMMDD', /[+-]\d{10}/],
+        ['YYYYMMDD', /\d{8}/],
+        // YYYYMM is NOT allowed by the standard
+        ['GGGG[W]WWE', /\d{4}W\d{3}/],
+        ['GGGG[W]WW', /\d{4}W\d{2}/, false],
+        ['YYYYDDD', /\d{7}/]
+    ];
+
+    // iso time formats and regexes
+    var isoTimes = [
+        ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
+        ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
+        ['HH:mm:ss', /\d\d:\d\d:\d\d/],
+        ['HH:mm', /\d\d:\d\d/],
+        ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
+        ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
+        ['HHmmss', /\d\d\d\d\d\d/],
+        ['HHmm', /\d\d\d\d/],
+        ['HH', /\d\d/]
+    ];
+
+    var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
+
+    // date from iso format
+    function configFromISO(config) {
+        var i, l,
+            string = config._i,
+            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
+            allowTime, dateFormat, timeFormat, tzFormat;
+
+        if (match) {
+            getParsingFlags(config).iso = true;
+
+            for (i = 0, l = isoDates.length; i < l; i++) {
+                if (isoDates[i][1].exec(match[1])) {
+                    dateFormat = isoDates[i][0];
+                    allowTime = isoDates[i][2] !== false;
+                    break;
+                }
+            }
+            if (dateFormat == null) {
+                config._isValid = false;
+                return;
+            }
+            if (match[3]) {
+                for (i = 0, l = isoTimes.length; i < l; i++) {
+                    if (isoTimes[i][1].exec(match[3])) {
+                        // match[2] should be 'T' or space
+                        timeFormat = (match[2] || ' ') + isoTimes[i][0];
+                        break;
+                    }
+                }
+                if (timeFormat == null) {
+                    config._isValid = false;
+                    return;
+                }
+            }
+            if (!allowTime && timeFormat != null) {
+                config._isValid = false;
+                return;
+            }
+            if (match[4]) {
+                if (tzRegex.exec(match[4])) {
+                    tzFormat = 'Z';
+                } else {
+                    config._isValid = false;
+                    return;
+                }
+            }
+            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
+            configFromStringAndFormat(config);
+        } else {
+            config._isValid = false;
+        }
+    }
+
+    // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
+    var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
+
+    function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
+        var result = [
+            untruncateYear(yearStr),
+            defaultLocaleMonthsShort.indexOf(monthStr),
+            parseInt(dayStr, 10),
+            parseInt(hourStr, 10),
+            parseInt(minuteStr, 10)
+        ];
+
+        if (secondStr) {
+            result.push(parseInt(secondStr, 10));
+        }
+
+        return result;
+    }
+
+    function untruncateYear(yearStr) {
+        var year = parseInt(yearStr, 10);
+        if (year <= 49) {
+            return 2000 + year;
+        } else if (year <= 999) {
+            return 1900 + year;
+        }
+        return year;
+    }
+
+    function preprocessRFC2822(s) {
+        // Remove comments and folding whitespace and replace multiple-spaces with a single space
+        return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
+    }
+
+    function checkWeekday(weekdayStr, parsedInput, config) {
+        if (weekdayStr) {
+            // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
+            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
+                weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
+            if (weekdayProvided !== weekdayActual) {
+                getParsingFlags(config).weekdayMismatch = true;
+                config._isValid = false;
+                return false;
+            }
+        }
+        return true;
+    }
+
+    var obsOffsets = {
+        UT: 0,
+        GMT: 0,
+        EDT: -4 * 60,
+        EST: -5 * 60,
+        CDT: -5 * 60,
+        CST: -6 * 60,
+        MDT: -6 * 60,
+        MST: -7 * 60,
+        PDT: -7 * 60,
+        PST: -8 * 60
+    };
+
+    function calculateOffset(obsOffset, militaryOffset, numOffset) {
+        if (obsOffset) {
+            return obsOffsets[obsOffset];
+        } else if (militaryOffset) {
+            // the only allowed military tz is Z
+            return 0;
+        } else {
+            var hm = parseInt(numOffset, 10);
+            var m = hm % 100, h = (hm - m) / 100;
+            return h * 60 + m;
+        }
+    }
+
+    // date and time from ref 2822 format
+    function configFromRFC2822(config) {
+        var match = rfc2822.exec(preprocessRFC2822(config._i));
+        if (match) {
+            var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
+            if (!checkWeekday(match[1], parsedArray, config)) {
+                return;
+            }
+
+            config._a = parsedArray;
+            config._tzm = calculateOffset(match[8], match[9], match[10]);
+
+            config._d = createUTCDate.apply(null, config._a);
+            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+
+            getParsingFlags(config).rfc2822 = true;
+        } else {
+            config._isValid = false;
+        }
+    }
+
+    // date from iso format or fallback
+    function configFromString(config) {
+        var matched = aspNetJsonRegex.exec(config._i);
+
+        if (matched !== null) {
+            config._d = new Date(+matched[1]);
+            return;
+        }
+
+        configFromISO(config);
+        if (config._isValid === false) {
+            delete config._isValid;
+        } else {
+            return;
+        }
+
+        configFromRFC2822(config);
+        if (config._isValid === false) {
+            delete config._isValid;
+        } else {
+            return;
+        }
+
+        // Final attempt, use Input Fallback
+        hooks.createFromInputFallback(config);
+    }
+
+    hooks.createFromInputFallback = deprecate(
+        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
+        'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
+        'discouraged and will be removed in an upcoming major release. Please refer to ' +
+        'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
+        function (config) {
+            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
+        }
+    );
+
+    // constant that refers to the ISO standard
+    hooks.ISO_8601 = function () {};
+
+    // constant that refers to the RFC 2822 form
+    hooks.RFC_2822 = function () {};
+
+    // date from string and format string
+    function configFromStringAndFormat(config) {
+        // TODO: Move this to another part of the creation flow to prevent circular deps
+        if (config._f === hooks.ISO_8601) {
+            configFromISO(config);
+            return;
+        }
+        if (config._f === hooks.RFC_2822) {
+            configFromRFC2822(config);
+            return;
+        }
+        config._a = [];
+        getParsingFlags(config).empty = true;
+
+        // This array is used to make a Date, either with `new Date` or `Date.UTC`
+        var string = '' + config._i,
+            i, parsedInput, tokens, token, skipped,
+            stringLength = string.length,
+            totalParsedInputLength = 0;
+
+        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+        for (i = 0; i < tokens.length; i++) {
+            token = tokens[i];
+            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
+            // console.log('token', token, 'parsedInput', parsedInput,
+            //         'regex', getParseRegexForToken(token, config));
+            if (parsedInput) {
+                skipped = string.substr(0, string.indexOf(parsedInput));
+                if (skipped.length > 0) {
+                    getParsingFlags(config).unusedInput.push(skipped);
+                }
+                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+                totalParsedInputLength += parsedInput.length;
+            }
+            // don't parse if it's not a known token
+            if (formatTokenFunctions[token]) {
+                if (parsedInput) {
+                    getParsingFlags(config).empty = false;
+                }
+                else {
+                    getParsingFlags(config).unusedTokens.push(token);
+                }
+                addTimeToArrayFromToken(token, parsedInput, config);
+            }
+            else if (config._strict && !parsedInput) {
+                getParsingFlags(config).unusedTokens.push(token);
+            }
+        }
+
+        // add remaining unparsed input length to the string
+        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
+        if (string.length > 0) {
+            getParsingFlags(config).unusedInput.push(string);
+        }
+
+        // clear _12h flag if hour is <= 12
+        if (config._a[HOUR] <= 12 &&
+            getParsingFlags(config).bigHour === true &&
+            config._a[HOUR] > 0) {
+            getParsingFlags(config).bigHour = undefined;
+        }
+
+        getParsingFlags(config).parsedDateParts = config._a.slice(0);
+        getParsingFlags(config).meridiem = config._meridiem;
+        // handle meridiem
+        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
+
+        configFromArray(config);
+        checkOverflow(config);
+    }
+
+
+    function meridiemFixWrap (locale, hour, meridiem) {
+        var isPm;
+
+        if (meridiem == null) {
+            // nothing to do
+            return hour;
+        }
+        if (locale.meridiemHour != null) {
+            return locale.meridiemHour(hour, meridiem);
+        } else if (locale.isPM != null) {
+            // Fallback
+            isPm = locale.isPM(meridiem);
+            if (isPm && hour < 12) {
+                hour += 12;
+            }
+            if (!isPm && hour === 12) {
+                hour = 0;
+            }
+            return hour;
+        } else {
+            // this is not supposed to happen
+            return hour;
+        }
+    }
+
+    // date from string and array of format strings
+    function configFromStringAndArray(config) {
+        var tempConfig,
+            bestMoment,
+
+            scoreToBeat,
+            i,
+            currentScore;
+
+        if (config._f.length === 0) {
+            getParsingFlags(config).invalidFormat = true;
+            config._d = new Date(NaN);
+            return;
+        }
+
+        for (i = 0; i < config._f.length; i++) {
+            currentScore = 0;
+            tempConfig = copyConfig({}, config);
+            if (config._useUTC != null) {
+                tempConfig._useUTC = config._useUTC;
+            }
+            tempConfig._f = config._f[i];
+            configFromStringAndFormat(tempConfig);
+
+            if (!isValid(tempConfig)) {
+                continue;
+            }
+
+            // if there is any input that was not parsed add a penalty for that format
+            currentScore += getParsingFlags(tempConfig).charsLeftOver;
+
+            //or tokens
+            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
+
+            getParsingFlags(tempConfig).score = currentScore;
+
+            if (scoreToBeat == null || currentScore < scoreToBeat) {
+                scoreToBeat = currentScore;
+                bestMoment = tempConfig;
+            }
+        }
+
+        extend(config, bestMoment || tempConfig);
+    }
+
+    function configFromObject(config) {
+        if (config._d) {
+            return;
+        }
+
+        var i = normalizeObjectUnits(config._i);
+        config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
+            return obj && parseInt(obj, 10);
+        });
+
+        configFromArray(config);
+    }
+
+    function createFromConfig (config) {
+        var res = new Moment(checkOverflow(prepareConfig(config)));
+        if (res._nextDay) {
+            // Adding is smart enough around DST
+            res.add(1, 'd');
+            res._nextDay = undefined;
+        }
+
+        return res;
+    }
+
+    function prepareConfig (config) {
+        var input = config._i,
+            format = config._f;
+
+        config._locale = config._locale || getLocale(config._l);
+
+        if (input === null || (format === undefined && input === '')) {
+            return createInvalid({nullInput: true});
+        }
+
+        if (typeof input === 'string') {
+            config._i = input = config._locale.preparse(input);
+        }
+
+        if (isMoment(input)) {
+            return new Moment(checkOverflow(input));
+        } else if (isDate(input)) {
+            config._d = input;
+        } else if (isArray(format)) {
+            configFromStringAndArray(config);
+        } else if (format) {
+            configFromStringAndFormat(config);
+        }  else {
+            configFromInput(config);
+        }
+
+        if (!isValid(config)) {
+            config._d = null;
+        }
+
+        return config;
+    }
+
+    function configFromInput(config) {
+        var input = config._i;
+        if (isUndefined(input)) {
+            config._d = new Date(hooks.now());
+        } else if (isDate(input)) {
+            config._d = new Date(input.valueOf());
+        } else if (typeof input === 'string') {
+            configFromString(config);
+        } else if (isArray(input)) {
+            config._a = map(input.slice(0), function (obj) {
+                return parseInt(obj, 10);
+            });
+            configFromArray(config);
+        } else if (isObject(input)) {
+            configFromObject(config);
+        } else if (isNumber(input)) {
+            // from milliseconds
+            config._d = new Date(input);
+        } else {
+            hooks.createFromInputFallback(config);
+        }
+    }
+
+    function createLocalOrUTC (input, format, locale, strict, isUTC) {
+        var c = {};
+
+        if (locale === true || locale === false) {
+            strict = locale;
+            locale = undefined;
+        }
+
+        if ((isObject(input) && isObjectEmpty(input)) ||
+                (isArray(input) && input.length === 0)) {
+            input = undefined;
+        }
+        // object construction must be done this way.
+        // https://github.com/moment/moment/issues/1423
+        c._isAMomentObject = true;
+        c._useUTC = c._isUTC = isUTC;
+        c._l = locale;
+        c._i = input;
+        c._f = format;
+        c._strict = strict;
+
+        return createFromConfig(c);
+    }
+
+    function createLocal (input, format, locale, strict) {
+        return createLocalOrUTC(input, format, locale, strict, false);
+    }
+
+    var prototypeMin = deprecate(
+        'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
+        function () {
+            var other = createLocal.apply(null, arguments);
+            if (this.isValid() && other.isValid()) {
+                return other < this ? this : other;
+            } else {
+                return createInvalid();
+            }
+        }
+    );
+
+    var prototypeMax = deprecate(
+        'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
+        function () {
+            var other = createLocal.apply(null, arguments);
+            if (this.isValid() && other.isValid()) {
+                return other > this ? this : other;
+            } else {
+                return createInvalid();
+            }
+        }
+    );
+
+    // Pick a moment m from moments so that m[fn](other) is true for all
+    // other. This relies on the function fn to be transitive.
+    //
+    // moments should either be an array of moment objects or an array, whose
+    // first element is an array of moment objects.
+    function pickBy(fn, moments) {
+        var res, i;
+        if (moments.length === 1 && isArray(moments[0])) {
+            moments = moments[0];
+        }
+        if (!moments.length) {
+            return createLocal();
+        }
+        res = moments[0];
+        for (i = 1; i < moments.length; ++i) {
+            if (!moments[i].isValid() || moments[i][fn](res)) {
+                res = moments[i];
+            }
+        }
+        return res;
+    }
+
+    // TODO: Use [].sort instead?
+    function min () {
+        var args = [].slice.call(arguments, 0);
+
+        return pickBy('isBefore', args);
+    }
+
+    function max () {
+        var args = [].slice.call(arguments, 0);
+
+        return pickBy('isAfter', args);
+    }
+
+    var now = function () {
+        return Date.now ? Date.now() : +(new Date());
+    };
+
+    var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
+
+    function isDurationValid(m) {
+        for (var key in m) {
+            if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
+                return false;
+            }
+        }
+
+        var unitHasDecimal = false;
+        for (var i = 0; i < ordering.length; ++i) {
+            if (m[ordering[i]]) {
+                if (unitHasDecimal) {
+                    return false; // only allow non-integers for smallest unit
+                }
+                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
+                    unitHasDecimal = true;
+                }
+            }
+        }
+
+        return true;
+    }
+
+    function isValid$1() {
+        return this._isValid;
+    }
+
+    function createInvalid$1() {
+        return createDuration(NaN);
+    }
+
+    function Duration (duration) {
+        var normalizedInput = normalizeObjectUnits(duration),
+            years = normalizedInput.year || 0,
+            quarters = normalizedInput.quarter || 0,
+            months = normalizedInput.month || 0,
+            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
+            days = normalizedInput.day || 0,
+            hours = normalizedInput.hour || 0,
+            minutes = normalizedInput.minute || 0,
+            seconds = normalizedInput.second || 0,
+            milliseconds = normalizedInput.millisecond || 0;
+
+        this._isValid = isDurationValid(normalizedInput);
+
+        // representation for dateAddRemove
+        this._milliseconds = +milliseconds +
+            seconds * 1e3 + // 1000
+            minutes * 6e4 + // 1000 * 60
+            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
+        // Because of dateAddRemove treats 24 hours as different from a
+        // day when working around DST, we need to store them separately
+        this._days = +days +
+            weeks * 7;
+        // It is impossible to translate months into days without knowing
+        // which months you are are talking about, so we have to store
+        // it separately.
+        this._months = +months +
+            quarters * 3 +
+            years * 12;
+
+        this._data = {};
+
+        this._locale = getLocale();
+
+        this._bubble();
+    }
+
+    function isDuration (obj) {
+        return obj instanceof Duration;
+    }
+
+    function absRound (number) {
+        if (number < 0) {
+            return Math.round(-1 * number) * -1;
+        } else {
+            return Math.round(number);
+        }
+    }
+
+    // FORMATTING
+
+    function offset (token, separator) {
+        addFormatToken(token, 0, 0, function () {
+            var offset = this.utcOffset();
+            var sign = '+';
+            if (offset < 0) {
+                offset = -offset;
+                sign = '-';
+            }
+            return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
+        });
+    }
+
+    offset('Z', ':');
+    offset('ZZ', '');
+
+    // PARSING
+
+    addRegexToken('Z',  matchShortOffset);
+    addRegexToken('ZZ', matchShortOffset);
+    addParseToken(['Z', 'ZZ'], function (input, array, config) {
+        config._useUTC = true;
+        config._tzm = offsetFromString(matchShortOffset, input);
+    });
+
+    // HELPERS
+
+    // timezone chunker
+    // '+10:00' > ['10',  '00']
+    // '-1530'  > ['-15', '30']
+    var chunkOffset = /([\+\-]|\d\d)/gi;
+
+    function offsetFromString(matcher, string) {
+        var matches = (string || '').match(matcher);
+
+        if (matches === null) {
+            return null;
+        }
+
+        var chunk   = matches[matches.length - 1] || [];
+        var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];
+        var minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+        return minutes === 0 ?
+          0 :
+          parts[0] === '+' ? minutes : -minutes;
+    }
+
+    // Return a moment from input, that is local/utc/zone equivalent to model.
+    function cloneWithOffset(input, model) {
+        var res, diff;
+        if (model._isUTC) {
+            res = model.clone();
+            diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
+            // Use low-level api, because this fn is low-level api.
+            res._d.setTime(res._d.valueOf() + diff);
+            hooks.updateOffset(res, false);
+            return res;
+        } else {
+            return createLocal(input).local();
+        }
+    }
+
+    function getDateOffset (m) {
+        // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+        // https://github.com/moment/moment/pull/1871
+        return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
+    }
+
+    // HOOKS
+
+    // This function will be called whenever a moment is mutated.
+    // It is intended to keep the offset in sync with the timezone.
+    hooks.updateOffset = function () {};
+
+    // MOMENTS
+
+    // keepLocalTime = true means only change the timezone, without
+    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
+    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
+    // +0200, so we adjust the time as needed, to be valid.
+    //
+    // Keeping the time actually adds/subtracts (one hour)
+    // from the actual represented time. That is why we call updateOffset
+    // a second time. In case it wants us to change the offset again
+    // _changeInProgress == true case, then we have to adjust, because
+    // there is no such time in the given timezone.
+    function getSetOffset (input, keepLocalTime, keepMinutes) {
+        var offset = this._offset || 0,
+            localAdjust;
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+        if (input != null) {
+            if (typeof input === 'string') {
+                input = offsetFromString(matchShortOffset, input);
+                if (input === null) {
+                    return this;
+                }
+            } else if (Math.abs(input) < 16 && !keepMinutes) {
+                input = input * 60;
+            }
+            if (!this._isUTC && keepLocalTime) {
+                localAdjust = getDateOffset(this);
+            }
+            this._offset = input;
+            this._isUTC = true;
+            if (localAdjust != null) {
+                this.add(localAdjust, 'm');
+            }
+            if (offset !== input) {
+                if (!keepLocalTime || this._changeInProgress) {
+                    addSubtract(this, createDuration(input - offset, 'm'), 1, false);
+                } else if (!this._changeInProgress) {
+                    this._changeInProgress = true;
+                    hooks.updateOffset(this, true);
+                    this._changeInProgress = null;
+                }
+            }
+            return this;
+        } else {
+            return this._isUTC ? offset : getDateOffset(this);
+        }
+    }
+
+    function getSetZone (input, keepLocalTime) {
+        if (input != null) {
+            if (typeof input !== 'string') {
+                input = -input;
+            }
+
+            this.utcOffset(input, keepLocalTime);
+
+            return this;
+        } else {
+            return -this.utcOffset();
+        }
+    }
+
+    function setOffsetToUTC (keepLocalTime) {
+        return this.utcOffset(0, keepLocalTime);
+    }
+
+    function setOffsetToLocal (keepLocalTime) {
+        if (this._isUTC) {
+            this.utcOffset(0, keepLocalTime);
+            this._isUTC = false;
+
+            if (keepLocalTime) {
+                this.subtract(getDateOffset(this), 'm');
+            }
+        }
+        return this;
+    }
+
+    function setOffsetToParsedOffset () {
+        if (this._tzm != null) {
+            this.utcOffset(this._tzm, false, true);
+        } else if (typeof this._i === 'string') {
+            var tZone = offsetFromString(matchOffset, this._i);
+            if (tZone != null) {
+                this.utcOffset(tZone);
+            }
+            else {
+                this.utcOffset(0, true);
+            }
+        }
+        return this;
+    }
+
+    function hasAlignedHourOffset (input) {
+        if (!this.isValid()) {
+            return false;
+        }
+        input = input ? createLocal(input).utcOffset() : 0;
+
+        return (this.utcOffset() - input) % 60 === 0;
+    }
+
+    function isDaylightSavingTime () {
+        return (
+            this.utcOffset() > this.clone().month(0).utcOffset() ||
+            this.utcOffset() > this.clone().month(5).utcOffset()
+        );
+    }
+
+    function isDaylightSavingTimeShifted () {
+        if (!isUndefined(this._isDSTShifted)) {
+            return this._isDSTShifted;
+        }
+
+        var c = {};
+
+        copyConfig(c, this);
+        c = prepareConfig(c);
+
+        if (c._a) {
+            var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
+            this._isDSTShifted = this.isValid() &&
+                compareArrays(c._a, other.toArray()) > 0;
+        } else {
+            this._isDSTShifted = false;
+        }
+
+        return this._isDSTShifted;
+    }
+
+    function isLocal () {
+        return this.isValid() ? !this._isUTC : false;
+    }
+
+    function isUtcOffset () {
+        return this.isValid() ? this._isUTC : false;
+    }
+
+    function isUtc () {
+        return this.isValid() ? this._isUTC && this._offset === 0 : false;
+    }
+
+    // ASP.NET json date format regex
+    var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
+
+    // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+    // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+    // and further modified to allow for strings containing both week and day
+    var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+
+    function createDuration (input, key) {
+        var duration = input,
+            // matching against regexp is expensive, do it on demand
+            match = null,
+            sign,
+            ret,
+            diffRes;
+
+        if (isDuration(input)) {
+            duration = {
+                ms : input._milliseconds,
+                d  : input._days,
+                M  : input._months
+            };
+        } else if (isNumber(input)) {
+            duration = {};
+            if (key) {
+                duration[key] = input;
+            } else {
+                duration.milliseconds = input;
+            }
+        } else if (!!(match = aspNetRegex.exec(input))) {
+            sign = (match[1] === '-') ? -1 : 1;
+            duration = {
+                y  : 0,
+                d  : toInt(match[DATE])                         * sign,
+                h  : toInt(match[HOUR])                         * sign,
+                m  : toInt(match[MINUTE])                       * sign,
+                s  : toInt(match[SECOND])                       * sign,
+                ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
+            };
+        } else if (!!(match = isoRegex.exec(input))) {
+            sign = (match[1] === '-') ? -1 : 1;
+            duration = {
+                y : parseIso(match[2], sign),
+                M : parseIso(match[3], sign),
+                w : parseIso(match[4], sign),
+                d : parseIso(match[5], sign),
+                h : parseIso(match[6], sign),
+                m : parseIso(match[7], sign),
+                s : parseIso(match[8], sign)
+            };
+        } else if (duration == null) {// checks for null or undefined
+            duration = {};
+        } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
+            diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
+
+            duration = {};
+            duration.ms = diffRes.milliseconds;
+            duration.M = diffRes.months;
+        }
+
+        ret = new Duration(duration);
+
+        if (isDuration(input) && hasOwnProp(input, '_locale')) {
+            ret._locale = input._locale;
+        }
+
+        return ret;
+    }
+
+    createDuration.fn = Duration.prototype;
+    createDuration.invalid = createInvalid$1;
+
+    function parseIso (inp, sign) {
+        // We'd normally use ~~inp for this, but unfortunately it also
+        // converts floats to ints.
+        // inp may be undefined, so careful calling replace on it.
+        var res = inp && parseFloat(inp.replace(',', '.'));
+        // apply sign while we're at it
+        return (isNaN(res) ? 0 : res) * sign;
+    }
+
+    function positiveMomentsDifference(base, other) {
+        var res = {};
+
+        res.months = other.month() - base.month() +
+            (other.year() - base.year()) * 12;
+        if (base.clone().add(res.months, 'M').isAfter(other)) {
+            --res.months;
+        }
+
+        res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
+
+        return res;
+    }
+
+    function momentsDifference(base, other) {
+        var res;
+        if (!(base.isValid() && other.isValid())) {
+            return {milliseconds: 0, months: 0};
+        }
+
+        other = cloneWithOffset(other, base);
+        if (base.isBefore(other)) {
+            res = positiveMomentsDifference(base, other);
+        } else {
+            res = positiveMomentsDifference(other, base);
+            res.milliseconds = -res.milliseconds;
+            res.months = -res.months;
+        }
+
+        return res;
+    }
+
+    // TODO: remove 'name' arg after deprecation is removed
+    function createAdder(direction, name) {
+        return function (val, period) {
+            var dur, tmp;
+            //invert the arguments, but complain about it
+            if (period !== null && !isNaN(+period)) {
+                deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
+                'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
+                tmp = val; val = period; period = tmp;
+            }
+
+            val = typeof val === 'string' ? +val : val;
+            dur = createDuration(val, period);
+            addSubtract(this, dur, direction);
+            return this;
+        };
+    }
+
+    function addSubtract (mom, duration, isAdding, updateOffset) {
+        var milliseconds = duration._milliseconds,
+            days = absRound(duration._days),
+            months = absRound(duration._months);
+
+        if (!mom.isValid()) {
+            // No op
+            return;
+        }
+
+        updateOffset = updateOffset == null ? true : updateOffset;
+
+        if (months) {
+            setMonth(mom, get(mom, 'Month') + months * isAdding);
+        }
+        if (days) {
+            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
+        }
+        if (milliseconds) {
+            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
+        }
+        if (updateOffset) {
+            hooks.updateOffset(mom, days || months);
+        }
+    }
+
+    var add      = createAdder(1, 'add');
+    var subtract = createAdder(-1, 'subtract');
+
+    function getCalendarFormat(myMoment, now) {
+        var diff = myMoment.diff(now, 'days', true);
+        return diff < -6 ? 'sameElse' :
+                diff < -1 ? 'lastWeek' :
+                diff < 0 ? 'lastDay' :
+                diff < 1 ? 'sameDay' :
+                diff < 2 ? 'nextDay' :
+                diff < 7 ? 'nextWeek' : 'sameElse';
+    }
+
+    function calendar$1 (time, formats) {
+        // We want to compare the start of today, vs this.
+        // Getting start-of-today depends on whether we're local/utc/offset or not.
+        var now = time || createLocal(),
+            sod = cloneWithOffset(now, this).startOf('day'),
+            format = hooks.calendarFormat(this, sod) || 'sameElse';
+
+        var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
+
+        return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
+    }
+
+    function clone () {
+        return new Moment(this);
+    }
+
+    function isAfter (input, units) {
+        var localInput = isMoment(input) ? input : createLocal(input);
+        if (!(this.isValid() && localInput.isValid())) {
+            return false;
+        }
+        units = normalizeUnits(units) || 'millisecond';
+        if (units === 'millisecond') {
+            return this.valueOf() > localInput.valueOf();
+        } else {
+            return localInput.valueOf() < this.clone().startOf(units).valueOf();
+        }
+    }
+
+    function isBefore (input, units) {
+        var localInput = isMoment(input) ? input : createLocal(input);
+        if (!(this.isValid() && localInput.isValid())) {
+            return false;
+        }
+        units = normalizeUnits(units) || 'millisecond';
+        if (units === 'millisecond') {
+            return this.valueOf() < localInput.valueOf();
+        } else {
+            return this.clone().endOf(units).valueOf() < localInput.valueOf();
+        }
+    }
+
+    function isBetween (from, to, units, inclusivity) {
+        var localFrom = isMoment(from) ? from : createLocal(from),
+            localTo = isMoment(to) ? to : createLocal(to);
+        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
+            return false;
+        }
+        inclusivity = inclusivity || '()';
+        return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&
+            (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
+    }
+
+    function isSame (input, units) {
+        var localInput = isMoment(input) ? input : createLocal(input),
+            inputMs;
+        if (!(this.isValid() && localInput.isValid())) {
+            return false;
+        }
+        units = normalizeUnits(units) || 'millisecond';
+        if (units === 'millisecond') {
+            return this.valueOf() === localInput.valueOf();
+        } else {
+            inputMs = localInput.valueOf();
+            return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
+        }
+    }
+
+    function isSameOrAfter (input, units) {
+        return this.isSame(input, units) || this.isAfter(input, units);
+    }
+
+    function isSameOrBefore (input, units) {
+        return this.isSame(input, units) || this.isBefore(input, units);
+    }
+
+    function diff (input, units, asFloat) {
+        var that,
+            zoneDelta,
+            output;
+
+        if (!this.isValid()) {
+            return NaN;
+        }
+
+        that = cloneWithOffset(input, this);
+
+        if (!that.isValid()) {
+            return NaN;
+        }
+
+        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
+
+        units = normalizeUnits(units);
+
+        switch (units) {
+            case 'year': output = monthDiff(this, that) / 12; break;
+            case 'month': output = monthDiff(this, that); break;
+            case 'quarter': output = monthDiff(this, that) / 3; break;
+            case 'second': output = (this - that) / 1e3; break; // 1000
+            case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
+            case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
+            case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
+            case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
+            default: output = this - that;
+        }
+
+        return asFloat ? output : absFloor(output);
+    }
+
+    function monthDiff (a, b) {
+        // difference in months
+        var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
+            // b is in (anchor - 1 month, anchor + 1 month)
+            anchor = a.clone().add(wholeMonthDiff, 'months'),
+            anchor2, adjust;
+
+        if (b - anchor < 0) {
+            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
+            // linear across the month
+            adjust = (b - anchor) / (anchor - anchor2);
+        } else {
+            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
+            // linear across the month
+            adjust = (b - anchor) / (anchor2 - anchor);
+        }
+
+        //check for negative zero, return zero if negative zero
+        return -(wholeMonthDiff + adjust) || 0;
+    }
+
+    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
+    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
+
+    function toString () {
+        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+    }
+
+    function toISOString(keepOffset) {
+        if (!this.isValid()) {
+            return null;
+        }
+        var utc = keepOffset !== true;
+        var m = utc ? this.clone().utc() : this;
+        if (m.year() < 0 || m.year() > 9999) {
+            return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
+        }
+        if (isFunction(Date.prototype.toISOString)) {
+            // native implementation is ~50x faster, use it when we can
+            if (utc) {
+                return this.toDate().toISOString();
+            } else {
+                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
+            }
+        }
+        return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
+    }
+
+    /**
+     * Return a human readable representation of a moment that can
+     * also be evaluated to get a new moment which is the same
+     *
+     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
+     */
+    function inspect () {
+        if (!this.isValid()) {
+            return 'moment.invalid(/* ' + this._i + ' */)';
+        }
+        var func = 'moment';
+        var zone = '';
+        if (!this.isLocal()) {
+            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
+            zone = 'Z';
+        }
+        var prefix = '[' + func + '("]';
+        var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
+        var datetime = '-MM-DD[T]HH:mm:ss.SSS';
+        var suffix = zone + '[")]';
+
+        return this.format(prefix + year + datetime + suffix);
+    }
+
+    function format (inputString) {
+        if (!inputString) {
+            inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
+        }
+        var output = formatMoment(this, inputString);
+        return this.localeData().postformat(output);
+    }
+
+    function from (time, withoutSuffix) {
+        if (this.isValid() &&
+                ((isMoment(time) && time.isValid()) ||
+                 createLocal(time).isValid())) {
+            return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
+        } else {
+            return this.localeData().invalidDate();
+        }
+    }
+
+    function fromNow (withoutSuffix) {
+        return this.from(createLocal(), withoutSuffix);
+    }
+
+    function to (time, withoutSuffix) {
+        if (this.isValid() &&
+                ((isMoment(time) && time.isValid()) ||
+                 createLocal(time).isValid())) {
+            return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
+        } else {
+            return this.localeData().invalidDate();
+        }
+    }
+
+    function toNow (withoutSuffix) {
+        return this.to(createLocal(), withoutSuffix);
+    }
+
+    // If passed a locale key, it will set the locale for this
+    // instance.  Otherwise, it will return the locale configuration
+    // variables for this instance.
+    function locale (key) {
+        var newLocaleData;
+
+        if (key === undefined) {
+            return this._locale._abbr;
+        } else {
+            newLocaleData = getLocale(key);
+            if (newLocaleData != null) {
+                this._locale = newLocaleData;
+            }
+            return this;
+        }
+    }
+
+    var lang = deprecate(
+        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
+        function (key) {
+            if (key === undefined) {
+                return this.localeData();
+            } else {
+                return this.locale(key);
+            }
+        }
+    );
+
+    function localeData () {
+        return this._locale;
+    }
+
+    var MS_PER_SECOND = 1000;
+    var MS_PER_MINUTE = 60 * MS_PER_SECOND;
+    var MS_PER_HOUR = 60 * MS_PER_MINUTE;
+    var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
+
+    // actual modulo - handles negative numbers (for dates before 1970):
+    function mod$1(dividend, divisor) {
+        return (dividend % divisor + divisor) % divisor;
+    }
+
+    function localStartOfDate(y, m, d) {
+        // the date constructor remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            // preserve leap years using a full 400 year cycle, then reset
+            return new Date(y + 400, m, d) - MS_PER_400_YEARS;
+        } else {
+            return new Date(y, m, d).valueOf();
+        }
+    }
+
+    function utcStartOfDate(y, m, d) {
+        // Date.UTC remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            // preserve leap years using a full 400 year cycle, then reset
+            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
+        } else {
+            return Date.UTC(y, m, d);
+        }
+    }
+
+    function startOf (units) {
+        var time;
+        units = normalizeUnits(units);
+        if (units === undefined || units === 'millisecond' || !this.isValid()) {
+            return this;
+        }
+
+        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+        switch (units) {
+            case 'year':
+                time = startOfDate(this.year(), 0, 1);
+                break;
+            case 'quarter':
+                time = startOfDate(this.year(), this.month() - this.month() % 3, 1);
+                break;
+            case 'month':
+                time = startOfDate(this.year(), this.month(), 1);
+                break;
+            case 'week':
+                time = startOfDate(this.year(), this.month(), this.date() - this.weekday());
+                break;
+            case 'isoWeek':
+                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
+                break;
+            case 'day':
+            case 'date':
+                time = startOfDate(this.year(), this.month(), this.date());
+                break;
+            case 'hour':
+                time = this._d.valueOf();
+                time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);
+                break;
+            case 'minute':
+                time = this._d.valueOf();
+                time -= mod$1(time, MS_PER_MINUTE);
+                break;
+            case 'second':
+                time = this._d.valueOf();
+                time -= mod$1(time, MS_PER_SECOND);
+                break;
+        }
+
+        this._d.setTime(time);
+        hooks.updateOffset(this, true);
+        return this;
+    }
+
+    function endOf (units) {
+        var time;
+        units = normalizeUnits(units);
+        if (units === undefined || units === 'millisecond' || !this.isValid()) {
+            return this;
+        }
+
+        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+        switch (units) {
+            case 'year':
+                time = startOfDate(this.year() + 1, 0, 1) - 1;
+                break;
+            case 'quarter':
+                time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
+                break;
+            case 'month':
+                time = startOfDate(this.year(), this.month() + 1, 1) - 1;
+                break;
+            case 'week':
+                time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
+                break;
+            case 'isoWeek':
+                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
+                break;
+            case 'day':
+            case 'date':
+                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
+                break;
+            case 'hour':
+                time = this._d.valueOf();
+                time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;
+                break;
+            case 'minute':
+                time = this._d.valueOf();
+                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
+                break;
+            case 'second':
+                time = this._d.valueOf();
+                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
+                break;
+        }
+
+        this._d.setTime(time);
+        hooks.updateOffset(this, true);
+        return this;
+    }
+
+    function valueOf () {
+        return this._d.valueOf() - ((this._offset || 0) * 60000);
+    }
+
+    function unix () {
+        return Math.floor(this.valueOf() / 1000);
+    }
+
+    function toDate () {
+        return new Date(this.valueOf());
+    }
+
+    function toArray () {
+        var m = this;
+        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
+    }
+
+    function toObject () {
+        var m = this;
+        return {
+            years: m.year(),
+            months: m.month(),
+            date: m.date(),
+            hours: m.hours(),
+            minutes: m.minutes(),
+            seconds: m.seconds(),
+            milliseconds: m.milliseconds()
+        };
+    }
+
+    function toJSON () {
+        // new Date(NaN).toJSON() === null
+        return this.isValid() ? this.toISOString() : null;
+    }
+
+    function isValid$2 () {
+        return isValid(this);
+    }
+
+    function parsingFlags () {
+        return extend({}, getParsingFlags(this));
+    }
+
+    function invalidAt () {
+        return getParsingFlags(this).overflow;
+    }
+
+    function creationData() {
+        return {
+            input: this._i,
+            format: this._f,
+            locale: this._locale,
+            isUTC: this._isUTC,
+            strict: this._strict
+        };
+    }
+
+    // FORMATTING
+
+    addFormatToken(0, ['gg', 2], 0, function () {
+        return this.weekYear() % 100;
+    });
+
+    addFormatToken(0, ['GG', 2], 0, function () {
+        return this.isoWeekYear() % 100;
+    });
+
+    function addWeekYearFormatToken (token, getter) {
+        addFormatToken(0, [token, token.length], 0, getter);
+    }
+
+    addWeekYearFormatToken('gggg',     'weekYear');
+    addWeekYearFormatToken('ggggg',    'weekYear');
+    addWeekYearFormatToken('GGGG',  'isoWeekYear');
+    addWeekYearFormatToken('GGGGG', 'isoWeekYear');
+
+    // ALIASES
+
+    addUnitAlias('weekYear', 'gg');
+    addUnitAlias('isoWeekYear', 'GG');
+
+    // PRIORITY
+
+    addUnitPriority('weekYear', 1);
+    addUnitPriority('isoWeekYear', 1);
+
+
+    // PARSING
+
+    addRegexToken('G',      matchSigned);
+    addRegexToken('g',      matchSigned);
+    addRegexToken('GG',     match1to2, match2);
+    addRegexToken('gg',     match1to2, match2);
+    addRegexToken('GGGG',   match1to4, match4);
+    addRegexToken('gggg',   match1to4, match4);
+    addRegexToken('GGGGG',  match1to6, match6);
+    addRegexToken('ggggg',  match1to6, match6);
+
+    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
+        week[token.substr(0, 2)] = toInt(input);
+    });
+
+    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
+        week[token] = hooks.parseTwoDigitYear(input);
+    });
+
+    // MOMENTS
+
+    function getSetWeekYear (input) {
+        return getSetWeekYearHelper.call(this,
+                input,
+                this.week(),
+                this.weekday(),
+                this.localeData()._week.dow,
+                this.localeData()._week.doy);
+    }
+
+    function getSetISOWeekYear (input) {
+        return getSetWeekYearHelper.call(this,
+                input, this.isoWeek(), this.isoWeekday(), 1, 4);
+    }
+
+    function getISOWeeksInYear () {
+        return weeksInYear(this.year(), 1, 4);
+    }
+
+    function getWeeksInYear () {
+        var weekInfo = this.localeData()._week;
+        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+    }
+
+    function getSetWeekYearHelper(input, week, weekday, dow, doy) {
+        var weeksTarget;
+        if (input == null) {
+            return weekOfYear(this, dow, doy).year;
+        } else {
+            weeksTarget = weeksInYear(input, dow, doy);
+            if (week > weeksTarget) {
+                week = weeksTarget;
+            }
+            return setWeekAll.call(this, input, week, weekday, dow, doy);
+        }
+    }
+
+    function setWeekAll(weekYear, week, weekday, dow, doy) {
+        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
+            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
+
+        this.year(date.getUTCFullYear());
+        this.month(date.getUTCMonth());
+        this.date(date.getUTCDate());
+        return this;
+    }
+
+    // FORMATTING
+
+    addFormatToken('Q', 0, 'Qo', 'quarter');
+
+    // ALIASES
+
+    addUnitAlias('quarter', 'Q');
+
+    // PRIORITY
+
+    addUnitPriority('quarter', 7);
+
+    // PARSING
+
+    addRegexToken('Q', match1);
+    addParseToken('Q', function (input, array) {
+        array[MONTH] = (toInt(input) - 1) * 3;
+    });
+
+    // MOMENTS
+
+    function getSetQuarter (input) {
+        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
+    }
+
+    // FORMATTING
+
+    addFormatToken('D', ['DD', 2], 'Do', 'date');
+
+    // ALIASES
+
+    addUnitAlias('date', 'D');
+
+    // PRIORITY
+    addUnitPriority('date', 9);
+
+    // PARSING
+
+    addRegexToken('D',  match1to2);
+    addRegexToken('DD', match1to2, match2);
+    addRegexToken('Do', function (isStrict, locale) {
+        // TODO: Remove "ordinalParse" fallback in next major release.
+        return isStrict ?
+          (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
+          locale._dayOfMonthOrdinalParseLenient;
+    });
+
+    addParseToken(['D', 'DD'], DATE);
+    addParseToken('Do', function (input, array) {
+        array[DATE] = toInt(input.match(match1to2)[0]);
+    });
+
+    // MOMENTS
+
+    var getSetDayOfMonth = makeGetSet('Date', true);
+
+    // FORMATTING
+
+    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
+
+    // ALIASES
+
+    addUnitAlias('dayOfYear', 'DDD');
+
+    // PRIORITY
+    addUnitPriority('dayOfYear', 4);
+
+    // PARSING
+
+    addRegexToken('DDD',  match1to3);
+    addRegexToken('DDDD', match3);
+    addParseToken(['DDD', 'DDDD'], function (input, array, config) {
+        config._dayOfYear = toInt(input);
+    });
+
+    // HELPERS
+
+    // MOMENTS
+
+    function getSetDayOfYear (input) {
+        var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
+        return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
+    }
+
+    // FORMATTING
+
+    addFormatToken('m', ['mm', 2], 0, 'minute');
+
+    // ALIASES
+
+    addUnitAlias('minute', 'm');
+
+    // PRIORITY
+
+    addUnitPriority('minute', 14);
+
+    // PARSING
+
+    addRegexToken('m',  match1to2);
+    addRegexToken('mm', match1to2, match2);
+    addParseToken(['m', 'mm'], MINUTE);
+
+    // MOMENTS
+
+    var getSetMinute = makeGetSet('Minutes', false);
+
+    // FORMATTING
+
+    addFormatToken('s', ['ss', 2], 0, 'second');
+
+    // ALIASES
+
+    addUnitAlias('second', 's');
+
+    // PRIORITY
+
+    addUnitPriority('second', 15);
+
+    // PARSING
+
+    addRegexToken('s',  match1to2);
+    addRegexToken('ss', match1to2, match2);
+    addParseToken(['s', 'ss'], SECOND);
+
+    // MOMENTS
+
+    var getSetSecond = makeGetSet('Seconds', false);
+
+    // FORMATTING
+
+    addFormatToken('S', 0, 0, function () {
+        return ~~(this.millisecond() / 100);
+    });
+
+    addFormatToken(0, ['SS', 2], 0, function () {
+        return ~~(this.millisecond() / 10);
+    });
+
+    addFormatToken(0, ['SSS', 3], 0, 'millisecond');
+    addFormatToken(0, ['SSSS', 4], 0, function () {
+        return this.millisecond() * 10;
+    });
+    addFormatToken(0, ['SSSSS', 5], 0, function () {
+        return this.millisecond() * 100;
+    });
+    addFormatToken(0, ['SSSSSS', 6], 0, function () {
+        return this.millisecond() * 1000;
+    });
+    addFormatToken(0, ['SSSSSSS', 7], 0, function () {
+        return this.millisecond() * 10000;
+    });
+    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
+        return this.millisecond() * 100000;
+    });
+    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
+        return this.millisecond() * 1000000;
+    });
+
+
+    // ALIASES
+
+    addUnitAlias('millisecond', 'ms');
+
+    // PRIORITY
+
+    addUnitPriority('millisecond', 16);
+
+    // PARSING
+
+    addRegexToken('S',    match1to3, match1);
+    addRegexToken('SS',   match1to3, match2);
+    addRegexToken('SSS',  match1to3, match3);
+
+    var token;
+    for (token = 'SSSS'; token.length <= 9; token += 'S') {
+        addRegexToken(token, matchUnsigned);
+    }
+
+    function parseMs(input, array) {
+        array[MILLISECOND] = toInt(('0.' + input) * 1000);
+    }
+
+    for (token = 'S'; token.length <= 9; token += 'S') {
+        addParseToken(token, parseMs);
+    }
+    // MOMENTS
+
+    var getSetMillisecond = makeGetSet('Milliseconds', false);
+
+    // FORMATTING
+
+    addFormatToken('z',  0, 0, 'zoneAbbr');
+    addFormatToken('zz', 0, 0, 'zoneName');
+
+    // MOMENTS
+
+    function getZoneAbbr () {
+        return this._isUTC ? 'UTC' : '';
+    }
+
+    function getZoneName () {
+        return this._isUTC ? 'Coordinated Universal Time' : '';
+    }
+
+    var proto = Moment.prototype;
+
+    proto.add               = add;
+    proto.calendar          = calendar$1;
+    proto.clone             = clone;
+    proto.diff              = diff;
+    proto.endOf             = endOf;
+    proto.format            = format;
+    proto.from              = from;
+    proto.fromNow           = fromNow;
+    proto.to                = to;
+    proto.toNow             = toNow;
+    proto.get               = stringGet;
+    proto.invalidAt         = invalidAt;
+    proto.isAfter           = isAfter;
+    proto.isBefore          = isBefore;
+    proto.isBetween         = isBetween;
+    proto.isSame            = isSame;
+    proto.isSameOrAfter     = isSameOrAfter;
+    proto.isSameOrBefore    = isSameOrBefore;
+    proto.isValid           = isValid$2;
+    proto.lang              = lang;
+    proto.locale            = locale;
+    proto.localeData        = localeData;
+    proto.max               = prototypeMax;
+    proto.min               = prototypeMin;
+    proto.parsingFlags      = parsingFlags;
+    proto.set               = stringSet;
+    proto.startOf           = startOf;
+    proto.subtract          = subtract;
+    proto.toArray           = toArray;
+    proto.toObject          = toObject;
+    proto.toDate            = toDate;
+    proto.toISOString       = toISOString;
+    proto.inspect           = inspect;
+    proto.toJSON            = toJSON;
+    proto.toString          = toString;
+    proto.unix              = unix;
+    proto.valueOf           = valueOf;
+    proto.creationData      = creationData;
+    proto.year       = getSetYear;
+    proto.isLeapYear = getIsLeapYear;
+    proto.weekYear    = getSetWeekYear;
+    proto.isoWeekYear = getSetISOWeekYear;
+    proto.quarter = proto.quarters = getSetQuarter;
+    proto.month       = getSetMonth;
+    proto.daysInMonth = getDaysInMonth;
+    proto.week           = proto.weeks        = getSetWeek;
+    proto.isoWeek        = proto.isoWeeks     = getSetISOWeek;
+    proto.weeksInYear    = getWeeksInYear;
+    proto.isoWeeksInYear = getISOWeeksInYear;
+    proto.date       = getSetDayOfMonth;
+    proto.day        = proto.days             = getSetDayOfWeek;
+    proto.weekday    = getSetLocaleDayOfWeek;
+    proto.isoWeekday = getSetISODayOfWeek;
+    proto.dayOfYear  = getSetDayOfYear;
+    proto.hour = proto.hours = getSetHour;
+    proto.minute = proto.minutes = getSetMinute;
+    proto.second = proto.seconds = getSetSecond;
+    proto.millisecond = proto.milliseconds = getSetMillisecond;
+    proto.utcOffset            = getSetOffset;
+    proto.utc                  = setOffsetToUTC;
+    proto.local                = setOffsetToLocal;
+    proto.parseZone            = setOffsetToParsedOffset;
+    proto.hasAlignedHourOffset = hasAlignedHourOffset;
+    proto.isDST                = isDaylightSavingTime;
+    proto.isLocal              = isLocal;
+    proto.isUtcOffset          = isUtcOffset;
+    proto.isUtc                = isUtc;
+    proto.isUTC                = isUtc;
+    proto.zoneAbbr = getZoneAbbr;
+    proto.zoneName = getZoneName;
+    proto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
+    proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
+    proto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);
+    proto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
+    proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
+
+    function createUnix (input) {
+        return createLocal(input * 1000);
+    }
+
+    function createInZone () {
+        return createLocal.apply(null, arguments).parseZone();
+    }
+
+    function preParsePostFormat (string) {
+        return string;
+    }
+
+    var proto$1 = Locale.prototype;
+
+    proto$1.calendar        = calendar;
+    proto$1.longDateFormat  = longDateFormat;
+    proto$1.invalidDate     = invalidDate;
+    proto$1.ordinal         = ordinal;
+    proto$1.preparse        = preParsePostFormat;
+    proto$1.postformat      = preParsePostFormat;
+    proto$1.relativeTime    = relativeTime;
+    proto$1.pastFuture      = pastFuture;
+    proto$1.set             = set;
+
+    proto$1.months            =        localeMonths;
+    proto$1.monthsShort       =        localeMonthsShort;
+    proto$1.monthsParse       =        localeMonthsParse;
+    proto$1.monthsRegex       = monthsRegex;
+    proto$1.monthsShortRegex  = monthsShortRegex;
+    proto$1.week = localeWeek;
+    proto$1.firstDayOfYear = localeFirstDayOfYear;
+    proto$1.firstDayOfWeek = localeFirstDayOfWeek;
+
+    proto$1.weekdays       =        localeWeekdays;
+    proto$1.weekdaysMin    =        localeWeekdaysMin;
+    proto$1.weekdaysShort  =        localeWeekdaysShort;
+    proto$1.weekdaysParse  =        localeWeekdaysParse;
+
+    proto$1.weekdaysRegex       =        weekdaysRegex;
+    proto$1.weekdaysShortRegex  =        weekdaysShortRegex;
+    proto$1.weekdaysMinRegex    =        weekdaysMinRegex;
+
+    proto$1.isPM = localeIsPM;
+    proto$1.meridiem = localeMeridiem;
+
+    function get$1 (format, index, field, setter) {
+        var locale = getLocale();
+        var utc = createUTC().set(setter, index);
+        return locale[field](utc, format);
+    }
+
+    function listMonthsImpl (format, index, field) {
+        if (isNumber(format)) {
+            index = format;
+            format = undefined;
+        }
+
+        format = format || '';
+
+        if (index != null) {
+            return get$1(format, index, field, 'month');
+        }
+
+        var i;
+        var out = [];
+        for (i = 0; i < 12; i++) {
+            out[i] = get$1(format, i, field, 'month');
+        }
+        return out;
+    }
+
+    // ()
+    // (5)
+    // (fmt, 5)
+    // (fmt)
+    // (true)
+    // (true, 5)
+    // (true, fmt, 5)
+    // (true, fmt)
+    function listWeekdaysImpl (localeSorted, format, index, field) {
+        if (typeof localeSorted === 'boolean') {
+            if (isNumber(format)) {
+                index = format;
+                format = undefined;
+            }
+
+            format = format || '';
+        } else {
+            format = localeSorted;
+            index = format;
+            localeSorted = false;
+
+            if (isNumber(format)) {
+                index = format;
+                format = undefined;
+            }
+
+            format = format || '';
+        }
+
+        var locale = getLocale(),
+            shift = localeSorted ? locale._week.dow : 0;
+
+        if (index != null) {
+            return get$1(format, (index + shift) % 7, field, 'day');
+        }
+
+        var i;
+        var out = [];
+        for (i = 0; i < 7; i++) {
+            out[i] = get$1(format, (i + shift) % 7, field, 'day');
+        }
+        return out;
+    }
+
+    function listMonths (format, index) {
+        return listMonthsImpl(format, index, 'months');
+    }
+
+    function listMonthsShort (format, index) {
+        return listMonthsImpl(format, index, 'monthsShort');
+    }
+
+    function listWeekdays (localeSorted, format, index) {
+        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
+    }
+
+    function listWeekdaysShort (localeSorted, format, index) {
+        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
+    }
+
+    function listWeekdaysMin (localeSorted, format, index) {
+        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
+    }
+
+    getSetGlobalLocale('en', {
+        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (toInt(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    // Side effect imports
+
+    hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
+    hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
+
+    var mathAbs = Math.abs;
+
+    function abs () {
+        var data           = this._data;
+
+        this._milliseconds = mathAbs(this._milliseconds);
+        this._days         = mathAbs(this._days);
+        this._months       = mathAbs(this._months);
+
+        data.milliseconds  = mathAbs(data.milliseconds);
+        data.seconds       = mathAbs(data.seconds);
+        data.minutes       = mathAbs(data.minutes);
+        data.hours         = mathAbs(data.hours);
+        data.months        = mathAbs(data.months);
+        data.years         = mathAbs(data.years);
+
+        return this;
+    }
+
+    function addSubtract$1 (duration, input, value, direction) {
+        var other = createDuration(input, value);
+
+        duration._milliseconds += direction * other._milliseconds;
+        duration._days         += direction * other._days;
+        duration._months       += direction * other._months;
+
+        return duration._bubble();
+    }
+
+    // supports only 2.0-style add(1, 's') or add(duration)
+    function add$1 (input, value) {
+        return addSubtract$1(this, input, value, 1);
+    }
+
+    // supports only 2.0-style subtract(1, 's') or subtract(duration)
+    function subtract$1 (input, value) {
+        return addSubtract$1(this, input, value, -1);
+    }
+
+    function absCeil (number) {
+        if (number < 0) {
+            return Math.floor(number);
+        } else {
+            return Math.ceil(number);
+        }
+    }
+
+    function bubble () {
+        var milliseconds = this._milliseconds;
+        var days         = this._days;
+        var months       = this._months;
+        var data         = this._data;
+        var seconds, minutes, hours, years, monthsFromDays;
+
+        // if we have a mix of positive and negative values, bubble down first
+        // check: https://github.com/moment/moment/issues/2166
+        if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
+                (milliseconds <= 0 && days <= 0 && months <= 0))) {
+            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
+            days = 0;
+            months = 0;
+        }
+
+        // The following code bubbles up values, see the tests for
+        // examples of what that means.
+        data.milliseconds = milliseconds % 1000;
+
+        seconds           = absFloor(milliseconds / 1000);
+        data.seconds      = seconds % 60;
+
+        minutes           = absFloor(seconds / 60);
+        data.minutes      = minutes % 60;
+
+        hours             = absFloor(minutes / 60);
+        data.hours        = hours % 24;
+
+        days += absFloor(hours / 24);
+
+        // convert days to months
+        monthsFromDays = absFloor(daysToMonths(days));
+        months += monthsFromDays;
+        days -= absCeil(monthsToDays(monthsFromDays));
+
+        // 12 months -> 1 year
+        years = absFloor(months / 12);
+        months %= 12;
+
+        data.days   = days;
+        data.months = months;
+        data.years  = years;
+
+        return this;
+    }
+
+    function daysToMonths (days) {
+        // 400 years have 146097 days (taking into account leap year rules)
+        // 400 years have 12 months === 4800
+        return days * 4800 / 146097;
+    }
+
+    function monthsToDays (months) {
+        // the reverse of daysToMonths
+        return months * 146097 / 4800;
+    }
+
+    function as (units) {
+        if (!this.isValid()) {
+            return NaN;
+        }
+        var days;
+        var months;
+        var milliseconds = this._milliseconds;
+
+        units = normalizeUnits(units);
+
+        if (units === 'month' || units === 'quarter' || units === 'year') {
+            days = this._days + milliseconds / 864e5;
+            months = this._months + daysToMonths(days);
+            switch (units) {
+                case 'month':   return months;
+                case 'quarter': return months / 3;
+                case 'year':    return months / 12;
+            }
+        } else {
+            // handle milliseconds separately because of floating point math errors (issue #1867)
+            days = this._days + Math.round(monthsToDays(this._months));
+            switch (units) {
+                case 'week'   : return days / 7     + milliseconds / 6048e5;
+                case 'day'    : return days         + milliseconds / 864e5;
+                case 'hour'   : return days * 24    + milliseconds / 36e5;
+                case 'minute' : return days * 1440  + milliseconds / 6e4;
+                case 'second' : return days * 86400 + milliseconds / 1000;
+                // Math.floor prevents floating point math errors here
+                case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
+                default: throw new Error('Unknown unit ' + units);
+            }
+        }
+    }
+
+    // TODO: Use this.as('ms')?
+    function valueOf$1 () {
+        if (!this.isValid()) {
+            return NaN;
+        }
+        return (
+            this._milliseconds +
+            this._days * 864e5 +
+            (this._months % 12) * 2592e6 +
+            toInt(this._months / 12) * 31536e6
+        );
+    }
+
+    function makeAs (alias) {
+        return function () {
+            return this.as(alias);
+        };
+    }
+
+    var asMilliseconds = makeAs('ms');
+    var asSeconds      = makeAs('s');
+    var asMinutes      = makeAs('m');
+    var asHours        = makeAs('h');
+    var asDays         = makeAs('d');
+    var asWeeks        = makeAs('w');
+    var asMonths       = makeAs('M');
+    var asQuarters     = makeAs('Q');
+    var asYears        = makeAs('y');
+
+    function clone$1 () {
+        return createDuration(this);
+    }
+
+    function get$2 (units) {
+        units = normalizeUnits(units);
+        return this.isValid() ? this[units + 's']() : NaN;
+    }
+
+    function makeGetter(name) {
+        return function () {
+            return this.isValid() ? this._data[name] : NaN;
+        };
+    }
+
+    var milliseconds = makeGetter('milliseconds');
+    var seconds      = makeGetter('seconds');
+    var minutes      = makeGetter('minutes');
+    var hours        = makeGetter('hours');
+    var days         = makeGetter('days');
+    var months       = makeGetter('months');
+    var years        = makeGetter('years');
+
+    function weeks () {
+        return absFloor(this.days() / 7);
+    }
+
+    var round = Math.round;
+    var thresholds = {
+        ss: 44,         // a few seconds to seconds
+        s : 45,         // seconds to minute
+        m : 45,         // minutes to hour
+        h : 22,         // hours to day
+        d : 26,         // days to month
+        M : 11          // months to year
+    };
+
+    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+    }
+
+    function relativeTime$1 (posNegDuration, withoutSuffix, locale) {
+        var duration = createDuration(posNegDuration).abs();
+        var seconds  = round(duration.as('s'));
+        var minutes  = round(duration.as('m'));
+        var hours    = round(duration.as('h'));
+        var days     = round(duration.as('d'));
+        var months   = round(duration.as('M'));
+        var years    = round(duration.as('y'));
+
+        var a = seconds <= thresholds.ss && ['s', seconds]  ||
+                seconds < thresholds.s   && ['ss', seconds] ||
+                minutes <= 1             && ['m']           ||
+                minutes < thresholds.m   && ['mm', minutes] ||
+                hours   <= 1             && ['h']           ||
+                hours   < thresholds.h   && ['hh', hours]   ||
+                days    <= 1             && ['d']           ||
+                days    < thresholds.d   && ['dd', days]    ||
+                months  <= 1             && ['M']           ||
+                months  < thresholds.M   && ['MM', months]  ||
+                years   <= 1             && ['y']           || ['yy', years];
+
+        a[2] = withoutSuffix;
+        a[3] = +posNegDuration > 0;
+        a[4] = locale;
+        return substituteTimeAgo.apply(null, a);
+    }
+
+    // This function allows you to set the rounding function for relative time strings
+    function getSetRelativeTimeRounding (roundingFunction) {
+        if (roundingFunction === undefined) {
+            return round;
+        }
+        if (typeof(roundingFunction) === 'function') {
+            round = roundingFunction;
+            return true;
+        }
+        return false;
+    }
+
+    // This function allows you to set a threshold for relative time strings
+    function getSetRelativeTimeThreshold (threshold, limit) {
+        if (thresholds[threshold] === undefined) {
+            return false;
+        }
+        if (limit === undefined) {
+            return thresholds[threshold];
+        }
+        thresholds[threshold] = limit;
+        if (threshold === 's') {
+            thresholds.ss = limit - 1;
+        }
+        return true;
+    }
+
+    function humanize (withSuffix) {
+        if (!this.isValid()) {
+            return this.localeData().invalidDate();
+        }
+
+        var locale = this.localeData();
+        var output = relativeTime$1(this, !withSuffix, locale);
+
+        if (withSuffix) {
+            output = locale.pastFuture(+this, output);
+        }
+
+        return locale.postformat(output);
+    }
+
+    var abs$1 = Math.abs;
+
+    function sign(x) {
+        return ((x > 0) - (x < 0)) || +x;
+    }
+
+    function toISOString$1() {
+        // for ISO strings we do not use the normal bubbling rules:
+        //  * milliseconds bubble up until they become hours
+        //  * days do not bubble at all
+        //  * months bubble up until they become years
+        // This is because there is no context-free conversion between hours and days
+        // (think of clock changes)
+        // and also not between days and months (28-31 days per month)
+        if (!this.isValid()) {
+            return this.localeData().invalidDate();
+        }
+
+        var seconds = abs$1(this._milliseconds) / 1000;
+        var days         = abs$1(this._days);
+        var months       = abs$1(this._months);
+        var minutes, hours, years;
+
+        // 3600 seconds -> 60 minutes -> 1 hour
+        minutes           = absFloor(seconds / 60);
+        hours             = absFloor(minutes / 60);
+        seconds %= 60;
+        minutes %= 60;
+
+        // 12 months -> 1 year
+        years  = absFloor(months / 12);
+        months %= 12;
+
+
+        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+        var Y = years;
+        var M = months;
+        var D = days;
+        var h = hours;
+        var m = minutes;
+        var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
+        var total = this.asSeconds();
+
+        if (!total) {
+            // this is the same as C#'s (Noda) and python (isodate)...
+            // but not other JS (goog.date)
+            return 'P0D';
+        }
+
+        var totalSign = total < 0 ? '-' : '';
+        var ymSign = sign(this._months) !== sign(total) ? '-' : '';
+        var daysSign = sign(this._days) !== sign(total) ? '-' : '';
+        var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
+
+        return totalSign + 'P' +
+            (Y ? ymSign + Y + 'Y' : '') +
+            (M ? ymSign + M + 'M' : '') +
+            (D ? daysSign + D + 'D' : '') +
+            ((h || m || s) ? 'T' : '') +
+            (h ? hmsSign + h + 'H' : '') +
+            (m ? hmsSign + m + 'M' : '') +
+            (s ? hmsSign + s + 'S' : '');
+    }
+
+    var proto$2 = Duration.prototype;
+
+    proto$2.isValid        = isValid$1;
+    proto$2.abs            = abs;
+    proto$2.add            = add$1;
+    proto$2.subtract       = subtract$1;
+    proto$2.as             = as;
+    proto$2.asMilliseconds = asMilliseconds;
+    proto$2.asSeconds      = asSeconds;
+    proto$2.asMinutes      = asMinutes;
+    proto$2.asHours        = asHours;
+    proto$2.asDays         = asDays;
+    proto$2.asWeeks        = asWeeks;
+    proto$2.asMonths       = asMonths;
+    proto$2.asQuarters     = asQuarters;
+    proto$2.asYears        = asYears;
+    proto$2.valueOf        = valueOf$1;
+    proto$2._bubble        = bubble;
+    proto$2.clone          = clone$1;
+    proto$2.get            = get$2;
+    proto$2.milliseconds   = milliseconds;
+    proto$2.seconds        = seconds;
+    proto$2.minutes        = minutes;
+    proto$2.hours          = hours;
+    proto$2.days           = days;
+    proto$2.weeks          = weeks;
+    proto$2.months         = months;
+    proto$2.years          = years;
+    proto$2.humanize       = humanize;
+    proto$2.toISOString    = toISOString$1;
+    proto$2.toString       = toISOString$1;
+    proto$2.toJSON         = toISOString$1;
+    proto$2.locale         = locale;
+    proto$2.localeData     = localeData;
+
+    proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
+    proto$2.lang = lang;
+
+    // Side effect imports
+
+    // FORMATTING
+
+    addFormatToken('X', 0, 0, 'unix');
+    addFormatToken('x', 0, 0, 'valueOf');
+
+    // PARSING
+
+    addRegexToken('x', matchSigned);
+    addRegexToken('X', matchTimestamp);
+    addParseToken('X', function (input, array, config) {
+        config._d = new Date(parseFloat(input, 10) * 1000);
+    });
+    addParseToken('x', function (input, array, config) {
+        config._d = new Date(toInt(input));
+    });
+
+    // Side effect imports
+
+    //! moment.js
+
+    hooks.version = '2.24.0';
+
+    setHookCallback(createLocal);
+
+    hooks.fn                    = proto;
+    hooks.min                   = min;
+    hooks.max                   = max;
+    hooks.now                   = now;
+    hooks.utc                   = createUTC;
+    hooks.unix                  = createUnix;
+    hooks.months                = listMonths;
+    hooks.isDate                = isDate;
+    hooks.locale                = getSetGlobalLocale;
+    hooks.invalid               = createInvalid;
+    hooks.duration              = createDuration;
+    hooks.isMoment              = isMoment;
+    hooks.weekdays              = listWeekdays;
+    hooks.parseZone             = createInZone;
+    hooks.localeData            = getLocale;
+    hooks.isDuration            = isDuration;
+    hooks.monthsShort           = listMonthsShort;
+    hooks.weekdaysMin           = listWeekdaysMin;
+    hooks.defineLocale          = defineLocale;
+    hooks.updateLocale          = updateLocale;
+    hooks.locales               = listLocales;
+    hooks.weekdaysShort         = listWeekdaysShort;
+    hooks.normalizeUnits        = normalizeUnits;
+    hooks.relativeTimeRounding  = getSetRelativeTimeRounding;
+    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
+    hooks.calendarFormat        = getCalendarFormat;
+    hooks.prototype             = proto;
+
+    // currently HTML5 input type only supports 24-hour formats
+    hooks.HTML5_FMT = {
+        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // <input type="datetime-local" />
+        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // <input type="datetime-local" step="1" />
+        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // <input type="datetime-local" step="0.001" />
+        DATE: 'YYYY-MM-DD',                             // <input type="date" />
+        TIME: 'HH:mm',                                  // <input type="time" />
+        TIME_SECONDS: 'HH:mm:ss',                       // <input type="time" step="1" />
+        TIME_MS: 'HH:mm:ss.SSS',                        // <input type="time" step="0.001" />
+        WEEK: 'GGGG-[W]WW',                             // <input type="week" />
+        MONTH: 'YYYY-MM'                                // <input type="month" />
+    };
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('af', {
+        months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
+        weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
+        weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
+        meridiemParse: /vm|nm/i,
+        isPM : function (input) {
+            return /^nm$/i.test(input);
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'vm' : 'VM';
+            } else {
+                return isLower ? 'nm' : 'NM';
+            }
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Vandag om] LT',
+            nextDay : '[Môre om] LT',
+            nextWeek : 'dddd [om] LT',
+            lastDay : '[Gister om] LT',
+            lastWeek : '[Laas] dddd [om] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'oor %s',
+            past : '%s gelede',
+            s : '\'n paar sekondes',
+            ss : '%d sekondes',
+            m : '\'n minuut',
+            mm : '%d minute',
+            h : '\'n uur',
+            hh : '%d ure',
+            d : '\'n dag',
+            dd : '%d dae',
+            M : '\'n maand',
+            MM : '%d maande',
+            y : '\'n jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
+        },
+        week : {
+            dow : 1, // Maandag is die eerste dag van die week.
+            doy : 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ar-dz', {
+        months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ar-kw', {
+        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap = {
+        '1': '1',
+        '2': '2',
+        '3': '3',
+        '4': '4',
+        '5': '5',
+        '6': '6',
+        '7': '7',
+        '8': '8',
+        '9': '9',
+        '0': '0'
+    }, pluralForm = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm(number),
+                str = plurals[u][pluralForm(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months$1 = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر'
+    ];
+
+    hooks.defineLocale('ar-ly', {
+        months : months$1,
+        monthsShort : months$1,
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/\u200FM/\u200FYYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم عند الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عند الساعة] LT',
+            lastDay: '[أمس عند الساعة] LT',
+            lastWeek: 'dddd [عند الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'بعد %s',
+            past : 'منذ %s',
+            s : pluralize('s'),
+            ss : pluralize('s'),
+            m : pluralize('m'),
+            mm : pluralize('m'),
+            h : pluralize('h'),
+            hh : pluralize('h'),
+            d : pluralize('d'),
+            dd : pluralize('d'),
+            M : pluralize('M'),
+            MM : pluralize('M'),
+            y : pluralize('y'),
+            yy : pluralize('y')
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ar-ma', {
+        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$1 = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    };
+
+    hooks.defineLocale('ar-sa', {
+        months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'في %s',
+            past : 'منذ %s',
+            s : 'ثوان',
+            ss : '%d ثانية',
+            m : 'دقيقة',
+            mm : '%d دقائق',
+            h : 'ساعة',
+            hh : '%d ساعات',
+            d : 'يوم',
+            dd : '%d أيام',
+            M : 'شهر',
+            MM : '%d أشهر',
+            y : 'سنة',
+            yy : '%d سنوات'
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$1[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ar-tn', {
+        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[اليوم على الساعة] LT',
+            nextDay: '[غدا على الساعة] LT',
+            nextWeek: 'dddd [على الساعة] LT',
+            lastDay: '[أمس على الساعة] LT',
+            lastWeek: 'dddd [على الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'في %s',
+            past: 'منذ %s',
+            s: 'ثوان',
+            ss : '%d ثانية',
+            m: 'دقيقة',
+            mm: '%d دقائق',
+            h: 'ساعة',
+            hh: '%d ساعات',
+            d: 'يوم',
+            dd: '%d أيام',
+            M: 'شهر',
+            MM: '%d أشهر',
+            y: 'سنة',
+            yy: '%d سنوات'
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$2 = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap$1 = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    }, pluralForm$1 = function (n) {
+        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+    }, plurals$1 = {
+        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+    }, pluralize$1 = function (u) {
+        return function (number, withoutSuffix, string, isFuture) {
+            var f = pluralForm$1(number),
+                str = plurals$1[u][pluralForm$1(number)];
+            if (f === 2) {
+                str = str[withoutSuffix ? 0 : 1];
+            }
+            return str.replace(/%d/i, number);
+        };
+    }, months$2 = [
+        'يناير',
+        'فبراير',
+        'مارس',
+        'أبريل',
+        'مايو',
+        'يونيو',
+        'يوليو',
+        'أغسطس',
+        'سبتمبر',
+        'أكتوبر',
+        'نوفمبر',
+        'ديسمبر'
+    ];
+
+    hooks.defineLocale('ar', {
+        months : months$2,
+        monthsShort : months$2,
+        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/\u200FM/\u200FYYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ص|م/,
+        isPM : function (input) {
+            return 'Ù…' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ص';
+            } else {
+                return 'Ù…';
+            }
+        },
+        calendar : {
+            sameDay: '[اليوم عند الساعة] LT',
+            nextDay: '[غدًا عند الساعة] LT',
+            nextWeek: 'dddd [عند الساعة] LT',
+            lastDay: '[أمس عند الساعة] LT',
+            lastWeek: 'dddd [عند الساعة] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'بعد %s',
+            past : 'منذ %s',
+            s : pluralize$1('s'),
+            ss : pluralize$1('s'),
+            m : pluralize$1('m'),
+            mm : pluralize$1('m'),
+            h : pluralize$1('h'),
+            hh : pluralize$1('h'),
+            d : pluralize$1('d'),
+            dd : pluralize$1('d'),
+            M : pluralize$1('M'),
+            MM : pluralize$1('M'),
+            y : pluralize$1('y'),
+            yy : pluralize$1('y')
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap$1[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$2[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes = {
+        1: '-inci',
+        5: '-inci',
+        8: '-inci',
+        70: '-inci',
+        80: '-inci',
+        2: '-nci',
+        7: '-nci',
+        20: '-nci',
+        50: '-nci',
+        3: '-üncü',
+        4: '-üncü',
+        100: '-üncü',
+        6: '-ncı',
+        9: '-uncu',
+        10: '-uncu',
+        30: '-uncu',
+        60: '-ıncı',
+        90: '-ıncı'
+    };
+
+    hooks.defineLocale('az', {
+        months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
+        monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
+        weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
+        weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
+        weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[bugün saat] LT',
+            nextDay : '[sabah saat] LT',
+            nextWeek : '[gələn həftə] dddd [saat] LT',
+            lastDay : '[dünən] LT',
+            lastWeek : '[keçən həftə] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s sonra',
+            past : '%s əvvəl',
+            s : 'birneçə saniyə',
+            ss : '%d saniyÉ™',
+            m : 'bir dəqiqə',
+            mm : '%d dəqiqə',
+            h : 'bir saat',
+            hh : '%d saat',
+            d : 'bir gün',
+            dd : '%d gün',
+            M : 'bir ay',
+            MM : '%d ay',
+            y : 'bir il',
+            yy : '%d il'
+        },
+        meridiemParse: /gecə|səhər|gündüz|axşam/,
+        isPM : function (input) {
+            return /^(gündüz|axşam)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'gecÉ™';
+            } else if (hour < 12) {
+                return 'səhər';
+            } else if (hour < 17) {
+                return 'gündüz';
+            } else {
+                return 'axÅŸam';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
+        ordinal : function (number) {
+            if (number === 0) {  // special case for zero
+                return number + '-ıncı';
+            }
+            var a = number % 10,
+                b = number % 100 - a,
+                c = number >= 100 ? 100 : null;
+            return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
+            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
+            'dd': 'дзень_дні_дзён',
+            'MM': 'месяц_месяцы_месяцаў',
+            'yy': 'год_гады_гадоў'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'хвіліна' : 'хвіліну';
+        }
+        else if (key === 'h') {
+            return withoutSuffix ? 'гадзіна' : 'гадзіну';
+        }
+        else {
+            return number + ' ' + plural(format[key], +number);
+        }
+    }
+
+    hooks.defineLocale('be', {
+        months : {
+            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
+            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
+        },
+        monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
+        weekdays : {
+            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
+            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
+            isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
+        },
+        weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+        weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY г.',
+            LLL : 'D MMMM YYYY г., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY г., HH:mm'
+        },
+        calendar : {
+            sameDay: '[Сёння ў] LT',
+            nextDay: '[Заўтра ў] LT',
+            lastDay: '[Учора ў] LT',
+            nextWeek: function () {
+                return '[У] dddd [ў] LT';
+            },
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[У мінулую] dddd [ў] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[У мінулы] dddd [ў] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'праз %s',
+            past : '%s таму',
+            s : 'некалькі секунд',
+            m : relativeTimeWithPlural,
+            mm : relativeTimeWithPlural,
+            h : relativeTimeWithPlural,
+            hh : relativeTimeWithPlural,
+            d : 'дзень',
+            dd : relativeTimeWithPlural,
+            M : 'месяц',
+            MM : relativeTimeWithPlural,
+            y : 'год',
+            yy : relativeTimeWithPlural
+        },
+        meridiemParse: /ночы|раніцы|дня|вечара/,
+        isPM : function (input) {
+            return /^(дня|вечара)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночы';
+            } else if (hour < 12) {
+                return 'раніцы';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечара';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                case 'w':
+                case 'W':
+                    return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹';
+                case 'D':
+                    return number + '-га';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('bg', {
+        months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
+        monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
+        weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
+        weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
+        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'D.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay : '[Днес в] LT',
+            nextDay : '[Утре в] LT',
+            nextWeek : 'dddd [в] LT',
+            lastDay : '[Вчера в] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 6:
+                        return '[В изминалата] dddd [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[В изминалия] dddd [в] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'след %s',
+            past : 'преди %s',
+            s : 'няколко секунди',
+            ss : '%d секунди',
+            m : 'минута',
+            mm : '%d минути',
+            h : 'час',
+            hh : '%d часа',
+            d : 'ден',
+            dd : '%d дни',
+            M : 'месец',
+            MM : '%d месеца',
+            y : 'година',
+            yy : '%d години'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+        ordinal : function (number) {
+            var lastDigit = number % 10,
+                last2Digits = number % 100;
+            if (number === 0) {
+                return number + '-ев';
+            } else if (last2Digits === 0) {
+                return number + '-ен';
+            } else if (last2Digits > 10 && last2Digits < 20) {
+                return number + '-ти';
+            } else if (lastDigit === 1) {
+                return number + '-ви';
+            } else if (lastDigit === 2) {
+                return number + '-ри';
+            } else if (lastDigit === 7 || lastDigit === 8) {
+                return number + '-ми';
+            } else {
+                return number + '-ти';
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('bm', {
+        months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
+        monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
+        weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
+        weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
+        weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'MMMM [tile] D [san] YYYY',
+            LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+            LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
+        },
+        calendar : {
+            sameDay : '[Bi lɛrɛ] LT',
+            nextDay : '[Sini lɛrɛ] LT',
+            nextWeek : 'dddd [don lɛrɛ] LT',
+            lastDay : '[Kunu lɛrɛ] LT',
+            lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s kɔnɔ',
+            past : 'a bÉ› %s bÉ”',
+            s : 'sanga dama dama',
+            ss : 'sekondi %d',
+            m : 'miniti kelen',
+            mm : 'miniti %d',
+            h : 'lɛrɛ kelen',
+            hh : 'lɛrɛ %d',
+            d : 'tile kelen',
+            dd : 'tile %d',
+            M : 'kalo kelen',
+            MM : 'kalo %d',
+            y : 'san kelen',
+            yy : 'san %d'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$3 = {
+        '1': 'à§§',
+        '2': '২',
+        '3': 'à§©',
+        '4': '৪',
+        '5': 'à§«',
+        '6': '৬',
+        '7': 'à§­',
+        '8': 'à§®',
+        '9': '৯',
+        '0': '০'
+    },
+    numberMap$2 = {
+        'à§§': '1',
+        '২': '2',
+        'à§©': '3',
+        '৪': '4',
+        'à§«': '5',
+        '৬': '6',
+        'à§­': '7',
+        'à§®': '8',
+        '৯': '9',
+        '০': '0'
+    };
+
+    hooks.defineLocale('bn', {
+        months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
+        monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
+        weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
+        weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
+        weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm সময়',
+            LTS : 'A h:mm:ss সময়',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm সময়',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
+        },
+        calendar : {
+            sameDay : '[আজ] LT',
+            nextDay : '[আগামীকাল] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[গতকাল] LT',
+            lastWeek : '[গত] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s পরে',
+            past : '%s আগে',
+            s : 'কয়েক সেকেন্ড',
+            ss : '%d সেকেন্ড',
+            m : 'এক মিনিট',
+            mm : '%d মিনিট',
+            h : 'এক ঘন্টা',
+            hh : '%d ঘন্টা',
+            d : 'এক দিন',
+            dd : '%d দিন',
+            M : 'এক মাস',
+            MM : '%d মাস',
+            y : 'এক বছর',
+            yy : '%d বছর'
+        },
+        preparse: function (string) {
+            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
+                return numberMap$2[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$3[match];
+            });
+        },
+        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'রাত' && hour >= 4) ||
+                    (meridiem === 'দুপুর' && hour < 5) ||
+                    meridiem === 'বিকাল') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'রাত';
+            } else if (hour < 10) {
+                return 'সকাল';
+            } else if (hour < 17) {
+                return 'দুপুর';
+            } else if (hour < 20) {
+                return 'বিকাল';
+            } else {
+                return 'রাত';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$4 = {
+        '1': '༡',
+        '2': '༢',
+        '3': '༣',
+        '4': '༤',
+        '5': '༥',
+        '6': '༦',
+        '7': '༧',
+        '8': '༨',
+        '9': '༩',
+        '0': '༠'
+    },
+    numberMap$3 = {
+        '༡': '1',
+        '༢': '2',
+        '༣': '3',
+        '༤': '4',
+        '༥': '5',
+        '༦': '6',
+        '༧': '7',
+        '༨': '8',
+        '༩': '9',
+        '༠': '0'
+    };
+
+    hooks.defineLocale('bo', {
+        months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+        monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+        weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
+        weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+        weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[དི་རིང] LT',
+            nextDay : '[སང་ཉིན] LT',
+            nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
+            lastDay : '[ཁ་སང] LT',
+            lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ལ་',
+            past : '%s སྔན་ལ',
+            s : 'ལམ་སང',
+            ss : '%d སྐར་ཆ།',
+            m : 'སྐར་མ་གཅིག',
+            mm : '%d སྐར་མ',
+            h : 'ཆུ་ཚོད་གཅིག',
+            hh : '%d ཆུ་ཚོད',
+            d : 'ཉིན་གཅིག',
+            dd : '%d ཉིན་',
+            M : 'ཟླ་བ་གཅིག',
+            MM : '%d ཟླ་བ',
+            y : 'ལོ་གཅིག',
+            yy : '%d ལོ'
+        },
+        preparse: function (string) {
+            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
+                return numberMap$3[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$4[match];
+            });
+        },
+        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
+                    (meridiem === 'ཉིན་གུང' && hour < 5) ||
+                    meridiem === 'དགོང་དག') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'མཚན་མོ';
+            } else if (hour < 10) {
+                return 'ཞོགས་ཀས';
+            } else if (hour < 17) {
+                return 'ཉིན་གུང';
+            } else if (hour < 20) {
+                return 'དགོང་དག';
+            } else {
+                return 'མཚན་མོ';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function relativeTimeWithMutation(number, withoutSuffix, key) {
+        var format = {
+            'mm': 'munutenn',
+            'MM': 'miz',
+            'dd': 'devezh'
+        };
+        return number + ' ' + mutation(format[key], number);
+    }
+    function specialMutationForYears(number) {
+        switch (lastNumber(number)) {
+            case 1:
+            case 3:
+            case 4:
+            case 5:
+            case 9:
+                return number + ' bloaz';
+            default:
+                return number + ' vloaz';
+        }
+    }
+    function lastNumber(number) {
+        if (number > 9) {
+            return lastNumber(number % 10);
+        }
+        return number;
+    }
+    function mutation(text, number) {
+        if (number === 2) {
+            return softMutation(text);
+        }
+        return text;
+    }
+    function softMutation(text) {
+        var mutationTable = {
+            'm': 'v',
+            'b': 'v',
+            'd': 'z'
+        };
+        if (mutationTable[text.charAt(0)] === undefined) {
+            return text;
+        }
+        return mutationTable[text.charAt(0)] + text.substring(1);
+    }
+
+    hooks.defineLocale('br', {
+        months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
+        monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
+        weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
+        weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
+        weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h[e]mm A',
+            LTS : 'h[e]mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D [a viz] MMMM YYYY',
+            LLL : 'D [a viz] MMMM YYYY h[e]mm A',
+            LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
+        },
+        calendar : {
+            sameDay : '[Hiziv da] LT',
+            nextDay : '[Warc\'hoazh da] LT',
+            nextWeek : 'dddd [da] LT',
+            lastDay : '[Dec\'h da] LT',
+            lastWeek : 'dddd [paset da] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'a-benn %s',
+            past : '%s \'zo',
+            s : 'un nebeud segondennoù',
+            ss : '%d eilenn',
+            m : 'ur vunutenn',
+            mm : relativeTimeWithMutation,
+            h : 'un eur',
+            hh : '%d eur',
+            d : 'un devezh',
+            dd : relativeTimeWithMutation,
+            M : 'ur miz',
+            MM : relativeTimeWithMutation,
+            y : 'ur bloaz',
+            yy : specialMutationForYears
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
+        ordinal : function (number) {
+            var output = (number === 1) ? 'añ' : 'vet';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function translate(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                if (number === 1) {
+                    result += 'sekunda';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sekunde';
+                } else {
+                    result += 'sekundi';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+            case 'mm':
+                if (number === 1) {
+                    result += 'minuta';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'minute';
+                } else {
+                    result += 'minuta';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            case 'hh':
+                if (number === 1) {
+                    result += 'sat';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sata';
+                } else {
+                    result += 'sati';
+                }
+                return result;
+            case 'dd':
+                if (number === 1) {
+                    result += 'dan';
+                } else {
+                    result += 'dana';
+                }
+                return result;
+            case 'MM':
+                if (number === 1) {
+                    result += 'mjesec';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'mjeseca';
+                } else {
+                    result += 'mjeseci';
+                }
+                return result;
+            case 'yy':
+                if (number === 1) {
+                    result += 'godina';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'godine';
+                } else {
+                    result += 'godina';
+                }
+                return result;
+        }
+    }
+
+    hooks.defineLocale('bs', {
+        months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danas u] LT',
+            nextDay  : '[sutra u] LT',
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[jučer u] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                        return '[prošlu] dddd [u] LT';
+                    case 6:
+                        return '[prošle] [subote] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prošli] dddd [u] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'par sekundi',
+            ss     : translate,
+            m      : translate,
+            mm     : translate,
+            h      : translate,
+            hh     : translate,
+            d      : 'dan',
+            dd     : translate,
+            M      : 'mjesec',
+            MM     : translate,
+            y      : 'godinu',
+            yy     : translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ca', {
+        months : {
+            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
+            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('_'),
+            isFormat: /D[oD]?(\s)+MMMM/
+        },
+        monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
+        weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
+        weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM [de] YYYY',
+            ll : 'D MMM YYYY',
+            LLL : 'D MMMM [de] YYYY [a les] H:mm',
+            lll : 'D MMM YYYY, H:mm',
+            LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
+            llll : 'ddd D MMM YYYY, H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            nextDay : function () {
+                return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            lastDay : function () {
+                return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'd\'aquí %s',
+            past : 'fa %s',
+            s : 'uns segons',
+            ss : '%d segons',
+            m : 'un minut',
+            mm : '%d minuts',
+            h : 'una hora',
+            hh : '%d hores',
+            d : 'un dia',
+            dd : '%d dies',
+            M : 'un mes',
+            MM : '%d mesos',
+            y : 'un any',
+            yy : '%d anys'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
+        ordinal : function (number, period) {
+            var output = (number === 1) ? 'r' :
+                (number === 2) ? 'n' :
+                (number === 3) ? 'r' :
+                (number === 4) ? 't' : 'è';
+            if (period === 'w' || period === 'W') {
+                output = 'a';
+            }
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$3 = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
+        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
+
+    var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];
+    // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+    // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+    var monthsRegex$1 = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
+
+    function plural$1(n) {
+        return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
+    }
+    function translate$1(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':  // a few seconds / in a few seconds / a few seconds ago
+                return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
+            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'sekundy' : 'sekund');
+                } else {
+                    return result + 'sekundami';
+                }
+                break;
+            case 'm':  // a minute / in a minute / a minute ago
+                return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
+            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'minuty' : 'minut');
+                } else {
+                    return result + 'minutami';
+                }
+                break;
+            case 'h':  // an hour / in an hour / an hour ago
+                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+            case 'hh': // 9 hours / in 9 hours / 9 hours ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'hodiny' : 'hodin');
+                } else {
+                    return result + 'hodinami';
+                }
+                break;
+            case 'd':  // a day / in a day / a day ago
+                return (withoutSuffix || isFuture) ? 'den' : 'dnem';
+            case 'dd': // 9 days / in 9 days / 9 days ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'dny' : 'dní');
+                } else {
+                    return result + 'dny';
+                }
+                break;
+            case 'M':  // a month / in a month / a month ago
+                return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
+            case 'MM': // 9 months / in 9 months / 9 months ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'měsíce' : 'měsíců');
+                } else {
+                    return result + 'měsíci';
+                }
+                break;
+            case 'y':  // a year / in a year / a year ago
+                return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
+            case 'yy': // 9 years / in 9 years / 9 years ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$1(number) ? 'roky' : 'let');
+                } else {
+                    return result + 'lety';
+                }
+                break;
+        }
+    }
+
+    hooks.defineLocale('cs', {
+        months : months$3,
+        monthsShort : monthsShort,
+        monthsRegex : monthsRegex$1,
+        monthsShortRegex : monthsRegex$1,
+        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+        monthsStrictRegex : /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
+        monthsShortStrictRegex : /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
+        monthsParse : monthsParse,
+        longMonthsParse : monthsParse,
+        shortMonthsParse : monthsParse,
+        weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
+        weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
+        weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
+        longDateFormat : {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd D. MMMM YYYY H:mm',
+            l : 'D. M. YYYY'
+        },
+        calendar : {
+            sameDay: '[dnes v] LT',
+            nextDay: '[zítra v] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v neděli v] LT';
+                    case 1:
+                    case 2:
+                        return '[v] dddd [v] LT';
+                    case 3:
+                        return '[ve středu v] LT';
+                    case 4:
+                        return '[ve čtvrtek v] LT';
+                    case 5:
+                        return '[v pátek v] LT';
+                    case 6:
+                        return '[v sobotu v] LT';
+                }
+            },
+            lastDay: '[včera v] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[minulou neděli v] LT';
+                    case 1:
+                    case 2:
+                        return '[minulé] dddd [v] LT';
+                    case 3:
+                        return '[minulou středu v] LT';
+                    case 4:
+                    case 5:
+                        return '[minulý] dddd [v] LT';
+                    case 6:
+                        return '[minulou sobotu v] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : 'před %s',
+            s : translate$1,
+            ss : translate$1,
+            m : translate$1,
+            mm : translate$1,
+            h : translate$1,
+            hh : translate$1,
+            d : translate$1,
+            dd : translate$1,
+            M : translate$1,
+            MM : translate$1,
+            y : translate$1,
+            yy : translate$1
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('cv', {
+        months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
+        monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
+        weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
+        weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
+        weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+            LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+            LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
+        },
+        calendar : {
+            sameDay: '[Паян] LT [сехетре]',
+            nextDay: '[Ыран] LT [сехетре]',
+            lastDay: '[Ӗнер] LT [сехетре]',
+            nextWeek: '[Ҫитес] dddd LT [сехетре]',
+            lastWeek: '[Иртнӗ] dddd LT [сехетре]',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (output) {
+                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
+                return output + affix;
+            },
+            past : '%s каялла',
+            s : 'пӗр-ик ҫеккунт',
+            ss : '%d ҫеккунт',
+            m : 'пӗр минут',
+            mm : '%d минут',
+            h : 'пӗр сехет',
+            hh : '%d сехет',
+            d : 'пӗр кун',
+            dd : '%d кун',
+            M : 'пӗр уйӑх',
+            MM : '%d уйӑх',
+            y : 'пӗр ҫул',
+            yy : '%d ҫул'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
+        ordinal : '%d-мӗш',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('cy', {
+        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
+        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
+        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
+        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
+        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
+        weekdaysParseExact : true,
+        // time formats are the same as en-gb
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[Heddiw am] LT',
+            nextDay: '[Yfory am] LT',
+            nextWeek: 'dddd [am] LT',
+            lastDay: '[Ddoe am] LT',
+            lastWeek: 'dddd [diwethaf am] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'mewn %s',
+            past: '%s yn ôl',
+            s: 'ychydig eiliadau',
+            ss: '%d eiliad',
+            m: 'munud',
+            mm: '%d munud',
+            h: 'awr',
+            hh: '%d awr',
+            d: 'diwrnod',
+            dd: '%d diwrnod',
+            M: 'mis',
+            MM: '%d mis',
+            y: 'blwyddyn',
+            yy: '%d flynedd'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
+        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
+        ordinal: function (number) {
+            var b = number,
+                output = '',
+                lookup = [
+                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
+                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
+                ];
+            if (b > 20) {
+                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
+                    output = 'fed'; // not 30ain, 70ain or 90ain
+                } else {
+                    output = 'ain';
+                }
+            } else if (b > 0) {
+                output = lookup[b];
+            }
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('da', {
+        months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+        weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
+        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay : '[i dag kl.] LT',
+            nextDay : '[i morgen kl.] LT',
+            nextWeek : 'på dddd [kl.] LT',
+            lastDay : '[i går kl.] LT',
+            lastWeek : '[i] dddd[s kl.] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s siden',
+            s : 'få sekunder',
+            ss : '%d sekunder',
+            m : 'et minut',
+            mm : '%d minutter',
+            h : 'en time',
+            hh : '%d timer',
+            d : 'en dag',
+            dd : '%d dage',
+            M : 'en måned',
+            MM : '%d måneder',
+            y : 'et år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    hooks.defineLocale('de-at', {
+        months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime,
+            mm : '%d Minuten',
+            h : processRelativeTime,
+            hh : '%d Stunden',
+            d : processRelativeTime,
+            dd : processRelativeTime,
+            M : processRelativeTime,
+            MM : processRelativeTime,
+            y : processRelativeTime,
+            yy : processRelativeTime
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$1(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    hooks.defineLocale('de-ch', {
+        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime$1,
+            mm : '%d Minuten',
+            h : processRelativeTime$1,
+            hh : '%d Stunden',
+            d : processRelativeTime$1,
+            dd : processRelativeTime$1,
+            M : processRelativeTime$1,
+            MM : processRelativeTime$1,
+            y : processRelativeTime$1,
+            yy : processRelativeTime$1
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$2(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eine Minute', 'einer Minute'],
+            'h': ['eine Stunde', 'einer Stunde'],
+            'd': ['ein Tag', 'einem Tag'],
+            'dd': [number + ' Tage', number + ' Tagen'],
+            'M': ['ein Monat', 'einem Monat'],
+            'MM': [number + ' Monate', number + ' Monaten'],
+            'y': ['ein Jahr', 'einem Jahr'],
+            'yy': [number + ' Jahre', number + ' Jahren']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    hooks.defineLocale('de', {
+        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY HH:mm',
+            LLLL : 'dddd, D. MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[heute um] LT [Uhr]',
+            sameElse: 'L',
+            nextDay: '[morgen um] LT [Uhr]',
+            nextWeek: 'dddd [um] LT [Uhr]',
+            lastDay: '[gestern um] LT [Uhr]',
+            lastWeek: '[letzten] dddd [um] LT [Uhr]'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : 'vor %s',
+            s : 'ein paar Sekunden',
+            ss : '%d Sekunden',
+            m : processRelativeTime$2,
+            mm : '%d Minuten',
+            h : processRelativeTime$2,
+            hh : '%d Stunden',
+            d : processRelativeTime$2,
+            dd : processRelativeTime$2,
+            M : processRelativeTime$2,
+            MM : processRelativeTime$2,
+            y : processRelativeTime$2,
+            yy : processRelativeTime$2
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$4 = [
+        'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©',
+        'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©',
+        'Þ‰Þ§ÞƒÞ¨Þ—Þª',
+        'އޭޕްރީލު',
+        'Þ‰Þ­',
+        'Þ–Þ«Þ‚Þ°',
+        'ޖުލައި',
+        'އޯގަސްޓު',
+        'ސެޕްޓެމްބަރު',
+        'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª',
+        'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',
+        'ޑިސެމްބަރު'
+    ], weekdays = [
+        'އާދިއްތަ',
+        'Þ€Þ¯Þ‰Þ¦',
+        'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦',
+        'Þ„ÞªÞ‹Þ¦',
+        'ބުރާސްފަތި',
+        'Þ€ÞªÞ†ÞªÞƒÞª',
+        'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª'
+    ];
+
+    hooks.defineLocale('dv', {
+        months : months$4,
+        monthsShort : months$4,
+        weekdays : weekdays,
+        weekdaysShort : weekdays,
+        weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'),
+        longDateFormat : {
+
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'D/M/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /Þ‰Þ†|Þ‰ÞŠ/,
+        isPM : function (input) {
+            return 'Þ‰ÞŠ' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'Þ‰Þ†';
+            } else {
+                return 'Þ‰ÞŠ';
+            }
+        },
+        calendar : {
+            sameDay : '[Þ‰Þ¨Þ‡Þ¦Þ‹Þª] LT',
+            nextDay : '[Þ‰Þ§Þ‹Þ¦Þ‰Þ§] LT',
+            nextWeek : 'dddd LT',
+            lastDay : '[Þ‡Þ¨Þ‡Þ°Þ”Þ¬] LT',
+            lastWeek : '[ފާއިތުވި] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ތެރޭގައި %s',
+            past : 'Þ†ÞªÞƒÞ¨Þ‚Þ° %s',
+            s : 'ސިކުންތުކޮޅެއް',
+            ss : 'd% ސިކުންތު',
+            m : 'Þ‰Þ¨Þ‚Þ¨Þ“Þ¬Þ‡Þ°',
+            mm : 'Þ‰Þ¨Þ‚Þ¨Þ“Þª %d',
+            h : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°',
+            hh : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª %d',
+            d : 'Þ‹ÞªÞˆÞ¦Þ€Þ¬Þ‡Þ°',
+            dd : 'ދުވަސް %d',
+            M : 'Þ‰Þ¦Þ€Þ¬Þ‡Þ°',
+            MM : 'މަސް %d',
+            y : 'Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°',
+            yy : 'Þ‡Þ¦Þ€Þ¦ÞƒÞª %d'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 7,  // Sunday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('el', {
+        monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
+        monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
+        months : function (momentToFormat, format) {
+            if (!momentToFormat) {
+                return this._monthsNominativeEl;
+            } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
+                return this._monthsGenitiveEl[momentToFormat.month()];
+            } else {
+                return this._monthsNominativeEl[momentToFormat.month()];
+            }
+        },
+        monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
+        weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
+        weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
+        weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'μμ' : 'ΜΜ';
+            } else {
+                return isLower ? 'πμ' : 'ΠΜ';
+            }
+        },
+        isPM : function (input) {
+            return ((input + '').toLowerCase()[0] === 'μ');
+        },
+        meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendarEl : {
+            sameDay : '[Σήμερα {}] LT',
+            nextDay : '[Αύριο {}] LT',
+            nextWeek : 'dddd [{}] LT',
+            lastDay : '[Χθες {}] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 6:
+                        return '[το προηγούμενο] dddd [{}] LT';
+                    default:
+                        return '[την προηγούμενη] dddd [{}] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        calendar : function (key, mom) {
+            var output = this._calendarEl[key],
+                hours = mom && mom.hours();
+            if (isFunction(output)) {
+                output = output.apply(mom);
+            }
+            return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
+        },
+        relativeTime : {
+            future : 'σε %s',
+            past : '%s πριν',
+            s : 'λίγα δευτερόλεπτα',
+            ss : '%d δευτερόλεπτα',
+            m : 'ένα λεπτό',
+            mm : '%d λεπτά',
+            h : 'μία ώρα',
+            hh : '%d ώρες',
+            d : 'μία μέρα',
+            dd : '%d μέρες',
+            M : 'ένας μήνας',
+            MM : '%d μήνες',
+            y : 'ένας χρόνος',
+            yy : '%d χρόνια'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}η/,
+        ordinal: '%dη',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4st is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-SG', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-au', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-ca', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'YYYY-MM-DD',
+            LL : 'MMMM D, YYYY',
+            LLL : 'MMMM D, YYYY h:mm A',
+            LLLL : 'dddd, MMMM D, YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-gb', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-ie', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-il', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('en-nz', {
+        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Today at] LT',
+            nextDay : '[Tomorrow at] LT',
+            nextWeek : 'dddd [at] LT',
+            lastDay : '[Yesterday at] LT',
+            lastWeek : '[Last] dddd [at] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'in %s',
+            past : '%s ago',
+            s : 'a few seconds',
+            ss : '%d seconds',
+            m : 'a minute',
+            mm : '%d minutes',
+            h : 'an hour',
+            hh : '%d hours',
+            d : 'a day',
+            dd : '%d days',
+            M : 'a month',
+            MM : '%d months',
+            y : 'a year',
+            yy : '%d years'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('eo', {
+        months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'),
+        weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
+        weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D[-a de] MMMM, YYYY',
+            LLL : 'D[-a de] MMMM, YYYY HH:mm',
+            LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
+        },
+        meridiemParse: /[ap]\.t\.m/i,
+        isPM: function (input) {
+            return input.charAt(0).toLowerCase() === 'p';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'p.t.m.' : 'P.T.M.';
+            } else {
+                return isLower ? 'a.t.m.' : 'A.T.M.';
+            }
+        },
+        calendar : {
+            sameDay : '[HodiaÅ­ je] LT',
+            nextDay : '[MorgaÅ­ je] LT',
+            nextWeek : 'dddd [je] LT',
+            lastDay : '[HieraÅ­ je] LT',
+            lastWeek : '[pasinta] dddd [je] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'post %s',
+            past : 'antaÅ­ %s',
+            s : 'sekundoj',
+            ss : '%d sekundoj',
+            m : 'minuto',
+            mm : '%d minutoj',
+            h : 'horo',
+            hh : '%d horoj',
+            d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
+            dd : '%d tagoj',
+            M : 'monato',
+            MM : '%d monatoj',
+            y : 'jaro',
+            yy : '%d jaroj'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}a/,
+        ordinal : '%da',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex$2 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+    hooks.defineLocale('es-do', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort$1[m.month()];
+            } else {
+                return monthsShortDot[m.month()];
+            }
+        },
+        monthsRegex: monthsRegex$2,
+        monthsShortRegex: monthsRegex$2,
+        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse: monthsParse$1,
+        longMonthsParse: monthsParse$1,
+        shortMonthsParse: monthsParse$1,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY h:mm A',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+    hooks.defineLocale('es-us', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot$1;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort$2[m.month()];
+            } else {
+                return monthsShortDot$1[m.month()];
+            }
+        },
+        monthsRegex: monthsRegex$3,
+        monthsShortRegex: monthsRegex$3,
+        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse: monthsParse$2,
+        longMonthsParse: monthsParse$2,
+        shortMonthsParse: monthsParse$2,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'MM/DD/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY h:mm A',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+        monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+    var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+    var monthsRegex$4 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;
+
+    hooks.defineLocale('es', {
+        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortDot$2;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShort$3[m.month()];
+            } else {
+                return monthsShortDot$2[m.month()];
+            }
+        },
+        monthsRegex : monthsRegex$4,
+        monthsShortRegex : monthsRegex$4,
+        monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+        monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+        monthsParse : monthsParse$3,
+        longMonthsParse : monthsParse$3,
+        shortMonthsParse : monthsParse$3,
+        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY H:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastDay : function () {
+                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            lastWeek : function () {
+                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'en %s',
+            past : 'hace %s',
+            s : 'unos segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'una hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un año',
+            yy : '%d años'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$3(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
+            'ss': [number + 'sekundi', number + 'sekundit'],
+            'm' : ['ühe minuti', 'üks minut'],
+            'mm': [number + ' minuti', number + ' minutit'],
+            'h' : ['ühe tunni', 'tund aega', 'üks tund'],
+            'hh': [number + ' tunni', number + ' tundi'],
+            'd' : ['ühe päeva', 'üks päev'],
+            'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
+            'MM': [number + ' kuu', number + ' kuud'],
+            'y' : ['ühe aasta', 'aasta', 'üks aasta'],
+            'yy': [number + ' aasta', number + ' aastat']
+        };
+        if (withoutSuffix) {
+            return format[key][2] ? format[key][2] : format[key][1];
+        }
+        return isFuture ? format[key][0] : format[key][1];
+    }
+
+    hooks.defineLocale('et', {
+        months        : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
+        monthsShort   : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
+        weekdays      : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
+        weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
+        weekdaysMin   : 'P_E_T_K_N_R_L'.split('_'),
+        longDateFormat : {
+            LT   : 'H:mm',
+            LTS : 'H:mm:ss',
+            L    : 'DD.MM.YYYY',
+            LL   : 'D. MMMM YYYY',
+            LLL  : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[Täna,] LT',
+            nextDay  : '[Homme,] LT',
+            nextWeek : '[Järgmine] dddd LT',
+            lastDay  : '[Eile,] LT',
+            lastWeek : '[Eelmine] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s pärast',
+            past   : '%s tagasi',
+            s      : processRelativeTime$3,
+            ss     : processRelativeTime$3,
+            m      : processRelativeTime$3,
+            mm     : processRelativeTime$3,
+            h      : processRelativeTime$3,
+            hh     : processRelativeTime$3,
+            d      : processRelativeTime$3,
+            dd     : '%d päeva',
+            M      : processRelativeTime$3,
+            MM     : processRelativeTime$3,
+            y      : processRelativeTime$3,
+            yy     : processRelativeTime$3
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('eu', {
+        months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
+        monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
+        weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
+        weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY[ko] MMMM[ren] D[a]',
+            LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+            LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+            l : 'YYYY-M-D',
+            ll : 'YYYY[ko] MMM D[a]',
+            lll : 'YYYY[ko] MMM D[a] HH:mm',
+            llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
+        },
+        calendar : {
+            sameDay : '[gaur] LT[etan]',
+            nextDay : '[bihar] LT[etan]',
+            nextWeek : 'dddd LT[etan]',
+            lastDay : '[atzo] LT[etan]',
+            lastWeek : '[aurreko] dddd LT[etan]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s barru',
+            past : 'duela %s',
+            s : 'segundo batzuk',
+            ss : '%d segundo',
+            m : 'minutu bat',
+            mm : '%d minutu',
+            h : 'ordu bat',
+            hh : '%d ordu',
+            d : 'egun bat',
+            dd : '%d egun',
+            M : 'hilabete bat',
+            MM : '%d hilabete',
+            y : 'urte bat',
+            yy : '%d urte'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$5 = {
+        '1': 'Û±',
+        '2': 'Û²',
+        '3': 'Û³',
+        '4': 'Û´',
+        '5': 'Ûµ',
+        '6': 'Û¶',
+        '7': 'Û·',
+        '8': 'Û¸',
+        '9': 'Û¹',
+        '0': 'Û°'
+    }, numberMap$4 = {
+        'Û±': '1',
+        'Û²': '2',
+        'Û³': '3',
+        'Û´': '4',
+        'Ûµ': '5',
+        'Û¶': '6',
+        'Û·': '7',
+        'Û¸': '8',
+        'Û¹': '9',
+        'Û°': '0'
+    };
+
+    hooks.defineLocale('fa', {
+        months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+        monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+        weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+        weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+        weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /قبل از ظهر|بعد از ظهر/,
+        isPM: function (input) {
+            return /بعد از ظهر/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'قبل از ظهر';
+            } else {
+                return 'بعد از ظهر';
+            }
+        },
+        calendar : {
+            sameDay : '[امروز ساعت] LT',
+            nextDay : '[فردا ساعت] LT',
+            nextWeek : 'dddd [ساعت] LT',
+            lastDay : '[دیروز ساعت] LT',
+            lastWeek : 'dddd [پیش] [ساعت] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'در %s',
+            past : '%s پیش',
+            s : 'چند ثانیه',
+            ss : 'ثانیه d%',
+            m : 'یک دقیقه',
+            mm : '%d دقیقه',
+            h : 'یک ساعت',
+            hh : '%d ساعت',
+            d : 'یک روز',
+            dd : '%d روز',
+            M : 'یک ماه',
+            MM : '%d ماه',
+            y : 'یک سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/[Û°-Û¹]/g, function (match) {
+                return numberMap$4[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$5[match];
+            }).replace(/,/g, '،');
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}Ù…/,
+        ordinal : '%dÙ…',
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12 // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
+        numbersFuture = [
+            'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
+            numbersPast[7], numbersPast[8], numbersPast[9]
+        ];
+    function translate$2(number, withoutSuffix, key, isFuture) {
+        var result = '';
+        switch (key) {
+            case 's':
+                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
+            case 'ss':
+                return isFuture ? 'sekunnin' : 'sekuntia';
+            case 'm':
+                return isFuture ? 'minuutin' : 'minuutti';
+            case 'mm':
+                result = isFuture ? 'minuutin' : 'minuuttia';
+                break;
+            case 'h':
+                return isFuture ? 'tunnin' : 'tunti';
+            case 'hh':
+                result = isFuture ? 'tunnin' : 'tuntia';
+                break;
+            case 'd':
+                return isFuture ? 'päivän' : 'päivä';
+            case 'dd':
+                result = isFuture ? 'päivän' : 'päivää';
+                break;
+            case 'M':
+                return isFuture ? 'kuukauden' : 'kuukausi';
+            case 'MM':
+                result = isFuture ? 'kuukauden' : 'kuukautta';
+                break;
+            case 'y':
+                return isFuture ? 'vuoden' : 'vuosi';
+            case 'yy':
+                result = isFuture ? 'vuoden' : 'vuotta';
+                break;
+        }
+        result = verbalNumber(number, isFuture) + ' ' + result;
+        return result;
+    }
+    function verbalNumber(number, isFuture) {
+        return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
+    }
+
+    hooks.defineLocale('fi', {
+        months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
+        monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
+        weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
+        weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
+        weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD.MM.YYYY',
+            LL : 'Do MMMM[ta] YYYY',
+            LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
+            LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
+            l : 'D.M.YYYY',
+            ll : 'Do MMM YYYY',
+            lll : 'Do MMM YYYY, [klo] HH.mm',
+            llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
+        },
+        calendar : {
+            sameDay : '[tänään] [klo] LT',
+            nextDay : '[huomenna] [klo] LT',
+            nextWeek : 'dddd [klo] LT',
+            lastDay : '[eilen] [klo] LT',
+            lastWeek : '[viime] dddd[na] [klo] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s päästä',
+            past : '%s sitten',
+            s : translate$2,
+            ss : translate$2,
+            m : translate$2,
+            mm : translate$2,
+            h : translate$2,
+            hh : translate$2,
+            d : translate$2,
+            dd : translate$2,
+            M : translate$2,
+            MM : translate$2,
+            y : translate$2,
+            yy : translate$2
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('fo', {
+        months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+        weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
+        weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
+        weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D. MMMM, YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Í dag kl.] LT',
+            nextDay : '[Í morgin kl.] LT',
+            nextWeek : 'dddd [kl.] LT',
+            lastDay : '[Í gjár kl.] LT',
+            lastWeek : '[síðstu] dddd [kl] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'um %s',
+            past : '%s síðani',
+            s : 'fá sekund',
+            ss : '%d sekundir',
+            m : 'ein minuttur',
+            mm : '%d minuttir',
+            h : 'ein tími',
+            hh : '%d tímar',
+            d : 'ein dagur',
+            dd : '%d dagar',
+            M : 'ein mánaður',
+            MM : '%d mánaðir',
+            y : 'eitt ár',
+            yy : '%d ár'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('fr-ca', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'D':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('fr-ch', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'D':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('fr', {
+        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Aujourd’hui à] LT',
+            nextDay : '[Demain à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[Hier à] LT',
+            lastWeek : 'dddd [dernier à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dans %s',
+            past : 'il y a %s',
+            s : 'quelques secondes',
+            ss : '%d secondes',
+            m : 'une minute',
+            mm : '%d minutes',
+            h : 'une heure',
+            hh : '%d heures',
+            d : 'un jour',
+            dd : '%d jours',
+            M : 'un mois',
+            MM : '%d mois',
+            y : 'un an',
+            yy : '%d ans'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // TODO: Return 'e' when day of month > 1. Move this case inside
+                // block for masculine words below.
+                // See https://github.com/moment/moment/issues/3375
+                case 'D':
+                    return number + (number === 1 ? 'er' : '');
+
+                // Words with masculine grammatical gender: mois, trimestre, jour
+                default:
+                case 'M':
+                case 'Q':
+                case 'DDD':
+                case 'd':
+                    return number + (number === 1 ? 'er' : 'e');
+
+                // Words with feminine grammatical gender: semaine
+                case 'w':
+                case 'W':
+                    return number + (number === 1 ? 're' : 'e');
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
+        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
+
+    hooks.defineLocale('fy', {
+        months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots[m.month()];
+            } else {
+                return monthsShortWithDots[m.month()];
+            }
+        },
+        monthsParseExact : true,
+        weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
+        weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
+        weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[hjoed om] LT',
+            nextDay: '[moarn om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[juster om] LT',
+            lastWeek: '[ôfrûne] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'oer %s',
+            past : '%s lyn',
+            s : 'in pear sekonden',
+            ss : '%d sekonden',
+            m : 'ien minút',
+            mm : '%d minuten',
+            h : 'ien oere',
+            hh : '%d oeren',
+            d : 'ien dei',
+            dd : '%d dagen',
+            M : 'ien moanne',
+            MM : '%d moannen',
+            y : 'ien jier',
+            yy : '%d jierren'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+
+    var months$5 = [
+        'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'
+    ];
+
+    var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];
+
+    var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];
+
+    var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];
+
+    var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];
+
+    hooks.defineLocale('ga', {
+        months: months$5,
+        monthsShort: monthsShort$4,
+        monthsParseExact: true,
+        weekdays: weekdays$1,
+        weekdaysShort: weekdaysShort,
+        weekdaysMin: weekdaysMin,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[Inniu ag] LT',
+            nextDay: '[Amárach ag] LT',
+            nextWeek: 'dddd [ag] LT',
+            lastDay: '[Inné aig] LT',
+            lastWeek: 'dddd [seo caite] [ag] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'i %s',
+            past: '%s ó shin',
+            s: 'cúpla soicind',
+            ss: '%d soicind',
+            m: 'nóiméad',
+            mm: '%d nóiméad',
+            h: 'uair an chloig',
+            hh: '%d uair an chloig',
+            d: 'lá',
+            dd: '%d lá',
+            M: 'mí',
+            MM: '%d mí',
+            y: 'bliain',
+            yy: '%d bliain'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
+        ordinal: function (number) {
+            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+            return number + output;
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$6 = [
+        'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
+    ];
+
+    var monthsShort$5 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
+
+    var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
+
+    var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
+
+    var weekdaysMin$1 = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
+
+    hooks.defineLocale('gd', {
+        months : months$6,
+        monthsShort : monthsShort$5,
+        monthsParseExact : true,
+        weekdays : weekdays$2,
+        weekdaysShort : weekdaysShort$1,
+        weekdaysMin : weekdaysMin$1,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[An-diugh aig] LT',
+            nextDay : '[A-màireach aig] LT',
+            nextWeek : 'dddd [aig] LT',
+            lastDay : '[An-dè aig] LT',
+            lastWeek : 'dddd [seo chaidh] [aig] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ann an %s',
+            past : 'bho chionn %s',
+            s : 'beagan diogan',
+            ss : '%d diogan',
+            m : 'mionaid',
+            mm : '%d mionaidean',
+            h : 'uair',
+            hh : '%d uairean',
+            d : 'latha',
+            dd : '%d latha',
+            M : 'mìos',
+            MM : '%d mìosan',
+            y : 'bliadhna',
+            yy : '%d bliadhna'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/,
+        ordinal : function (number) {
+            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('gl', {
+        months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
+        monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
+        weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
+        weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY H:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+        },
+        calendar : {
+            sameDay : function () {
+                return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+            },
+            nextDay : function () {
+                return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+            },
+            nextWeek : function () {
+                return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+            },
+            lastDay : function () {
+                return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
+            },
+            lastWeek : function () {
+                return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : function (str) {
+                if (str.indexOf('un') === 0) {
+                    return 'n' + str;
+                }
+                return 'en ' + str;
+            },
+            past : 'hai %s',
+            s : 'uns segundos',
+            ss : '%d segundos',
+            m : 'un minuto',
+            mm : '%d minutos',
+            h : 'unha hora',
+            hh : '%d horas',
+            d : 'un día',
+            dd : '%d días',
+            M : 'un mes',
+            MM : '%d meses',
+            y : 'un ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$4(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's': ['thodde secondanim', 'thodde second'],
+            'ss': [number + ' secondanim', number + ' second'],
+            'm': ['eka mintan', 'ek minute'],
+            'mm': [number + ' mintanim', number + ' mintam'],
+            'h': ['eka voran', 'ek vor'],
+            'hh': [number + ' voranim', number + ' voram'],
+            'd': ['eka disan', 'ek dis'],
+            'dd': [number + ' disanim', number + ' dis'],
+            'M': ['eka mhoinean', 'ek mhoino'],
+            'MM': [number + ' mhoineanim', number + ' mhoine'],
+            'y': ['eka vorsan', 'ek voros'],
+            'yy': [number + ' vorsanim', number + ' vorsam']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+
+    hooks.defineLocale('gom-latn', {
+        months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
+        monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
+        weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
+        weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'A h:mm [vazta]',
+            LTS : 'A h:mm:ss [vazta]',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY A h:mm [vazta]',
+            LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
+            llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
+        },
+        calendar : {
+            sameDay: '[Aiz] LT',
+            nextDay: '[Faleam] LT',
+            nextWeek: '[Ieta to] dddd[,] LT',
+            lastDay: '[Kal] LT',
+            lastWeek: '[Fatlo] dddd[,] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s',
+            past : '%s adim',
+            s : processRelativeTime$4,
+            ss : processRelativeTime$4,
+            m : processRelativeTime$4,
+            mm : processRelativeTime$4,
+            h : processRelativeTime$4,
+            hh : processRelativeTime$4,
+            d : processRelativeTime$4,
+            dd : processRelativeTime$4,
+            M : processRelativeTime$4,
+            MM : processRelativeTime$4,
+            y : processRelativeTime$4,
+            yy : processRelativeTime$4
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(er)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                // the ordinal 'er' only applies to day of the month
+                case 'D':
+                    return number + 'er';
+                default:
+                case 'M':
+                case 'Q':
+                case 'DDD':
+                case 'd':
+                case 'w':
+                case 'W':
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        },
+        meridiemParse: /rati|sokalli|donparam|sanje/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'rati') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'sokalli') {
+                return hour;
+            } else if (meridiem === 'donparam') {
+                return hour > 12 ? hour : hour + 12;
+            } else if (meridiem === 'sanje') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'rati';
+            } else if (hour < 12) {
+                return 'sokalli';
+            } else if (hour < 16) {
+                return 'donparam';
+            } else if (hour < 20) {
+                return 'sanje';
+            } else {
+                return 'rati';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$6 = {
+            '1': 'à«§',
+            '2': '૨',
+            '3': 'à«©',
+            '4': '૪',
+            '5': 'à««',
+            '6': '૬',
+            '7': 'à«­',
+            '8': 'à«®',
+            '9': '૯',
+            '0': '૦'
+        },
+        numberMap$5 = {
+            'à«§': '1',
+            '૨': '2',
+            'à«©': '3',
+            '૪': '4',
+            'à««': '5',
+            '૬': '6',
+            'à«­': '7',
+            'à«®': '8',
+            '૯': '9',
+            '૦': '0'
+        };
+
+    hooks.defineLocale('gu', {
+        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
+        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
+        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
+        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
+        longDateFormat: {
+            LT: 'A h:mm વાગ્યે',
+            LTS: 'A h:mm:ss વાગ્યે',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
+            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
+        },
+        calendar: {
+            sameDay: '[આજ] LT',
+            nextDay: '[કાલે] LT',
+            nextWeek: 'dddd, LT',
+            lastDay: '[ગઇકાલે] LT',
+            lastWeek: '[પાછલા] dddd, LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%s મા',
+            past: '%s પેહલા',
+            s: 'અમુક પળો',
+            ss: '%d સેકંડ',
+            m: 'એક મિનિટ',
+            mm: '%d મિનિટ',
+            h: 'એક કલાક',
+            hh: '%d કલાક',
+            d: 'એક દિવસ',
+            dd: '%d દિવસ',
+            M: 'એક મહિનો',
+            MM: '%d મહિનો',
+            y: 'એક વર્ષ',
+            yy: '%d વર્ષ'
+        },
+        preparse: function (string) {
+            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
+                return numberMap$5[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$6[match];
+            });
+        },
+        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
+        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'રાત') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'સવાર') {
+                return hour;
+            } else if (meridiem === 'બપોર') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'સાંજ') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'રાત';
+            } else if (hour < 10) {
+                return 'સવાર';
+            } else if (hour < 17) {
+                return 'બપોર';
+            } else if (hour < 20) {
+                return 'સાંજ';
+            } else {
+                return 'રાત';
+            }
+        },
+        week: {
+            dow: 0, // Sunday is the first day of the week.
+            doy: 6 // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('he', {
+        months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
+        monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
+        weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
+        weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
+        weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [ב]MMMM YYYY',
+            LLL : 'D [ב]MMMM YYYY HH:mm',
+            LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
+            l : 'D/M/YYYY',
+            ll : 'D MMM YYYY',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd, D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[היום ב־]LT',
+            nextDay : '[מחר ב־]LT',
+            nextWeek : 'dddd [בשעה] LT',
+            lastDay : '[אתמול ב־]LT',
+            lastWeek : '[ביום] dddd [האחרון בשעה] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'בעוד %s',
+            past : 'לפני %s',
+            s : 'מספר שניות',
+            ss : '%d שניות',
+            m : 'דקה',
+            mm : '%d דקות',
+            h : 'שעה',
+            hh : function (number) {
+                if (number === 2) {
+                    return 'שעתיים';
+                }
+                return number + ' שעות';
+            },
+            d : 'יום',
+            dd : function (number) {
+                if (number === 2) {
+                    return 'יומיים';
+                }
+                return number + ' ימים';
+            },
+            M : 'חודש',
+            MM : function (number) {
+                if (number === 2) {
+                    return 'חודשיים';
+                }
+                return number + ' חודשים';
+            },
+            y : 'שנה',
+            yy : function (number) {
+                if (number === 2) {
+                    return 'שנתיים';
+                } else if (number % 10 === 0 && number !== 10) {
+                    return number + ' שנה';
+                }
+                return number + ' שנים';
+            }
+        },
+        meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
+        isPM : function (input) {
+            return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 5) {
+                return 'לפנות בוקר';
+            } else if (hour < 10) {
+                return 'בבוקר';
+            } else if (hour < 12) {
+                return isLower ? 'לפנה"צ' : 'לפני הצהריים';
+            } else if (hour < 18) {
+                return isLower ? 'אחה"צ' : 'אחרי הצהריים';
+            } else {
+                return 'בערב';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$7 = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap$6 = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    hooks.defineLocale('hi', {
+        months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
+        monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+        weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
+        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm बजे',
+            LTS : 'A h:mm:ss बजे',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm बजे',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[कल] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[कल] LT',
+            lastWeek : '[पिछले] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s में',
+            past : '%s पहले',
+            s : 'कुछ ही क्षण',
+            ss : '%d सेकंड',
+            m : 'एक मिनट',
+            mm : '%d मिनट',
+            h : 'एक घंटा',
+            hh : '%d घंटे',
+            d : 'एक दिन',
+            dd : '%d दिन',
+            M : 'एक महीने',
+            MM : '%d महीने',
+            y : 'एक वर्ष',
+            yy : '%d वर्ष'
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap$6[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$7[match];
+            });
+        },
+        // Hindi notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
+        meridiemParse: /रात|सुबह|दोपहर|शाम/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'रात') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'सुबह') {
+                return hour;
+            } else if (meridiem === 'दोपहर') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'शाम') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'रात';
+            } else if (hour < 10) {
+                return 'सुबह';
+            } else if (hour < 17) {
+                return 'दोपहर';
+            } else if (hour < 20) {
+                return 'शाम';
+            } else {
+                return 'रात';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function translate$3(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                if (number === 1) {
+                    result += 'sekunda';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sekunde';
+                } else {
+                    result += 'sekundi';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+            case 'mm':
+                if (number === 1) {
+                    result += 'minuta';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'minute';
+                } else {
+                    result += 'minuta';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'jedan sat' : 'jednog sata';
+            case 'hh':
+                if (number === 1) {
+                    result += 'sat';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'sata';
+                } else {
+                    result += 'sati';
+                }
+                return result;
+            case 'dd':
+                if (number === 1) {
+                    result += 'dan';
+                } else {
+                    result += 'dana';
+                }
+                return result;
+            case 'MM':
+                if (number === 1) {
+                    result += 'mjesec';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'mjeseca';
+                } else {
+                    result += 'mjeseci';
+                }
+                return result;
+            case 'yy':
+                if (number === 1) {
+                    result += 'godina';
+                } else if (number === 2 || number === 3 || number === 4) {
+                    result += 'godine';
+                } else {
+                    result += 'godina';
+                }
+                return result;
+        }
+    }
+
+    hooks.defineLocale('hr', {
+        months : {
+            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
+            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
+        },
+        monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danas u] LT',
+            nextDay  : '[sutra u] LT',
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[jučer u] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                        return '[prošlu] dddd [u] LT';
+                    case 6:
+                        return '[prošle] [subote] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prošli] dddd [u] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'par sekundi',
+            ss     : translate$3,
+            m      : translate$3,
+            mm     : translate$3,
+            h      : translate$3,
+            hh     : translate$3,
+            d      : 'dan',
+            dd     : translate$3,
+            M      : 'mjesec',
+            MM     : translate$3,
+            y      : 'godinu',
+            yy     : translate$3
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
+    function translate$4(number, withoutSuffix, key, isFuture) {
+        var num = number;
+        switch (key) {
+            case 's':
+                return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
+            case 'ss':
+                return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
+            case 'm':
+                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
+            case 'mm':
+                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
+            case 'h':
+                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
+            case 'hh':
+                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
+            case 'd':
+                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
+            case 'dd':
+                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
+            case 'M':
+                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+            case 'MM':
+                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+            case 'y':
+                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
+            case 'yy':
+                return num + (isFuture || withoutSuffix ? ' év' : ' éve');
+        }
+        return '';
+    }
+    function week(isFuture) {
+        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
+    }
+
+    hooks.defineLocale('hu', {
+        months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
+        monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
+        weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
+        weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
+        weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'YYYY.MM.DD.',
+            LL : 'YYYY. MMMM D.',
+            LLL : 'YYYY. MMMM D. H:mm',
+            LLLL : 'YYYY. MMMM D., dddd H:mm'
+        },
+        meridiemParse: /de|du/i,
+        isPM: function (input) {
+            return input.charAt(1).toLowerCase() === 'u';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower === true ? 'de' : 'DE';
+            } else {
+                return isLower === true ? 'du' : 'DU';
+            }
+        },
+        calendar : {
+            sameDay : '[ma] LT[-kor]',
+            nextDay : '[holnap] LT[-kor]',
+            nextWeek : function () {
+                return week.call(this, true);
+            },
+            lastDay : '[tegnap] LT[-kor]',
+            lastWeek : function () {
+                return week.call(this, false);
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s múlva',
+            past : '%s',
+            s : translate$4,
+            ss : translate$4,
+            m : translate$4,
+            mm : translate$4,
+            h : translate$4,
+            hh : translate$4,
+            d : translate$4,
+            dd : translate$4,
+            M : translate$4,
+            MM : translate$4,
+            y : translate$4,
+            yy : translate$4
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('hy-am', {
+        months : {
+            format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'),
+            standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.split('_')
+        },
+        monthsShort : 'Õ°Õ¶Õ¾_ÖƒÕ¿Ö€_Õ´Ö€Õ¿_Õ¡ÕºÖ€_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö…Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'),
+        weekdays : 'Õ¯Õ«Ö€Õ¡Õ¯Õ«_Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«_Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸Ö‚Ö€Õ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'),
+        weekdaysShort : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+        weekdaysMin : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY Õ©.',
+            LLL : 'D MMMM YYYY Õ©., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm'
+        },
+        calendar : {
+            sameDay: '[Õ¡ÕµÕ½Ö…Ö€] LT',
+            nextDay: '[Õ¾Õ¡Õ²Õ¨] LT',
+            lastDay: '[Õ¥Ö€Õ¥Õ¯] LT',
+            nextWeek: function () {
+                return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT';
+            },
+            lastWeek: function () {
+                return '[անցած] dddd [օրը ժամը] LT';
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s Õ°Õ¥Õ¿Õ¸',
+            past : '%s Õ¡Õ¼Õ¡Õ»',
+            s : 'Õ´Õ« Ö„Õ¡Õ¶Õ« Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+            ss : '%d Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+            m : 'Ö€Õ¸ÕºÕ¥',
+            mm : '%d Ö€Õ¸ÕºÕ¥',
+            h : 'ÕªÕ¡Õ´',
+            hh : '%d ÕªÕ¡Õ´',
+            d : 'Ö…Ö€',
+            dd : '%d Ö…Ö€',
+            M : 'Õ¡Õ´Õ«Õ½',
+            MM : '%d Õ¡Õ´Õ«Õ½',
+            y : 'Õ¿Õ¡Ö€Õ«',
+            yy : '%d Õ¿Õ¡Ö€Õ«'
+        },
+        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
+        isPM: function (input) {
+            return /^(ցերեկվա|երեկոյան)$/.test(input);
+        },
+        meridiem : function (hour) {
+            if (hour < 4) {
+                return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡';
+            } else if (hour < 12) {
+                return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡';
+            } else if (hour < 17) {
+                return 'ցերեկվա';
+            } else {
+                return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'DDD':
+                case 'w':
+                case 'W':
+                case 'DDDo':
+                    if (number === 1) {
+                        return number + '-Õ«Õ¶';
+                    }
+                    return number + '-Ö€Õ¤';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('id', {
+        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
+        weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
+        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|siang|sore|malam/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'siang') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'sore' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'siang';
+            } else if (hours < 19) {
+                return 'sore';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Besok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kemarin pukul] LT',
+            lastWeek : 'dddd [lalu pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lalu',
+            s : 'beberapa detik',
+            ss : '%d detik',
+            m : 'semenit',
+            mm : '%d menit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural$2(n) {
+        if (n % 100 === 11) {
+            return true;
+        } else if (n % 10 === 1) {
+            return false;
+        }
+        return true;
+    }
+    function translate$5(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':
+                return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
+            case 'ss':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
+                }
+                return result + 'sekúnda';
+            case 'm':
+                return withoutSuffix ? 'mínúta' : 'mínútu';
+            case 'mm':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
+                } else if (withoutSuffix) {
+                    return result + 'mínúta';
+                }
+                return result + 'mínútu';
+            case 'hh':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
+                }
+                return result + 'klukkustund';
+            case 'd':
+                if (withoutSuffix) {
+                    return 'dagur';
+                }
+                return isFuture ? 'dag' : 'degi';
+            case 'dd':
+                if (plural$2(number)) {
+                    if (withoutSuffix) {
+                        return result + 'dagar';
+                    }
+                    return result + (isFuture ? 'daga' : 'dögum');
+                } else if (withoutSuffix) {
+                    return result + 'dagur';
+                }
+                return result + (isFuture ? 'dag' : 'degi');
+            case 'M':
+                if (withoutSuffix) {
+                    return 'mánuður';
+                }
+                return isFuture ? 'mánuð' : 'mánuði';
+            case 'MM':
+                if (plural$2(number)) {
+                    if (withoutSuffix) {
+                        return result + 'mánuðir';
+                    }
+                    return result + (isFuture ? 'mánuði' : 'mánuðum');
+                } else if (withoutSuffix) {
+                    return result + 'mánuður';
+                }
+                return result + (isFuture ? 'mánuð' : 'mánuði');
+            case 'y':
+                return withoutSuffix || isFuture ? 'ár' : 'ári';
+            case 'yy':
+                if (plural$2(number)) {
+                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
+                }
+                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
+        }
+    }
+
+    hooks.defineLocale('is', {
+        months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
+        weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
+        weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
+        weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] H:mm',
+            LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
+        },
+        calendar : {
+            sameDay : '[í dag kl.] LT',
+            nextDay : '[á morgun kl.] LT',
+            nextWeek : 'dddd [kl.] LT',
+            lastDay : '[í gær kl.] LT',
+            lastWeek : '[síðasta] dddd [kl.] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'eftir %s',
+            past : 'fyrir %s síðan',
+            s : translate$5,
+            ss : translate$5,
+            m : translate$5,
+            mm : translate$5,
+            h : 'klukkustund',
+            hh : translate$5,
+            d : translate$5,
+            dd : translate$5,
+            M : translate$5,
+            MM : translate$5,
+            y : translate$5,
+            yy : translate$5
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('it-ch', {
+        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Oggi alle] LT',
+            nextDay: '[Domani alle] LT',
+            nextWeek: 'dddd [alle] LT',
+            lastDay: '[Ieri alle] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[la scorsa] dddd [alle] LT';
+                    default:
+                        return '[lo scorso] dddd [alle] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+            },
+            past : '%s fa',
+            s : 'alcuni secondi',
+            ss : '%d secondi',
+            m : 'un minuto',
+            mm : '%d minuti',
+            h : 'un\'ora',
+            hh : '%d ore',
+            d : 'un giorno',
+            dd : '%d giorni',
+            M : 'un mese',
+            MM : '%d mesi',
+            y : 'un anno',
+            yy : '%d anni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('it', {
+        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Oggi alle] LT',
+            nextDay: '[Domani alle] LT',
+            nextWeek: 'dddd [alle] LT',
+            lastDay: '[Ieri alle] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[la scorsa] dddd [alle] LT';
+                    default:
+                        return '[lo scorso] dddd [alle] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+            },
+            past : '%s fa',
+            s : 'alcuni secondi',
+            ss : '%d secondi',
+            m : 'un minuto',
+            mm : '%d minuti',
+            h : 'un\'ora',
+            hh : '%d ore',
+            d : 'un giorno',
+            dd : '%d giorni',
+            M : 'un mese',
+            MM : '%d mesi',
+            y : 'un anno',
+            yy : '%d anni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ja', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
+        weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
+        weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日 dddd HH:mm',
+            l : 'YYYY/MM/DD',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日(ddd) HH:mm'
+        },
+        meridiemParse: /午前|午後/i,
+        isPM : function (input) {
+            return input === '午後';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return '午前';
+            } else {
+                return '午後';
+            }
+        },
+        calendar : {
+            sameDay : '[今日] LT',
+            nextDay : '[明日] LT',
+            nextWeek : function (now) {
+                if (now.week() < this.week()) {
+                    return '[来週]dddd LT';
+                } else {
+                    return 'dddd LT';
+                }
+            },
+            lastDay : '[昨日] LT',
+            lastWeek : function (now) {
+                if (this.week() < now.week()) {
+                    return '[先週]dddd LT';
+                } else {
+                    return 'dddd LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}æ—¥/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + 'æ—¥';
+                default:
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%s後',
+            past : '%s前',
+            s : 'æ•°ç§’',
+            ss : '%dç§’',
+            m : '1分',
+            mm : '%d分',
+            h : '1時間',
+            hh : '%d時間',
+            d : '1æ—¥',
+            dd : '%dæ—¥',
+            M : '1ヶ月',
+            MM : '%dヶ月',
+            y : '1å¹´',
+            yy : '%då¹´'
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('jv', {
+        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
+        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
+        weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
+        weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
+        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /enjing|siyang|sonten|ndalu/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'enjing') {
+                return hour;
+            } else if (meridiem === 'siyang') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'enjing';
+            } else if (hours < 15) {
+                return 'siyang';
+            } else if (hours < 19) {
+                return 'sonten';
+            } else {
+                return 'ndalu';
+            }
+        },
+        calendar : {
+            sameDay : '[Dinten puniko pukul] LT',
+            nextDay : '[Mbenjang pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kala wingi pukul] LT',
+            lastWeek : 'dddd [kepengker pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'wonten ing %s',
+            past : '%s ingkang kepengker',
+            s : 'sawetawis detik',
+            ss : '%d detik',
+            m : 'setunggal menit',
+            mm : '%d menit',
+            h : 'setunggal jam',
+            hh : '%d jam',
+            d : 'sedinten',
+            dd : '%d dinten',
+            M : 'sewulan',
+            MM : '%d wulan',
+            y : 'setaun',
+            yy : '%d taun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ka', {
+        months : {
+            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
+            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
+        },
+        monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
+        weekdays : {
+            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
+            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
+            isFormat: /(წინა|შემდეგ)/
+        },
+        weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
+        weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[დღეს] LT[-ზე]',
+            nextDay : '[ხვალ] LT[-ზე]',
+            lastDay : '[გუშინ] LT[-ზე]',
+            nextWeek : '[შემდეგ] dddd LT[-ზე]',
+            lastWeek : '[წინა] dddd LT-ზე',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : function (s) {
+                return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
+                    s.replace(/ი$/, 'ში') :
+                    s + 'ში';
+            },
+            past : function (s) {
+                if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
+                    return s.replace(/(ი|ე)$/, 'ის წინ');
+                }
+                if ((/წელი/).test(s)) {
+                    return s.replace(/წელი$/, 'წლის წინ');
+                }
+            },
+            s : 'რამდენიმე წამი',
+            ss : '%d წამი',
+            m : 'წუთი',
+            mm : '%d წუთი',
+            h : 'საათი',
+            hh : '%d საათი',
+            d : 'დღე',
+            dd : '%d დღე',
+            M : 'თვე',
+            MM : '%d თვე',
+            y : 'წელი',
+            yy : '%d წელი'
+        },
+        dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
+        ordinal : function (number) {
+            if (number === 0) {
+                return number;
+            }
+            if (number === 1) {
+                return number + '-ლი';
+            }
+            if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
+                return 'მე-' + number;
+            }
+            return number + '-ე';
+        },
+        week : {
+            dow : 1,
+            doy : 7
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes$1 = {
+        0: '-ші',
+        1: '-ші',
+        2: '-ші',
+        3: '-ші',
+        4: '-ші',
+        5: '-ші',
+        6: '-шы',
+        7: '-ші',
+        8: '-ші',
+        9: '-шы',
+        10: '-шы',
+        20: '-шы',
+        30: '-шы',
+        40: '-шы',
+        50: '-ші',
+        60: '-шы',
+        70: '-ші',
+        80: '-ші',
+        90: '-шы',
+        100: '-ші'
+    };
+
+    hooks.defineLocale('kk', {
+        months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
+        monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
+        weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
+        weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
+        weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бүгін сағат] LT',
+            nextDay : '[Ертең сағат] LT',
+            nextWeek : 'dddd [сағат] LT',
+            lastDay : '[Кеше сағат] LT',
+            lastWeek : '[Өткен аптаның] dddd [сағат] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ішінде',
+            past : '%s бұрын',
+            s : 'бірнеше секунд',
+            ss : '%d секунд',
+            m : 'бір минут',
+            mm : '%d минут',
+            h : 'бір сағат',
+            hh : '%d сағат',
+            d : 'бір күн',
+            dd : '%d күн',
+            M : 'бір ай',
+            MM : '%d ай',
+            y : 'бір жыл',
+            yy : '%d жыл'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
+        ordinal : function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$8 = {
+        '1': '១',
+        '2': '២',
+        '3': '៣',
+        '4': '៤',
+        '5': '៥',
+        '6': '៦',
+        '7': '៧',
+        '8': '៨',
+        '9': '៩',
+        '0': '០'
+    }, numberMap$7 = {
+        '១': '1',
+        '២': '2',
+        '៣': '3',
+        '៤': '4',
+        '៥': '5',
+        '៦': '6',
+        '៧': '7',
+        '៨': '8',
+        '៩': '9',
+        '០': '0'
+    };
+
+    hooks.defineLocale('km', {
+        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+            '_'
+        ),
+        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+            '_'
+        ),
+        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
+        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+        weekdaysParseExact: true,
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ព្រឹក|ល្ងាច/,
+        isPM: function (input) {
+            return input === 'ល្ងាច';
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ព្រឹក';
+            } else {
+                return 'ល្ងាច';
+            }
+        },
+        calendar: {
+            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
+            nextDay: '[ស្អែក ម៉ោង] LT',
+            nextWeek: 'dddd [ម៉ោង] LT',
+            lastDay: '[ម្សិលមិញ ម៉ោង] LT',
+            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%sទៀត',
+            past: '%sមុន',
+            s: 'ប៉ុន្មានវិនាទី',
+            ss: '%d វិនាទី',
+            m: 'មួយនាទី',
+            mm: '%d នាទី',
+            h: 'មួយម៉ោង',
+            hh: '%d ម៉ោង',
+            d: 'មួយថ្ងៃ',
+            dd: '%d ថ្ងៃ',
+            M: 'មួយខែ',
+            MM: '%d ខែ',
+            y: 'មួយឆ្នាំ',
+            yy: '%d ឆ្នាំ'
+        },
+        dayOfMonthOrdinalParse : /ទី\d{1,2}/,
+        ordinal : 'ទី%d',
+        preparse: function (string) {
+            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
+                return numberMap$7[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$8[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$9 = {
+        '1': 'à³§',
+        '2': '೨',
+        '3': '೩',
+        '4': '೪',
+        '5': '೫',
+        '6': '೬',
+        '7': 'à³­',
+        '8': 'à³®',
+        '9': '೯',
+        '0': '೦'
+    },
+    numberMap$8 = {
+        'à³§': '1',
+        '೨': '2',
+        '೩': '3',
+        '೪': '4',
+        '೫': '5',
+        '೬': '6',
+        'à³­': '7',
+        'à³®': '8',
+        '೯': '9',
+        '೦': '0'
+    };
+
+    hooks.defineLocale('kn', {
+        months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
+        monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
+        weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
+        weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[ಇಂದು] LT',
+            nextDay : '[ನಾಳೆ] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[ನಿನ್ನೆ] LT',
+            lastWeek : '[ಕೊನೆಯ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ನಂತರ',
+            past : '%s ಹಿಂದೆ',
+            s : 'ಕೆಲವು ಕ್ಷಣಗಳು',
+            ss : '%d ಸೆಕೆಂಡುಗಳು',
+            m : 'ಒಂದು ನಿಮಿಷ',
+            mm : '%d ನಿಮಿಷ',
+            h : 'ಒಂದು ಗಂಟೆ',
+            hh : '%d ಗಂಟೆ',
+            d : 'ಒಂದು ದಿನ',
+            dd : '%d ದಿನ',
+            M : 'ಒಂದು ತಿಂಗಳು',
+            MM : '%d ತಿಂಗಳು',
+            y : 'ಒಂದು ವರ್ಷ',
+            yy : '%d ವರ್ಷ'
+        },
+        preparse: function (string) {
+            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
+                return numberMap$8[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$9[match];
+            });
+        },
+        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ರಾತ್ರಿ') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
+                return hour;
+            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'ಸಂಜೆ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ರಾತ್ರಿ';
+            } else if (hour < 10) {
+                return 'ಬೆಳಿಗ್ಗೆ';
+            } else if (hour < 17) {
+                return 'ಮಧ್ಯಾಹ್ನ';
+            } else if (hour < 20) {
+                return 'ಸಂಜೆ';
+            } else {
+                return 'ರಾತ್ರಿ';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
+        ordinal : function (number) {
+            return number + 'ನೇ';
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ko', {
+        months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+        monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+        weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
+        weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
+        weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'YYYY.MM.DD.',
+            LL : 'YYYY년 MMMM D일',
+            LLL : 'YYYY년 MMMM D일 A h:mm',
+            LLLL : 'YYYY년 MMMM D일 dddd A h:mm',
+            l : 'YYYY.MM.DD.',
+            ll : 'YYYY년 MMMM D일',
+            lll : 'YYYY년 MMMM D일 A h:mm',
+            llll : 'YYYY년 MMMM D일 dddd A h:mm'
+        },
+        calendar : {
+            sameDay : '오늘 LT',
+            nextDay : '내일 LT',
+            nextWeek : 'dddd LT',
+            lastDay : '어제 LT',
+            lastWeek : '지난주 dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s 후',
+            past : '%s ì „',
+            s : '몇 초',
+            ss : '%dì´ˆ',
+            m : '1ë¶„',
+            mm : '%dë¶„',
+            h : '한 시간',
+            hh : '%d시간',
+            d : '하루',
+            dd : '%d일',
+            M : '한 달',
+            MM : '%d달',
+            y : '일 년',
+            yy : '%dë…„'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}(일|월|주)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + '일';
+                case 'M':
+                    return number + 'ì›”';
+                case 'w':
+                case 'W':
+                    return number + '주';
+                default:
+                    return number;
+            }
+        },
+        meridiemParse : /오전|오후/,
+        isPM : function (token) {
+            return token === '오후';
+        },
+        meridiem : function (hour, minute, isUpper) {
+            return hour < 12 ? '오전' : '오후';
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$a = {
+        '1': 'Ù¡',
+        '2': 'Ù¢',
+        '3': 'Ù£',
+        '4': 'Ù¤',
+        '5': 'Ù¥',
+        '6': 'Ù¦',
+        '7': 'Ù§',
+        '8': 'Ù¨',
+        '9': 'Ù©',
+        '0': 'Ù '
+    }, numberMap$9 = {
+        'Ù¡': '1',
+        'Ù¢': '2',
+        'Ù£': '3',
+        'Ù¤': '4',
+        'Ù¥': '5',
+        'Ù¦': '6',
+        'Ù§': '7',
+        'Ù¨': '8',
+        'Ù©': '9',
+        'Ù ': '0'
+    },
+    months$7 = [
+        'کانونی دووەم',
+        'شوبات',
+        'ئازار',
+        'نیسان',
+        'ئایار',
+        'حوزەیران',
+        'تەمموز',
+        'ئاب',
+        'ئەیلوول',
+        'تشرینی یەكەم',
+        'تشرینی دووەم',
+        'كانونی یەکەم'
+    ];
+
+
+    hooks.defineLocale('ku', {
+        months : months$7,
+        monthsShort : months$7,
+        weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),
+        weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
+        weekdaysMin : 'ی_د_س_چ_پ_ه_ش'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ئێواره‌|به‌یانی/,
+        isPM: function (input) {
+            return /ئێواره‌/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'به‌یانی';
+            } else {
+                return 'ئێواره‌';
+            }
+        },
+        calendar : {
+            sameDay : '[ئه‌مرۆ كاتژمێر] LT',
+            nextDay : '[به‌یانی كاتژمێر] LT',
+            nextWeek : 'dddd [كاتژمێر] LT',
+            lastDay : '[دوێنێ كاتژمێر] LT',
+            lastWeek : 'dddd [كاتژمێر] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'له‌ %s',
+            past : '%s',
+            s : 'چه‌ند چركه‌یه‌ك',
+            ss : 'چركه‌ %d',
+            m : 'یه‌ك خوله‌ك',
+            mm : '%d خوله‌ك',
+            h : 'یه‌ك كاتژمێر',
+            hh : '%d كاتژمێر',
+            d : 'یه‌ك ڕۆژ',
+            dd : '%d Ú•Û†Ú˜',
+            M : 'یه‌ك مانگ',
+            MM : '%d مانگ',
+            y : 'یه‌ك ساڵ',
+            yy : '%d ساڵ'
+        },
+        preparse: function (string) {
+            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+                return numberMap$9[match];
+            }).replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$a[match];
+            }).replace(/,/g, '،');
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12 // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes$2 = {
+        0: '-чү',
+        1: '-чи',
+        2: '-чи',
+        3: '-чү',
+        4: '-чү',
+        5: '-чи',
+        6: '-чы',
+        7: '-чи',
+        8: '-чи',
+        9: '-чу',
+        10: '-чу',
+        20: '-чы',
+        30: '-чу',
+        40: '-чы',
+        50: '-чү',
+        60: '-чы',
+        70: '-чи',
+        80: '-чи',
+        90: '-чу',
+        100: '-чү'
+    };
+
+    hooks.defineLocale('ky', {
+        months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+        monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
+        weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
+        weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бүгүн саат] LT',
+            nextDay : '[Эртең саат] LT',
+            nextWeek : 'dddd [саат] LT',
+            lastDay : '[Кечээ саат] LT',
+            lastWeek : '[Өткөн аптанын] dddd [күнү] [саат] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ичинде',
+            past : '%s мурун',
+            s : 'бирнече секунд',
+            ss : '%d секунд',
+            m : 'бир мүнөт',
+            mm : '%d мүнөт',
+            h : 'бир саат',
+            hh : '%d саат',
+            d : 'бир күн',
+            dd : '%d күн',
+            M : 'бир ай',
+            MM : '%d ай',
+            y : 'бир жыл',
+            yy : '%d жыл'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
+        ordinal : function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$5(number, withoutSuffix, key, isFuture) {
+        var format = {
+            'm': ['eng Minutt', 'enger Minutt'],
+            'h': ['eng Stonn', 'enger Stonn'],
+            'd': ['een Dag', 'engem Dag'],
+            'M': ['ee Mount', 'engem Mount'],
+            'y': ['ee Joer', 'engem Joer']
+        };
+        return withoutSuffix ? format[key][0] : format[key][1];
+    }
+    function processFutureTime(string) {
+        var number = string.substr(0, string.indexOf(' '));
+        if (eifelerRegelAppliesToNumber(number)) {
+            return 'a ' + string;
+        }
+        return 'an ' + string;
+    }
+    function processPastTime(string) {
+        var number = string.substr(0, string.indexOf(' '));
+        if (eifelerRegelAppliesToNumber(number)) {
+            return 'viru ' + string;
+        }
+        return 'virun ' + string;
+    }
+    /**
+     * Returns true if the word before the given number loses the '-n' ending.
+     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
+     *
+     * @param number {integer}
+     * @returns {boolean}
+     */
+    function eifelerRegelAppliesToNumber(number) {
+        number = parseInt(number, 10);
+        if (isNaN(number)) {
+            return false;
+        }
+        if (number < 0) {
+            // Negative Number --> always true
+            return true;
+        } else if (number < 10) {
+            // Only 1 digit
+            if (4 <= number && number <= 7) {
+                return true;
+            }
+            return false;
+        } else if (number < 100) {
+            // 2 digits
+            var lastDigit = number % 10, firstDigit = number / 10;
+            if (lastDigit === 0) {
+                return eifelerRegelAppliesToNumber(firstDigit);
+            }
+            return eifelerRegelAppliesToNumber(lastDigit);
+        } else if (number < 10000) {
+            // 3 or 4 digits --> recursively check first digit
+            while (number >= 10) {
+                number = number / 10;
+            }
+            return eifelerRegelAppliesToNumber(number);
+        } else {
+            // Anything larger than 4 digits: recursively check first n-3 digits
+            number = number / 1000;
+            return eifelerRegelAppliesToNumber(number);
+        }
+    }
+
+    hooks.defineLocale('lb', {
+        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
+        monthsParseExact : true,
+        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
+        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
+        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm [Auer]',
+            LTS: 'H:mm:ss [Auer]',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm [Auer]',
+            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
+        },
+        calendar: {
+            sameDay: '[Haut um] LT',
+            sameElse: 'L',
+            nextDay: '[Muer um] LT',
+            nextWeek: 'dddd [um] LT',
+            lastDay: '[Gëschter um] LT',
+            lastWeek: function () {
+                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
+                switch (this.day()) {
+                    case 2:
+                    case 4:
+                        return '[Leschten] dddd [um] LT';
+                    default:
+                        return '[Leschte] dddd [um] LT';
+                }
+            }
+        },
+        relativeTime : {
+            future : processFutureTime,
+            past : processPastTime,
+            s : 'e puer Sekonnen',
+            ss : '%d Sekonnen',
+            m : processRelativeTime$5,
+            mm : '%d Minutten',
+            h : processRelativeTime$5,
+            hh : '%d Stonnen',
+            d : processRelativeTime$5,
+            dd : '%d Deeg',
+            M : processRelativeTime$5,
+            MM : '%d Méint',
+            y : processRelativeTime$5,
+            yy : '%d Joer'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal: '%d.',
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('lo', {
+        months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+        monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+        weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+        weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+        weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
+        isPM: function (input) {
+            return input === 'ຕອນແລງ';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ຕອນເຊົ້າ';
+            } else {
+                return 'ຕອນແລງ';
+            }
+        },
+        calendar : {
+            sameDay : '[ມື້ນີ້ເວລາ] LT',
+            nextDay : '[ມື້ອື່ນເວລາ] LT',
+            nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
+            lastDay : '[ມື້ວານນີ້ເວລາ] LT',
+            lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ອີກ %s',
+            past : '%sຜ່ານມາ',
+            s : 'ບໍ່ເທົ່າໃດວິນາທີ',
+            ss : '%d ວິນາທີ' ,
+            m : '1 ນາທີ',
+            mm : '%d ນາທີ',
+            h : '1 ຊົ່ວໂມງ',
+            hh : '%d ຊົ່ວໂມງ',
+            d : '1 ມື້',
+            dd : '%d ມື້',
+            M : '1 ເດືອນ',
+            MM : '%d ເດືອນ',
+            y : '1 ປີ',
+            yy : '%d ປີ'
+        },
+        dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
+        ordinal : function (number) {
+            return 'ທີ່' + number;
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var units = {
+        'ss' : 'sekundė_sekundžių_sekundes',
+        'm' : 'minutÄ—_minutÄ—s_minutÄ™',
+        'mm': 'minutės_minučių_minutes',
+        'h' : 'valanda_valandos_valandÄ…',
+        'hh': 'valandos_valandų_valandas',
+        'd' : 'diena_dienos_dienÄ…',
+        'dd': 'dienos_dienų_dienas',
+        'M' : 'mėnuo_mėnesio_mėnesį',
+        'MM': 'mėnesiai_mėnesių_mėnesius',
+        'y' : 'metai_metų_metus',
+        'yy': 'metai_metų_metus'
+    };
+    function translateSeconds(number, withoutSuffix, key, isFuture) {
+        if (withoutSuffix) {
+            return 'kelios sekundÄ—s';
+        } else {
+            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
+        }
+    }
+    function translateSingular(number, withoutSuffix, key, isFuture) {
+        return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
+    }
+    function special(number) {
+        return number % 10 === 0 || (number > 10 && number < 20);
+    }
+    function forms(key) {
+        return units[key].split('_');
+    }
+    function translate$6(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        if (number === 1) {
+            return result + translateSingular(number, withoutSuffix, key[0], isFuture);
+        } else if (withoutSuffix) {
+            return result + (special(number) ? forms(key)[1] : forms(key)[0]);
+        } else {
+            if (isFuture) {
+                return result + forms(key)[1];
+            } else {
+                return result + (special(number) ? forms(key)[1] : forms(key)[2]);
+            }
+        }
+    }
+    hooks.defineLocale('lt', {
+        months : {
+            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
+            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
+            isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
+        },
+        monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
+        weekdays : {
+            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
+            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
+            isFormat: /dddd HH:mm/
+        },
+        weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
+        weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY [m.] MMMM D [d.]',
+            LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+            LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+            l : 'YYYY-MM-DD',
+            ll : 'YYYY [m.] MMMM D [d.]',
+            lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+            llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
+        },
+        calendar : {
+            sameDay : '[Å iandien] LT',
+            nextDay : '[Rytoj] LT',
+            nextWeek : 'dddd LT',
+            lastDay : '[Vakar] LT',
+            lastWeek : '[Praėjusį] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'po %s',
+            past : 'prieš %s',
+            s : translateSeconds,
+            ss : translate$6,
+            m : translateSingular,
+            mm : translate$6,
+            h : translateSingular,
+            hh : translate$6,
+            d : translateSingular,
+            dd : translate$6,
+            M : translateSingular,
+            MM : translate$6,
+            y : translateSingular,
+            yy : translate$6
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-oji/,
+        ordinal : function (number) {
+            return number + '-oji';
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var units$1 = {
+        'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
+        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+        'h': 'stundas_stundām_stunda_stundas'.split('_'),
+        'hh': 'stundas_stundām_stunda_stundas'.split('_'),
+        'd': 'dienas_dienām_diena_dienas'.split('_'),
+        'dd': 'dienas_dienām_diena_dienas'.split('_'),
+        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+        'y': 'gada_gadiem_gads_gadi'.split('_'),
+        'yy': 'gada_gadiem_gads_gadi'.split('_')
+    };
+    /**
+     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
+     */
+    function format$1(forms, number, withoutSuffix) {
+        if (withoutSuffix) {
+            // E.g. "21 minūte", "3 minūtes".
+            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
+        } else {
+            // E.g. "21 minūtes" as in "pēc 21 minūtes".
+            // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
+            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
+        }
+    }
+    function relativeTimeWithPlural$1(number, withoutSuffix, key) {
+        return number + ' ' + format$1(units$1[key], number, withoutSuffix);
+    }
+    function relativeTimeWithSingular(number, withoutSuffix, key) {
+        return format$1(units$1[key], number, withoutSuffix);
+    }
+    function relativeSeconds(number, withoutSuffix) {
+        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
+    }
+
+    hooks.defineLocale('lv', {
+        months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
+        weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
+        weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY.',
+            LL : 'YYYY. [gada] D. MMMM',
+            LLL : 'YYYY. [gada] D. MMMM, HH:mm',
+            LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
+        },
+        calendar : {
+            sameDay : '[Å odien pulksten] LT',
+            nextDay : '[Rīt pulksten] LT',
+            nextWeek : 'dddd [pulksten] LT',
+            lastDay : '[Vakar pulksten] LT',
+            lastWeek : '[Pagājušā] dddd [pulksten] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'pēc %s',
+            past : 'pirms %s',
+            s : relativeSeconds,
+            ss : relativeTimeWithPlural$1,
+            m : relativeTimeWithSingular,
+            mm : relativeTimeWithPlural$1,
+            h : relativeTimeWithSingular,
+            hh : relativeTimeWithPlural$1,
+            d : relativeTimeWithSingular,
+            dd : relativeTimeWithPlural$1,
+            M : relativeTimeWithSingular,
+            MM : relativeTimeWithPlural$1,
+            y : relativeTimeWithSingular,
+            yy : relativeTimeWithPlural$1
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var translator = {
+        words: { //Different grammatical cases
+            ss: ['sekund', 'sekunda', 'sekundi'],
+            m: ['jedan minut', 'jednog minuta'],
+            mm: ['minut', 'minuta', 'minuta'],
+            h: ['jedan sat', 'jednog sata'],
+            hh: ['sat', 'sata', 'sati'],
+            dd: ['dan', 'dana', 'dana'],
+            MM: ['mjesec', 'mjeseca', 'mjeseci'],
+            yy: ['godina', 'godine', 'godina']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    hooks.defineLocale('me', {
+        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact : true,
+        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[danas u] LT',
+            nextDay: '[sjutra u] LT',
+
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedjelju] [u] LT';
+                    case 3:
+                        return '[u] [srijedu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[juče u] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[prošle] [nedjelje] [u] LT',
+                    '[prošlog] [ponedjeljka] [u] LT',
+                    '[prošlog] [utorka] [u] LT',
+                    '[prošle] [srijede] [u] LT',
+                    '[prošlog] [četvrtka] [u] LT',
+                    '[prošlog] [petka] [u] LT',
+                    '[prošle] [subote] [u] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'prije %s',
+            s      : 'nekoliko sekundi',
+            ss     : translator.translate,
+            m      : translator.translate,
+            mm     : translator.translate,
+            h      : translator.translate,
+            hh     : translator.translate,
+            d      : 'dan',
+            dd     : translator.translate,
+            M      : 'mjesec',
+            MM     : translator.translate,
+            y      : 'godinu',
+            yy     : translator.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('mi', {
+        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('_'),
+        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
+        monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+        monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
+        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
+        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY [i] HH:mm',
+            LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
+        },
+        calendar: {
+            sameDay: '[i teie mahana, i] LT',
+            nextDay: '[apopo i] LT',
+            nextWeek: 'dddd [i] LT',
+            lastDay: '[inanahi i] LT',
+            lastWeek: 'dddd [whakamutunga i] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'i roto i %s',
+            past: '%s i mua',
+            s: 'te hēkona ruarua',
+            ss: '%d hēkona',
+            m: 'he meneti',
+            mm: '%d meneti',
+            h: 'te haora',
+            hh: '%d haora',
+            d: 'he ra',
+            dd: '%d ra',
+            M: 'he marama',
+            MM: '%d marama',
+            y: 'he tau',
+            yy: '%d tau'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('mk', {
+        months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
+        monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
+        weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
+        weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
+        weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'D.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay : '[Денес во] LT',
+            nextDay : '[Утре во] LT',
+            nextWeek : '[Во] dddd [во] LT',
+            lastDay : '[Вчера во] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 6:
+                        return '[Изминатата] dddd [во] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[Изминатиот] dddd [во] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'после %s',
+            past : 'пред %s',
+            s : 'неколку секунди',
+            ss : '%d секунди',
+            m : 'минута',
+            mm : '%d минути',
+            h : 'час',
+            hh : '%d часа',
+            d : 'ден',
+            dd : '%d дена',
+            M : 'месец',
+            MM : '%d месеци',
+            y : 'година',
+            yy : '%d години'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+        ordinal : function (number) {
+            var lastDigit = number % 10,
+                last2Digits = number % 100;
+            if (number === 0) {
+                return number + '-ев';
+            } else if (last2Digits === 0) {
+                return number + '-ен';
+            } else if (last2Digits > 10 && last2Digits < 20) {
+                return number + '-ти';
+            } else if (lastDigit === 1) {
+                return number + '-ви';
+            } else if (lastDigit === 2) {
+                return number + '-ри';
+            } else if (lastDigit === 7 || lastDigit === 8) {
+                return number + '-ми';
+            } else {
+                return number + '-ти';
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ml', {
+        months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
+        monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
+        weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
+        weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm -നു',
+            LTS : 'A h:mm:ss -നു',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm -നു',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
+        },
+        calendar : {
+            sameDay : '[ഇന്ന്] LT',
+            nextDay : '[നാളെ] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[ഇന്നലെ] LT',
+            lastWeek : '[കഴിഞ്ഞ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s കഴിഞ്ഞ്',
+            past : '%s മുൻപ്',
+            s : 'അൽപ നിമിഷങ്ങൾ',
+            ss : '%d സെക്കൻഡ്',
+            m : 'ഒരു മിനിറ്റ്',
+            mm : '%d മിനിറ്റ്',
+            h : 'ഒരു മണിക്കൂർ',
+            hh : '%d മണിക്കൂർ',
+            d : 'ഒരു ദിവസം',
+            dd : '%d ദിവസം',
+            M : 'ഒരു മാസം',
+            MM : '%d മാസം',
+            y : 'ഒരു വർഷം',
+            yy : '%d വർഷം'
+        },
+        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if ((meridiem === 'രാത്രി' && hour >= 4) ||
+                    meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
+                    meridiem === 'വൈകുന്നേരം') {
+                return hour + 12;
+            } else {
+                return hour;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'രാത്രി';
+            } else if (hour < 12) {
+                return 'രാവിലെ';
+            } else if (hour < 17) {
+                return 'ഉച്ച കഴിഞ്ഞ്';
+            } else if (hour < 20) {
+                return 'വൈകുന്നേരം';
+            } else {
+                return 'രാത്രി';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function translate$7(number, withoutSuffix, key, isFuture) {
+        switch (key) {
+            case 's':
+                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
+            case 'ss':
+                return number + (withoutSuffix ? ' секунд' : ' секундын');
+            case 'm':
+            case 'mm':
+                return number + (withoutSuffix ? ' минут' : ' минутын');
+            case 'h':
+            case 'hh':
+                return number + (withoutSuffix ? ' цаг' : ' цагийн');
+            case 'd':
+            case 'dd':
+                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
+            case 'M':
+            case 'MM':
+                return number + (withoutSuffix ? ' сар' : ' сарын');
+            case 'y':
+            case 'yy':
+                return number + (withoutSuffix ? ' жил' : ' жилийн');
+            default:
+                return number;
+        }
+    }
+
+    hooks.defineLocale('mn', {
+        months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
+        monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
+        weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
+        weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'YYYY оны MMMMын D',
+            LLL : 'YYYY оны MMMMын D HH:mm',
+            LLLL : 'dddd, YYYY оны MMMMын D HH:mm'
+        },
+        meridiemParse: /ҮӨ|ҮХ/i,
+        isPM : function (input) {
+            return input === 'ҮХ';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'Ò®Ó¨';
+            } else {
+                return 'ҮХ';
+            }
+        },
+        calendar : {
+            sameDay : '[Өнөөдөр] LT',
+            nextDay : '[Маргааш] LT',
+            nextWeek : '[Ирэх] dddd LT',
+            lastDay : '[Өчигдөр] LT',
+            lastWeek : '[Өнгөрсөн] dddd LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s дараа',
+            past : '%s өмнө',
+            s : translate$7,
+            ss : translate$7,
+            m : translate$7,
+            mm : translate$7,
+            h : translate$7,
+            hh : translate$7,
+            d : translate$7,
+            dd : translate$7,
+            M : translate$7,
+            MM : translate$7,
+            y : translate$7,
+            yy : translate$7
+        },
+        dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + ' өдөр';
+                default:
+                    return number;
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$b = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap$a = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    function relativeTimeMr(number, withoutSuffix, string, isFuture)
+    {
+        var output = '';
+        if (withoutSuffix) {
+            switch (string) {
+                case 's': output = 'काही सेकंद'; break;
+                case 'ss': output = '%d सेकंद'; break;
+                case 'm': output = 'एक मिनिट'; break;
+                case 'mm': output = '%d मिनिटे'; break;
+                case 'h': output = 'एक तास'; break;
+                case 'hh': output = '%d तास'; break;
+                case 'd': output = 'एक दिवस'; break;
+                case 'dd': output = '%d दिवस'; break;
+                case 'M': output = 'एक महिना'; break;
+                case 'MM': output = '%d महिने'; break;
+                case 'y': output = 'एक वर्ष'; break;
+                case 'yy': output = '%d वर्षे'; break;
+            }
+        }
+        else {
+            switch (string) {
+                case 's': output = 'काही सेकंदां'; break;
+                case 'ss': output = '%d सेकंदां'; break;
+                case 'm': output = 'एका मिनिटा'; break;
+                case 'mm': output = '%d मिनिटां'; break;
+                case 'h': output = 'एका तासा'; break;
+                case 'hh': output = '%d तासां'; break;
+                case 'd': output = 'एका दिवसा'; break;
+                case 'dd': output = '%d दिवसां'; break;
+                case 'M': output = 'एका महिन्या'; break;
+                case 'MM': output = '%d महिन्यां'; break;
+                case 'y': output = 'एका वर्षा'; break;
+                case 'yy': output = '%d वर्षां'; break;
+            }
+        }
+        return output.replace(/%d/i, number);
+    }
+
+    hooks.defineLocale('mr', {
+        months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
+        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+        weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
+        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm वाजता',
+            LTS : 'A h:mm:ss वाजता',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm वाजता',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[उद्या] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[काल] LT',
+            lastWeek: '[मागील] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future: '%sमध्ये',
+            past: '%sपूर्वी',
+            s: relativeTimeMr,
+            ss: relativeTimeMr,
+            m: relativeTimeMr,
+            mm: relativeTimeMr,
+            h: relativeTimeMr,
+            hh: relativeTimeMr,
+            d: relativeTimeMr,
+            dd: relativeTimeMr,
+            M: relativeTimeMr,
+            MM: relativeTimeMr,
+            y: relativeTimeMr,
+            yy: relativeTimeMr
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap$a[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$b[match];
+            });
+        },
+        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'रात्री') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'सकाळी') {
+                return hour;
+            } else if (meridiem === 'दुपारी') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'सायंकाळी') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'रात्री';
+            } else if (hour < 10) {
+                return 'सकाळी';
+            } else if (hour < 17) {
+                return 'दुपारी';
+            } else if (hour < 20) {
+                return 'सायंकाळी';
+            } else {
+                return 'रात्री';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ms-my', {
+        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|tengahari|petang|malam/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'tengahari') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'petang' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'tengahari';
+            } else if (hours < 19) {
+                return 'petang';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Esok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kelmarin pukul] LT',
+            lastWeek : 'dddd [lepas pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lepas',
+            s : 'beberapa saat',
+            ss : '%d saat',
+            m : 'seminit',
+            mm : '%d minit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ms', {
+        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [pukul] HH.mm',
+            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+        },
+        meridiemParse: /pagi|tengahari|petang|malam/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'pagi') {
+                return hour;
+            } else if (meridiem === 'tengahari') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'petang' || meridiem === 'malam') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'pagi';
+            } else if (hours < 15) {
+                return 'tengahari';
+            } else if (hours < 19) {
+                return 'petang';
+            } else {
+                return 'malam';
+            }
+        },
+        calendar : {
+            sameDay : '[Hari ini pukul] LT',
+            nextDay : '[Esok pukul] LT',
+            nextWeek : 'dddd [pukul] LT',
+            lastDay : '[Kelmarin pukul] LT',
+            lastWeek : 'dddd [lepas pukul] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'dalam %s',
+            past : '%s yang lepas',
+            s : 'beberapa saat',
+            ss : '%d saat',
+            m : 'seminit',
+            mm : '%d minit',
+            h : 'sejam',
+            hh : '%d jam',
+            d : 'sehari',
+            dd : '%d hari',
+            M : 'sebulan',
+            MM : '%d bulan',
+            y : 'setahun',
+            yy : '%d tahun'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('mt', {
+        months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
+        monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
+        weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
+        weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
+        weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Illum fil-]LT',
+            nextDay : '[Għada fil-]LT',
+            nextWeek : 'dddd [fil-]LT',
+            lastDay : '[Il-bieraħ fil-]LT',
+            lastWeek : 'dddd [li għadda] [fil-]LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'f’ %s',
+            past : '%s ilu',
+            s : 'ftit sekondi',
+            ss : '%d sekondi',
+            m : 'minuta',
+            mm : '%d minuti',
+            h : 'siegħa',
+            hh : '%d siegħat',
+            d : 'ġurnata',
+            dd : '%d ġranet',
+            M : 'xahar',
+            MM : '%d xhur',
+            y : 'sena',
+            yy : '%d sni'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}º/,
+        ordinal: '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$c = {
+        '1': '၁',
+        '2': '၂',
+        '3': '၃',
+        '4': '၄',
+        '5': '၅',
+        '6': '၆',
+        '7': '၇',
+        '8': '၈',
+        '9': '၉',
+        '0': '၀'
+    }, numberMap$b = {
+        '၁': '1',
+        '၂': '2',
+        '၃': '3',
+        '၄': '4',
+        '၅': '5',
+        '၆': '6',
+        '၇': '7',
+        '၈': '8',
+        '၉': '9',
+        '၀': '0'
+    };
+
+    hooks.defineLocale('my', {
+        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
+        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
+        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
+        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'DD/MM/YYYY',
+            LL: 'D MMMM YYYY',
+            LLL: 'D MMMM YYYY HH:mm',
+            LLLL: 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar: {
+            sameDay: '[ယနေ.] LT [မှာ]',
+            nextDay: '[မနက်ဖြန်] LT [မှာ]',
+            nextWeek: 'dddd LT [မှာ]',
+            lastDay: '[မနေ.က] LT [မှာ]',
+            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: 'လာမည့် %s မှာ',
+            past: 'လွန်ခဲ့သော %s က',
+            s: 'စက္ကန်.အနည်းငယ်',
+            ss : '%d စက္ကန့်',
+            m: 'တစ်မိနစ်',
+            mm: '%d မိနစ်',
+            h: 'တစ်နာရီ',
+            hh: '%d နာရီ',
+            d: 'တစ်ရက်',
+            dd: '%d ရက်',
+            M: 'တစ်လ',
+            MM: '%d လ',
+            y: 'တစ်နှစ်',
+            yy: '%d နှစ်'
+        },
+        preparse: function (string) {
+            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
+                return numberMap$b[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$c[match];
+            });
+        },
+        week: {
+            dow: 1, // Monday is the first day of the week.
+            doy: 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('nb', {
+        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+        weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] HH:mm',
+            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[i dag kl.] LT',
+            nextDay: '[i morgen kl.] LT',
+            nextWeek: 'dddd [kl.] LT',
+            lastDay: '[i går kl.] LT',
+            lastWeek: '[forrige] dddd [kl.] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s siden',
+            s : 'noen sekunder',
+            ss : '%d sekunder',
+            m : 'ett minutt',
+            mm : '%d minutter',
+            h : 'en time',
+            hh : '%d timer',
+            d : 'en dag',
+            dd : '%d dager',
+            M : 'en måned',
+            MM : '%d måneder',
+            y : 'ett år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$d = {
+        '1': '१',
+        '2': '२',
+        '3': '३',
+        '4': '४',
+        '5': '५',
+        '6': '६',
+        '7': '७',
+        '8': '८',
+        '9': '९',
+        '0': '०'
+    },
+    numberMap$c = {
+        '१': '1',
+        '२': '2',
+        '३': '3',
+        '४': '4',
+        '५': '5',
+        '६': '6',
+        '७': '7',
+        '८': '8',
+        '९': '9',
+        '०': '0'
+    };
+
+    hooks.defineLocale('ne', {
+        months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
+        monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
+        weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
+        weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'Aको h:mm बजे',
+            LTS : 'Aको h:mm:ss बजे',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, Aको h:mm बजे',
+            LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
+        },
+        preparse: function (string) {
+            return string.replace(/[१२३४५६७८९०]/g, function (match) {
+                return numberMap$c[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$d[match];
+            });
+        },
+        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'राति') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'बिहान') {
+                return hour;
+            } else if (meridiem === 'दिउँसो') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'साँझ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 3) {
+                return 'राति';
+            } else if (hour < 12) {
+                return 'बिहान';
+            } else if (hour < 16) {
+                return 'दिउँसो';
+            } else if (hour < 20) {
+                return 'साँझ';
+            } else {
+                return 'राति';
+            }
+        },
+        calendar : {
+            sameDay : '[आज] LT',
+            nextDay : '[भोलि] LT',
+            nextWeek : '[आउँदो] dddd[,] LT',
+            lastDay : '[हिजो] LT',
+            lastWeek : '[गएको] dddd[,] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%sमा',
+            past : '%s अगाडि',
+            s : 'केही क्षण',
+            ss : '%d सेकेण्ड',
+            m : 'एक मिनेट',
+            mm : '%d मिनेट',
+            h : 'एक घण्टा',
+            hh : '%d घण्टा',
+            d : 'एक दिन',
+            dd : '%d दिन',
+            M : 'एक महिना',
+            MM : '%d महिना',
+            y : 'एक बर्ष',
+            yy : '%d बर्ष'
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+    var monthsParse$4 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+    var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
+
+    hooks.defineLocale('nl-be', {
+        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots$1;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots$1[m.month()];
+            } else {
+                return monthsShortWithDots$1[m.month()];
+            }
+        },
+
+        monthsRegex: monthsRegex$5,
+        monthsShortRegex: monthsRegex$5,
+        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+        monthsParse : monthsParse$4,
+        longMonthsParse : monthsParse$4,
+        shortMonthsParse : monthsParse$4,
+
+        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[vandaag om] LT',
+            nextDay: '[morgen om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[gisteren om] LT',
+            lastWeek: '[afgelopen] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'over %s',
+            past : '%s geleden',
+            s : 'een paar seconden',
+            ss : '%d seconden',
+            m : 'één minuut',
+            mm : '%d minuten',
+            h : 'één uur',
+            hh : '%d uur',
+            d : 'één dag',
+            dd : '%d dagen',
+            M : 'één maand',
+            MM : '%d maanden',
+            y : 'één jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+        monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+    var monthsParse$5 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+    var monthsRegex$6 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;
+
+    hooks.defineLocale('nl', {
+        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+        monthsShort : function (m, format) {
+            if (!m) {
+                return monthsShortWithDots$2;
+            } else if (/-MMM-/.test(format)) {
+                return monthsShortWithoutDots$2[m.month()];
+            } else {
+                return monthsShortWithDots$2[m.month()];
+            }
+        },
+
+        monthsRegex: monthsRegex$6,
+        monthsShortRegex: monthsRegex$6,
+        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+        monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+        monthsParse : monthsParse$5,
+        longMonthsParse : monthsParse$5,
+        shortMonthsParse : monthsParse$5,
+
+        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD-MM-YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[vandaag om] LT',
+            nextDay: '[morgen om] LT',
+            nextWeek: 'dddd [om] LT',
+            lastDay: '[gisteren om] LT',
+            lastWeek: '[afgelopen] dddd [om] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'over %s',
+            past : '%s geleden',
+            s : 'een paar seconden',
+            ss : '%d seconden',
+            m : 'één minuut',
+            mm : '%d minuten',
+            h : 'één uur',
+            hh : '%d uur',
+            d : 'één dag',
+            dd : '%d dagen',
+            M : 'één maand',
+            MM : '%d maanden',
+            y : 'één jaar',
+            yy : '%d jaar'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+        ordinal : function (number) {
+            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('nn', {
+        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+        weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
+        weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
+        weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY [kl.] H:mm',
+            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[I dag klokka] LT',
+            nextDay: '[I morgon klokka] LT',
+            nextWeek: 'dddd [klokka] LT',
+            lastDay: '[I går klokka] LT',
+            lastWeek: '[Føregåande] dddd [klokka] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : '%s sidan',
+            s : 'nokre sekund',
+            ss : '%d sekund',
+            m : 'eit minutt',
+            mm : '%d minutt',
+            h : 'ein time',
+            hh : '%d timar',
+            d : 'ein dag',
+            dd : '%d dagar',
+            M : 'ein månad',
+            MM : '%d månader',
+            y : 'eit år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$e = {
+        '1': 'à©§',
+        '2': '੨',
+        '3': 'à©©',
+        '4': '੪',
+        '5': 'à©«',
+        '6': '੬',
+        '7': 'à©­',
+        '8': 'à©®',
+        '9': '੯',
+        '0': '੦'
+    },
+    numberMap$d = {
+        'à©§': '1',
+        '੨': '2',
+        'à©©': '3',
+        '੪': '4',
+        'à©«': '5',
+        '੬': '6',
+        'à©­': '7',
+        'à©®': '8',
+        '੯': '9',
+        '੦': '0'
+    };
+
+    hooks.defineLocale('pa-in', {
+        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
+        months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+        monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+        weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
+        weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+        weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm ਵਜੇ',
+            LTS : 'A h:mm:ss ਵਜੇ',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
+        },
+        calendar : {
+            sameDay : '[ਅਜ] LT',
+            nextDay : '[ਕਲ] LT',
+            nextWeek : '[ਅਗਲਾ] dddd, LT',
+            lastDay : '[ਕਲ] LT',
+            lastWeek : '[ਪਿਛਲੇ] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s ਵਿੱਚ',
+            past : '%s ਪਿਛਲੇ',
+            s : 'ਕੁਝ ਸਕਿੰਟ',
+            ss : '%d ਸਕਿੰਟ',
+            m : 'ਇਕ ਮਿੰਟ',
+            mm : '%d ਮਿੰਟ',
+            h : 'ਇੱਕ ਘੰਟਾ',
+            hh : '%d ਘੰਟੇ',
+            d : 'ਇੱਕ ਦਿਨ',
+            dd : '%d ਦਿਨ',
+            M : 'ਇੱਕ ਮਹੀਨਾ',
+            MM : '%d ਮਹੀਨੇ',
+            y : 'ਇੱਕ ਸਾਲ',
+            yy : '%d ਸਾਲ'
+        },
+        preparse: function (string) {
+            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
+                return numberMap$d[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$e[match];
+            });
+        },
+        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
+        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
+        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ਰਾਤ') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ਸਵੇਰ') {
+                return hour;
+            } else if (meridiem === 'ਦੁਪਹਿਰ') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'ਸ਼ਾਮ') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ਰਾਤ';
+            } else if (hour < 10) {
+                return 'ਸਵੇਰ';
+            } else if (hour < 17) {
+                return 'ਦੁਪਹਿਰ';
+            } else if (hour < 20) {
+                return 'ਸ਼ਾਮ';
+            } else {
+                return 'ਰਾਤ';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
+        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
+    function plural$3(n) {
+        return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
+    }
+    function translate$8(number, withoutSuffix, key) {
+        var result = number + ' ';
+        switch (key) {
+            case 'ss':
+                return result + (plural$3(number) ? 'sekundy' : 'sekund');
+            case 'm':
+                return withoutSuffix ? 'minuta' : 'minutÄ™';
+            case 'mm':
+                return result + (plural$3(number) ? 'minuty' : 'minut');
+            case 'h':
+                return withoutSuffix  ? 'godzina'  : 'godzinÄ™';
+            case 'hh':
+                return result + (plural$3(number) ? 'godziny' : 'godzin');
+            case 'MM':
+                return result + (plural$3(number) ? 'miesiące' : 'miesięcy');
+            case 'yy':
+                return result + (plural$3(number) ? 'lata' : 'lat');
+        }
+    }
+
+    hooks.defineLocale('pl', {
+        months : function (momentToFormat, format) {
+            if (!momentToFormat) {
+                return monthsNominative;
+            } else if (format === '') {
+                // Hack: if format empty we know this is used to generate
+                // RegExp by moment. Give then back both valid forms of months
+                // in RegExp ready format.
+                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
+            } else if (/D MMMM/.test(format)) {
+                return monthsSubjective[momentToFormat.month()];
+            } else {
+                return monthsNominative[momentToFormat.month()];
+            }
+        },
+        monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
+        weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
+        weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
+        weekdaysMin : 'Nd_Pn_Wt_Åšr_Cz_Pt_So'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[DziÅ› o] LT',
+            nextDay: '[Jutro o] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[W niedzielÄ™ o] LT';
+
+                    case 2:
+                        return '[We wtorek o] LT';
+
+                    case 3:
+                        return '[W środę o] LT';
+
+                    case 6:
+                        return '[W sobotÄ™ o] LT';
+
+                    default:
+                        return '[W] dddd [o] LT';
+                }
+            },
+            lastDay: '[Wczoraj o] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[W zeszłą niedzielę o] LT';
+                    case 3:
+                        return '[W zeszłą środę o] LT';
+                    case 6:
+                        return '[W zeszłą sobotę o] LT';
+                    default:
+                        return '[W zeszły] dddd [o] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : '%s temu',
+            s : 'kilka sekund',
+            ss : translate$8,
+            m : translate$8,
+            mm : translate$8,
+            h : translate$8,
+            hh : translate$8,
+            d : '1 dzień',
+            dd : '%d dni',
+            M : 'miesiÄ…c',
+            MM : translate$8,
+            y : 'rok',
+            yy : translate$8
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('pt-br', {
+        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hoje às] LT',
+            nextDay: '[Amanhã às] LT',
+            nextWeek: 'dddd [às] LT',
+            lastDay: '[Ontem às] LT',
+            lastWeek: function () {
+                return (this.day() === 0 || this.day() === 6) ?
+                    '[Último] dddd [às] LT' : // Saturday + Sunday
+                    '[Última] dddd [às] LT'; // Monday - Friday
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'em %s',
+            past : 'há %s',
+            s : 'poucos segundos',
+            ss : '%d segundos',
+            m : 'um minuto',
+            mm : '%d minutos',
+            h : 'uma hora',
+            hh : '%d horas',
+            d : 'um dia',
+            dd : '%d dias',
+            M : 'um mês',
+            MM : '%d meses',
+            y : 'um ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal : '%dº'
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('pt', {
+        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D [de] MMMM [de] YYYY',
+            LLL : 'D [de] MMMM [de] YYYY HH:mm',
+            LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hoje às] LT',
+            nextDay: '[Amanhã às] LT',
+            nextWeek: 'dddd [às] LT',
+            lastDay: '[Ontem às] LT',
+            lastWeek: function () {
+                return (this.day() === 0 || this.day() === 6) ?
+                    '[Último] dddd [às] LT' : // Saturday + Sunday
+                    '[Última] dddd [às] LT'; // Monday - Friday
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'em %s',
+            past : 'há %s',
+            s : 'segundos',
+            ss : '%d segundos',
+            m : 'um minuto',
+            mm : '%d minutos',
+            h : 'uma hora',
+            hh : '%d horas',
+            d : 'um dia',
+            dd : '%d dias',
+            M : 'um mês',
+            MM : '%d meses',
+            y : 'um ano',
+            yy : '%d anos'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}º/,
+        ordinal : '%dº',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function relativeTimeWithPlural$2(number, withoutSuffix, key) {
+        var format = {
+                'ss': 'secunde',
+                'mm': 'minute',
+                'hh': 'ore',
+                'dd': 'zile',
+                'MM': 'luni',
+                'yy': 'ani'
+            },
+            separator = ' ';
+        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
+            separator = ' de ';
+        }
+        return number + separator + format[key];
+    }
+
+    hooks.defineLocale('ro', {
+        months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
+        monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
+        weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
+        weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY H:mm',
+            LLLL : 'dddd, D MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay: '[azi la] LT',
+            nextDay: '[mâine la] LT',
+            nextWeek: 'dddd [la] LT',
+            lastDay: '[ieri la] LT',
+            lastWeek: '[fosta] dddd [la] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'peste %s',
+            past : '%s în urmă',
+            s : 'câteva secunde',
+            ss : relativeTimeWithPlural$2,
+            m : 'un minut',
+            mm : relativeTimeWithPlural$2,
+            h : 'o oră',
+            hh : relativeTimeWithPlural$2,
+            d : 'o zi',
+            dd : relativeTimeWithPlural$2,
+            M : 'o lună',
+            MM : relativeTimeWithPlural$2,
+            y : 'un an',
+            yy : relativeTimeWithPlural$2
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural$4(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural$3(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
+            'hh': 'час_часа_часов',
+            'dd': 'день_дня_дней',
+            'MM': 'месяц_месяца_месяцев',
+            'yy': 'год_года_лет'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'минута' : 'минуту';
+        }
+        else {
+            return number + ' ' + plural$4(format[key], +number);
+        }
+    }
+    var monthsParse$6 = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
+
+    // http://new.gramota.ru/spravka/rules/139-prop : § 103
+    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
+    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
+    hooks.defineLocale('ru', {
+        months : {
+            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
+            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
+        },
+        monthsShort : {
+            // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
+            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
+            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
+        },
+        weekdays : {
+            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
+            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
+            isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
+        },
+        weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+        weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+        monthsParse : monthsParse$6,
+        longMonthsParse : monthsParse$6,
+        shortMonthsParse : monthsParse$6,
+
+        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
+        monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+        // копия предыдущего
+        monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+        // полные названия с падежами
+        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
+
+        // Выражение, которое соотвествует только сокращённым формам
+        monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY г.',
+            LLL : 'D MMMM YYYY г., H:mm',
+            LLLL : 'dddd, D MMMM YYYY г., H:mm'
+        },
+        calendar : {
+            sameDay: '[Сегодня, в] LT',
+            nextDay: '[Завтра, в] LT',
+            lastDay: '[Вчера, в] LT',
+            nextWeek: function (now) {
+                if (now.week() !== this.week()) {
+                    switch (this.day()) {
+                        case 0:
+                            return '[В следующее] dddd, [в] LT';
+                        case 1:
+                        case 2:
+                        case 4:
+                            return '[В следующий] dddd, [в] LT';
+                        case 3:
+                        case 5:
+                        case 6:
+                            return '[В следующую] dddd, [в] LT';
+                    }
+                } else {
+                    if (this.day() === 2) {
+                        return '[Во] dddd, [в] LT';
+                    } else {
+                        return '[В] dddd, [в] LT';
+                    }
+                }
+            },
+            lastWeek: function (now) {
+                if (now.week() !== this.week()) {
+                    switch (this.day()) {
+                        case 0:
+                            return '[В прошлое] dddd, [в] LT';
+                        case 1:
+                        case 2:
+                        case 4:
+                            return '[В прошлый] dddd, [в] LT';
+                        case 3:
+                        case 5:
+                        case 6:
+                            return '[В прошлую] dddd, [в] LT';
+                    }
+                } else {
+                    if (this.day() === 2) {
+                        return '[Во] dddd, [в] LT';
+                    } else {
+                        return '[В] dddd, [в] LT';
+                    }
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'через %s',
+            past : '%s назад',
+            s : 'несколько секунд',
+            ss : relativeTimeWithPlural$3,
+            m : relativeTimeWithPlural$3,
+            mm : relativeTimeWithPlural$3,
+            h : 'час',
+            hh : relativeTimeWithPlural$3,
+            d : 'день',
+            dd : relativeTimeWithPlural$3,
+            M : 'месяц',
+            MM : relativeTimeWithPlural$3,
+            y : 'год',
+            yy : relativeTimeWithPlural$3
+        },
+        meridiemParse: /ночи|утра|дня|вечера/i,
+        isPM : function (input) {
+            return /^(дня|вечера)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночи';
+            } else if (hour < 12) {
+                return 'утра';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечера';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                    return number + '-й';
+                case 'D':
+                    return number + '-го';
+                case 'w':
+                case 'W':
+                    return number + '-я';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$8 = [
+        'جنوري',
+        'فيبروري',
+        'مارچ',
+        'اپريل',
+        'مئي',
+        'جون',
+        'جولاءِ',
+        'آگسٽ',
+        'سيپٽمبر',
+        'آڪٽوبر',
+        'نومبر',
+        'ڊسمبر'
+    ];
+    var days$1 = [
+        'آچر',
+        'سومر',
+        'اڱارو',
+        'اربع',
+        'خميس',
+        'جمع',
+        'ڇنڇر'
+    ];
+
+    hooks.defineLocale('sd', {
+        months : months$8,
+        monthsShort : months$8,
+        weekdays : days$1,
+        weekdaysShort : days$1,
+        weekdaysMin : days$1,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd، D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /صبح|شام/,
+        isPM : function (input) {
+            return 'شام' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'صبح';
+            }
+            return 'شام';
+        },
+        calendar : {
+            sameDay : '[اڄ] LT',
+            nextDay : '[سڀاڻي] LT',
+            nextWeek : 'dddd [اڳين هفتي تي] LT',
+            lastDay : '[ڪالهه] LT',
+            lastWeek : '[گزريل هفتي] dddd [تي] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s پوء',
+            past : '%s اڳ',
+            s : 'چند سيڪنڊ',
+            ss : '%d سيڪنڊ',
+            m : 'هڪ منٽ',
+            mm : '%d منٽ',
+            h : 'هڪ ڪلاڪ',
+            hh : '%d ڪلاڪ',
+            d : 'هڪ ڏينهن',
+            dd : '%d ڏينهن',
+            M : 'هڪ مهينو',
+            MM : '%d مهينا',
+            y : 'هڪ سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('se', {
+        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('_'),
+        monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
+        weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
+        weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
+        weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'MMMM D. [b.] YYYY',
+            LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
+            LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
+        },
+        calendar : {
+            sameDay: '[otne ti] LT',
+            nextDay: '[ihttin ti] LT',
+            nextWeek: 'dddd [ti] LT',
+            lastDay: '[ikte ti] LT',
+            lastWeek: '[ovddit] dddd [ti] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s geažes',
+            past : 'maŋit %s',
+            s : 'moadde sekunddat',
+            ss: '%d sekunddat',
+            m : 'okta minuhta',
+            mm : '%d minuhtat',
+            h : 'okta diimmu',
+            hh : '%d diimmut',
+            d : 'okta beaivi',
+            dd : '%d beaivvit',
+            M : 'okta mánnu',
+            MM : '%d mánut',
+            y : 'okta jahki',
+            yy : '%d jagit'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    /*jshint -W100*/
+    hooks.defineLocale('si', {
+        months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
+        monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
+        weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
+        weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
+        weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'a h:mm',
+            LTS : 'a h:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY MMMM D',
+            LLL : 'YYYY MMMM D, a h:mm',
+            LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
+        },
+        calendar : {
+            sameDay : '[අද] LT[ට]',
+            nextDay : '[හෙට] LT[ට]',
+            nextWeek : 'dddd LT[à¶§]',
+            lastDay : '[ඊයේ] LT[ට]',
+            lastWeek : '[පසුගිය] dddd LT[ට]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%sකින්',
+            past : '%sකට පෙර',
+            s : 'තත්පර කිහිපය',
+            ss : 'à¶­à¶­à·Šà¶´à¶» %d',
+            m : 'මිනිත්තුව',
+            mm : 'මිනිත්තු %d',
+            h : 'පැය',
+            hh : 'පැය %d',
+            d : 'දිනය',
+            dd : 'දින %d',
+            M : 'මාසය',
+            MM : 'මාස %d',
+            y : 'වසර',
+            yy : 'වසර %d'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
+        ordinal : function (number) {
+            return number + ' වැනි';
+        },
+        meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
+        isPM : function (input) {
+            return input === 'ප.ව.' || input === 'පස් වරු';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'ප.ව.' : 'පස් වරු';
+            } else {
+                return isLower ? 'පෙ.ව.' : 'පෙර වරු';
+            }
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$9 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
+        monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
+    function plural$5(n) {
+        return (n > 1) && (n < 5);
+    }
+    function translate$9(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':  // a few seconds / in a few seconds / a few seconds ago
+                return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
+            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'sekundy' : 'sekúnd');
+                } else {
+                    return result + 'sekundami';
+                }
+                break;
+            case 'm':  // a minute / in a minute / a minute ago
+                return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
+            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'minúty' : 'minút');
+                } else {
+                    return result + 'minútami';
+                }
+                break;
+            case 'h':  // an hour / in an hour / an hour ago
+                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+            case 'hh': // 9 hours / in 9 hours / 9 hours ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'hodiny' : 'hodín');
+                } else {
+                    return result + 'hodinami';
+                }
+                break;
+            case 'd':  // a day / in a day / a day ago
+                return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
+            case 'dd': // 9 days / in 9 days / 9 days ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'dni' : 'dní');
+                } else {
+                    return result + 'dňami';
+                }
+                break;
+            case 'M':  // a month / in a month / a month ago
+                return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
+            case 'MM': // 9 months / in 9 months / 9 months ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'mesiace' : 'mesiacov');
+                } else {
+                    return result + 'mesiacmi';
+                }
+                break;
+            case 'y':  // a year / in a year / a year ago
+                return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
+            case 'yy': // 9 years / in 9 years / 9 years ago
+                if (withoutSuffix || isFuture) {
+                    return result + (plural$5(number) ? 'roky' : 'rokov');
+                } else {
+                    return result + 'rokmi';
+                }
+                break;
+        }
+    }
+
+    hooks.defineLocale('sk', {
+        months : months$9,
+        monthsShort : monthsShort$6,
+        weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
+        weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
+        weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
+        longDateFormat : {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay: '[dnes o] LT',
+            nextDay: '[zajtra o] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v nedeľu o] LT';
+                    case 1:
+                    case 2:
+                        return '[v] dddd [o] LT';
+                    case 3:
+                        return '[v stredu o] LT';
+                    case 4:
+                        return '[vo štvrtok o] LT';
+                    case 5:
+                        return '[v piatok o] LT';
+                    case 6:
+                        return '[v sobotu o] LT';
+                }
+            },
+            lastDay: '[včera o] LT',
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[minulú nedeľu o] LT';
+                    case 1:
+                    case 2:
+                        return '[minulý] dddd [o] LT';
+                    case 3:
+                        return '[minulú stredu o] LT';
+                    case 4:
+                    case 5:
+                        return '[minulý] dddd [o] LT';
+                    case 6:
+                        return '[minulú sobotu o] LT';
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past : 'pred %s',
+            s : translate$9,
+            ss : translate$9,
+            m : translate$9,
+            mm : translate$9,
+            h : translate$9,
+            hh : translate$9,
+            d : translate$9,
+            dd : translate$9,
+            M : translate$9,
+            MM : translate$9,
+            y : translate$9,
+            yy : translate$9
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function processRelativeTime$6(number, withoutSuffix, key, isFuture) {
+        var result = number + ' ';
+        switch (key) {
+            case 's':
+                return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
+            case 'ss':
+                if (number === 1) {
+                    result += withoutSuffix ? 'sekundo' : 'sekundi';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
+                } else {
+                    result += 'sekund';
+                }
+                return result;
+            case 'm':
+                return withoutSuffix ? 'ena minuta' : 'eno minuto';
+            case 'mm':
+                if (number === 1) {
+                    result += withoutSuffix ? 'minuta' : 'minuto';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';
+                } else {
+                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';
+                }
+                return result;
+            case 'h':
+                return withoutSuffix ? 'ena ura' : 'eno uro';
+            case 'hh':
+                if (number === 1) {
+                    result += withoutSuffix ? 'ura' : 'uro';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'uri' : 'urama';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'ure' : 'urami';
+                } else {
+                    result += withoutSuffix || isFuture ? 'ur' : 'urami';
+                }
+                return result;
+            case 'd':
+                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
+            case 'dd':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
+                } else {
+                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
+                }
+                return result;
+            case 'M':
+                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
+            case 'MM':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
+                } else {
+                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
+                }
+                return result;
+            case 'y':
+                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
+            case 'yy':
+                if (number === 1) {
+                    result += withoutSuffix || isFuture ? 'leto' : 'letom';
+                } else if (number === 2) {
+                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';
+                } else if (number < 5) {
+                    result += withoutSuffix || isFuture ? 'leta' : 'leti';
+                } else {
+                    result += withoutSuffix || isFuture ? 'let' : 'leti';
+                }
+                return result;
+        }
+    }
+
+    hooks.defineLocale('sl', {
+        months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
+        weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
+        weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM YYYY',
+            LLL : 'D. MMMM YYYY H:mm',
+            LLLL : 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar : {
+            sameDay  : '[danes ob] LT',
+            nextDay  : '[jutri ob] LT',
+
+            nextWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[v] [nedeljo] [ob] LT';
+                    case 3:
+                        return '[v] [sredo] [ob] LT';
+                    case 6:
+                        return '[v] [soboto] [ob] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[v] dddd [ob] LT';
+                }
+            },
+            lastDay  : '[včeraj ob] LT',
+            lastWeek : function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[prejšnjo] [nedeljo] [ob] LT';
+                    case 3:
+                        return '[prejšnjo] [sredo] [ob] LT';
+                    case 6:
+                        return '[prejšnjo] [soboto] [ob] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[prejšnji] dddd [ob] LT';
+                }
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'čez %s',
+            past   : 'pred %s',
+            s      : processRelativeTime$6,
+            ss     : processRelativeTime$6,
+            m      : processRelativeTime$6,
+            mm     : processRelativeTime$6,
+            h      : processRelativeTime$6,
+            hh     : processRelativeTime$6,
+            d      : processRelativeTime$6,
+            dd     : processRelativeTime$6,
+            M      : processRelativeTime$6,
+            MM     : processRelativeTime$6,
+            y      : processRelativeTime$6,
+            yy     : processRelativeTime$6
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('sq', {
+        months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
+        monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
+        weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
+        weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
+        weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
+        weekdaysParseExact : true,
+        meridiemParse: /PD|MD/,
+        isPM: function (input) {
+            return input.charAt(0) === 'M';
+        },
+        meridiem : function (hours, minutes, isLower) {
+            return hours < 12 ? 'PD' : 'MD';
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Sot në] LT',
+            nextDay : '[Nesër në] LT',
+            nextWeek : 'dddd [në] LT',
+            lastDay : '[Dje në] LT',
+            lastWeek : 'dddd [e kaluar në] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'në %s',
+            past : '%s më parë',
+            s : 'disa sekonda',
+            ss : '%d sekonda',
+            m : 'një minutë',
+            mm : '%d minuta',
+            h : 'një orë',
+            hh : '%d orë',
+            d : 'një ditë',
+            dd : '%d ditë',
+            M : 'një muaj',
+            MM : '%d muaj',
+            y : 'një vit',
+            yy : '%d vite'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var translator$1 = {
+        words: { //Different grammatical cases
+            ss: ['секунда', 'секунде', 'секунди'],
+            m: ['један минут', 'једне минуте'],
+            mm: ['минут', 'минуте', 'минута'],
+            h: ['један сат', 'једног сата'],
+            hh: ['сат', 'сата', 'сати'],
+            dd: ['дан', 'дана', 'дана'],
+            MM: ['месец', 'месеца', 'месеци'],
+            yy: ['година', 'године', 'година']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator$1.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    hooks.defineLocale('sr-cyrl', {
+        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
+        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
+        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
+        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[данас у] LT',
+            nextDay: '[сутра у] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[у] [недељу] [у] LT';
+                    case 3:
+                        return '[у] [среду] [у] LT';
+                    case 6:
+                        return '[у] [суботу] [у] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[у] dddd [у] LT';
+                }
+            },
+            lastDay  : '[јуче у] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[прошле] [недеље] [у] LT',
+                    '[прошлог] [понедељка] [у] LT',
+                    '[прошлог] [уторка] [у] LT',
+                    '[прошле] [среде] [у] LT',
+                    '[прошлог] [четвртка] [у] LT',
+                    '[прошлог] [петка] [у] LT',
+                    '[прошле] [суботе] [у] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'за %s',
+            past   : 'пре %s',
+            s      : 'неколико секунди',
+            ss     : translator$1.translate,
+            m      : translator$1.translate,
+            mm     : translator$1.translate,
+            h      : translator$1.translate,
+            hh     : translator$1.translate,
+            d      : 'дан',
+            dd     : translator$1.translate,
+            M      : 'месец',
+            MM     : translator$1.translate,
+            y      : 'годину',
+            yy     : translator$1.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var translator$2 = {
+        words: { //Different grammatical cases
+            ss: ['sekunda', 'sekunde', 'sekundi'],
+            m: ['jedan minut', 'jedne minute'],
+            mm: ['minut', 'minute', 'minuta'],
+            h: ['jedan sat', 'jednog sata'],
+            hh: ['sat', 'sata', 'sati'],
+            dd: ['dan', 'dana', 'dana'],
+            MM: ['mesec', 'meseca', 'meseci'],
+            yy: ['godina', 'godine', 'godina']
+        },
+        correctGrammaticalCase: function (number, wordKey) {
+            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+        },
+        translate: function (number, withoutSuffix, key) {
+            var wordKey = translator$2.words[key];
+            if (key.length === 1) {
+                return withoutSuffix ? wordKey[0] : wordKey[1];
+            } else {
+                return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);
+            }
+        }
+    };
+
+    hooks.defineLocale('sr', {
+        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+        monthsParseExact: true,
+        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
+        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
+        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat: {
+            LT: 'H:mm',
+            LTS : 'H:mm:ss',
+            L: 'DD.MM.YYYY',
+            LL: 'D. MMMM YYYY',
+            LLL: 'D. MMMM YYYY H:mm',
+            LLLL: 'dddd, D. MMMM YYYY H:mm'
+        },
+        calendar: {
+            sameDay: '[danas u] LT',
+            nextDay: '[sutra u] LT',
+            nextWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                        return '[u] [nedelju] [u] LT';
+                    case 3:
+                        return '[u] [sredu] [u] LT';
+                    case 6:
+                        return '[u] [subotu] [u] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                    case 5:
+                        return '[u] dddd [u] LT';
+                }
+            },
+            lastDay  : '[juče u] LT',
+            lastWeek : function () {
+                var lastWeekDays = [
+                    '[prošle] [nedelje] [u] LT',
+                    '[prošlog] [ponedeljka] [u] LT',
+                    '[prošlog] [utorka] [u] LT',
+                    '[prošle] [srede] [u] LT',
+                    '[prošlog] [četvrtka] [u] LT',
+                    '[prošlog] [petka] [u] LT',
+                    '[prošle] [subote] [u] LT'
+                ];
+                return lastWeekDays[this.day()];
+            },
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'za %s',
+            past   : 'pre %s',
+            s      : 'nekoliko sekundi',
+            ss     : translator$2.translate,
+            m      : translator$2.translate,
+            mm     : translator$2.translate,
+            h      : translator$2.translate,
+            hh     : translator$2.translate,
+            d      : 'dan',
+            dd     : translator$2.translate,
+            M      : 'mesec',
+            MM     : translator$2.translate,
+            y      : 'godinu',
+            yy     : translator$2.translate
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('ss', {
+        months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
+        monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
+        weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
+        weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
+        weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Namuhla nga] LT',
+            nextDay : '[Kusasa nga] LT',
+            nextWeek : 'dddd [nga] LT',
+            lastDay : '[Itolo nga] LT',
+            lastWeek : 'dddd [leliphelile] [nga] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'nga %s',
+            past : 'wenteka nga %s',
+            s : 'emizuzwana lomcane',
+            ss : '%d mzuzwana',
+            m : 'umzuzu',
+            mm : '%d emizuzu',
+            h : 'lihora',
+            hh : '%d emahora',
+            d : 'lilanga',
+            dd : '%d emalanga',
+            M : 'inyanga',
+            MM : '%d tinyanga',
+            y : 'umnyaka',
+            yy : '%d iminyaka'
+        },
+        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 11) {
+                return 'ekuseni';
+            } else if (hours < 15) {
+                return 'emini';
+            } else if (hours < 19) {
+                return 'entsambama';
+            } else {
+                return 'ebusuku';
+            }
+        },
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'ekuseni') {
+                return hour;
+            } else if (meridiem === 'emini') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
+                if (hour === 0) {
+                    return 0;
+                }
+                return hour + 12;
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : '%d',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('sv', {
+        months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
+        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+        weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
+        weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
+        weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY-MM-DD',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY [kl.] HH:mm',
+            LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Idag] LT',
+            nextDay: '[Imorgon] LT',
+            lastDay: '[Igår] LT',
+            nextWeek: '[PÃ¥] dddd LT',
+            lastWeek: '[I] dddd[s] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'om %s',
+            past : 'för %s sedan',
+            s : 'några sekunder',
+            ss : '%d sekunder',
+            m : 'en minut',
+            mm : '%d minuter',
+            h : 'en timme',
+            hh : '%d timmar',
+            d : 'en dag',
+            dd : '%d dagar',
+            M : 'en månad',
+            MM : '%d månader',
+            y : 'ett år',
+            yy : '%d år'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'e' :
+                (b === 1) ? 'a' :
+                (b === 2) ? 'a' :
+                (b === 3) ? 'e' : 'e';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('sw', {
+        months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
+        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
+        weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
+        weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
+        weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[leo saa] LT',
+            nextDay : '[kesho saa] LT',
+            nextWeek : '[wiki ijayo] dddd [saat] LT',
+            lastDay : '[jana] LT',
+            lastWeek : '[wiki iliyopita] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s baadaye',
+            past : 'tokea %s',
+            s : 'hivi punde',
+            ss : 'sekunde %d',
+            m : 'dakika moja',
+            mm : 'dakika %d',
+            h : 'saa limoja',
+            hh : 'masaa %d',
+            d : 'siku moja',
+            dd : 'masiku %d',
+            M : 'mwezi mmoja',
+            MM : 'miezi %d',
+            y : 'mwaka mmoja',
+            yy : 'miaka %d'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var symbolMap$f = {
+        '1': '௧',
+        '2': '௨',
+        '3': '௩',
+        '4': '௪',
+        '5': '௫',
+        '6': '௬',
+        '7': '௭',
+        '8': '௮',
+        '9': '௯',
+        '0': '௦'
+    }, numberMap$e = {
+        '௧': '1',
+        '௨': '2',
+        '௩': '3',
+        '௪': '4',
+        '௫': '5',
+        '௬': '6',
+        '௭': '7',
+        '௮': '8',
+        '௯': '9',
+        '௦': '0'
+    };
+
+    hooks.defineLocale('ta', {
+        months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+        monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+        weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
+        weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
+        weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, HH:mm',
+            LLLL : 'dddd, D MMMM YYYY, HH:mm'
+        },
+        calendar : {
+            sameDay : '[இன்று] LT',
+            nextDay : '[நாளை] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[நேற்று] LT',
+            lastWeek : '[கடந்த வாரம்] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s இல்',
+            past : '%s முன்',
+            s : 'ஒரு சில விநாடிகள்',
+            ss : '%d விநாடிகள்',
+            m : 'ஒரு நிமிடம்',
+            mm : '%d நிமிடங்கள்',
+            h : 'ஒரு மணி நேரம்',
+            hh : '%d மணி நேரம்',
+            d : 'ஒரு நாள்',
+            dd : '%d நாட்கள்',
+            M : 'ஒரு மாதம்',
+            MM : '%d மாதங்கள்',
+            y : 'ஒரு வருடம்',
+            yy : '%d ஆண்டுகள்'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}வது/,
+        ordinal : function (number) {
+            return number + 'வது';
+        },
+        preparse: function (string) {
+            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
+                return numberMap$e[match];
+            });
+        },
+        postformat: function (string) {
+            return string.replace(/\d/g, function (match) {
+                return symbolMap$f[match];
+            });
+        },
+        // refer http://ta.wikipedia.org/s/1er1
+        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 2) {
+                return ' யாமம்';
+            } else if (hour < 6) {
+                return ' வைகறை';  // வைகறை
+            } else if (hour < 10) {
+                return ' காலை'; // காலை
+            } else if (hour < 14) {
+                return ' நண்பகல்'; // நண்பகல்
+            } else if (hour < 18) {
+                return ' எற்பாடு'; // எற்பாடு
+            } else if (hour < 22) {
+                return ' மாலை'; // மாலை
+            } else {
+                return ' யாமம்';
+            }
+        },
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'யாமம்') {
+                return hour < 2 ? hour : hour + 12;
+            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
+                return hour;
+            } else if (meridiem === 'நண்பகல்') {
+                return hour >= 10 ? hour : hour + 12;
+            } else {
+                return hour + 12;
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('te', {
+        months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
+        monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
+        weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
+        weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
+        longDateFormat : {
+            LT : 'A h:mm',
+            LTS : 'A h:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY, A h:mm',
+            LLLL : 'dddd, D MMMM YYYY, A h:mm'
+        },
+        calendar : {
+            sameDay : '[నేడు] LT',
+            nextDay : '[రేపు] LT',
+            nextWeek : 'dddd, LT',
+            lastDay : '[నిన్న] LT',
+            lastWeek : '[à°—à°¤] dddd, LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s లో',
+            past : '%s క్రితం',
+            s : 'కొన్ని క్షణాలు',
+            ss : '%d సెకన్లు',
+            m : 'ఒక నిమిషం',
+            mm : '%d నిమిషాలు',
+            h : 'à°’à°• à°—à°‚à°Ÿ',
+            hh : '%d గంటలు',
+            d : 'ఒక రోజు',
+            dd : '%d రోజులు',
+            M : 'ఒక నెల',
+            MM : '%d నెలలు',
+            y : 'ఒక సంవత్సరం',
+            yy : '%d సంవత్సరాలు'
+        },
+        dayOfMonthOrdinalParse : /\d{1,2}à°µ/,
+        ordinal : '%dà°µ',
+        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'రాత్రి') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'ఉదయం') {
+                return hour;
+            } else if (meridiem === 'మధ్యాహ్నం') {
+                return hour >= 10 ? hour : hour + 12;
+            } else if (meridiem === 'సాయంత్రం') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'రాత్రి';
+            } else if (hour < 10) {
+                return 'ఉదయం';
+            } else if (hour < 17) {
+                return 'మధ్యాహ్నం';
+            } else if (hour < 20) {
+                return 'సాయంత్రం';
+            } else {
+                return 'రాత్రి';
+            }
+        },
+        week : {
+            dow : 0, // Sunday is the first day of the week.
+            doy : 6  // The week that contains Jan 6th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('tet', {
+        months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+        weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
+        weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
+        weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Ohin iha] LT',
+            nextDay: '[Aban iha] LT',
+            nextWeek: 'dddd [iha] LT',
+            lastDay: '[Horiseik iha] LT',
+            lastWeek: 'dddd [semana kotuk] [iha] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'iha %s',
+            past : '%s liuba',
+            s : 'minutu balun',
+            ss : 'minutu %d',
+            m : 'minutu ida',
+            mm : 'minutu %d',
+            h : 'oras ida',
+            hh : 'oras %d',
+            d : 'loron ida',
+            dd : 'loron %d',
+            M : 'fulan ida',
+            MM : 'fulan %d',
+            y : 'tinan ida',
+            yy : 'tinan %d'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var suffixes$3 = {
+        0: '-ум',
+        1: '-ум',
+        2: '-юм',
+        3: '-юм',
+        4: '-ум',
+        5: '-ум',
+        6: '-ум',
+        7: '-ум',
+        8: '-ум',
+        9: '-ум',
+        10: '-ум',
+        12: '-ум',
+        13: '-ум',
+        20: '-ум',
+        30: '-юм',
+        40: '-ум',
+        50: '-ум',
+        60: '-ум',
+        70: '-ум',
+        80: '-ум',
+        90: '-ум',
+        100: '-ум'
+    };
+
+    hooks.defineLocale('tg', {
+        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
+        weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
+        weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[Имрӯз соати] LT',
+            nextDay : '[Пагоҳ соати] LT',
+            lastDay : '[Дирӯз соати] LT',
+            nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',
+            lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'баъди %s',
+            past : '%s пеш',
+            s : 'якчанд сония',
+            m : 'як дақиқа',
+            mm : '%d дақиқа',
+            h : 'як соат',
+            hh : '%d соат',
+            d : 'як рӯз',
+            dd : '%d рӯз',
+            M : 'як моҳ',
+            MM : '%d моҳ',
+            y : 'як сол',
+            yy : '%d сол'
+        },
+        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === 'шаб') {
+                return hour < 4 ? hour : hour + 12;
+            } else if (meridiem === 'субҳ') {
+                return hour;
+            } else if (meridiem === 'рӯз') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === 'бегоҳ') {
+                return hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'шаб';
+            } else if (hour < 11) {
+                return 'субҳ';
+            } else if (hour < 16) {
+                return 'рӯз';
+            } else if (hour < 19) {
+                return 'бегоҳ';
+            } else {
+                return 'шаб';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
+        ordinal: function (number) {
+            var a = number % 10,
+                b = number >= 100 ? 100 : null;
+            return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]);
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 1th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('th', {
+        months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
+        monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
+        monthsParseExact: true,
+        weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
+        weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
+        weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'H:mm',
+            LTS : 'H:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY เวลา H:mm',
+            LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
+        },
+        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
+        isPM: function (input) {
+            return input === 'หลังเที่ยง';
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'ก่อนเที่ยง';
+            } else {
+                return 'หลังเที่ยง';
+            }
+        },
+        calendar : {
+            sameDay : '[วันนี้ เวลา] LT',
+            nextDay : '[พรุ่งนี้ เวลา] LT',
+            nextWeek : 'dddd[หน้า เวลา] LT',
+            lastDay : '[เมื่อวานนี้ เวลา] LT',
+            lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'อีก %s',
+            past : '%sที่แล้ว',
+            s : 'ไม่กี่วินาที',
+            ss : '%d วินาที',
+            m : '1 นาที',
+            mm : '%d นาที',
+            h : '1 ชั่วโมง',
+            hh : '%d ชั่วโมง',
+            d : '1 วัน',
+            dd : '%d วัน',
+            M : '1 เดือน',
+            MM : '%d เดือน',
+            y : '1 ปี',
+            yy : '%d ปี'
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('tl-ph', {
+        months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
+        monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+        weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
+        weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+        weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'MM/D/YYYY',
+            LL : 'MMMM D, YYYY',
+            LLL : 'MMMM D, YYYY HH:mm',
+            LLLL : 'dddd, MMMM DD, YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: 'LT [ngayong araw]',
+            nextDay: '[Bukas ng] LT',
+            nextWeek: 'LT [sa susunod na] dddd',
+            lastDay: 'LT [kahapon]',
+            lastWeek: 'LT [noong nakaraang] dddd',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'sa loob ng %s',
+            past : '%s ang nakalipas',
+            s : 'ilang segundo',
+            ss : '%d segundo',
+            m : 'isang minuto',
+            mm : '%d minuto',
+            h : 'isang oras',
+            hh : '%d oras',
+            d : 'isang araw',
+            dd : '%d araw',
+            M : 'isang buwan',
+            MM : '%d buwan',
+            y : 'isang taon',
+            yy : '%d taon'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : function (number) {
+            return number;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
+
+    function translateFuture(output) {
+        var time = output;
+        time = (output.indexOf('jaj') !== -1) ?
+        time.slice(0, -3) + 'leS' :
+        (output.indexOf('jar') !== -1) ?
+        time.slice(0, -3) + 'waQ' :
+        (output.indexOf('DIS') !== -1) ?
+        time.slice(0, -3) + 'nem' :
+        time + ' pIq';
+        return time;
+    }
+
+    function translatePast(output) {
+        var time = output;
+        time = (output.indexOf('jaj') !== -1) ?
+        time.slice(0, -3) + 'Hu’' :
+        (output.indexOf('jar') !== -1) ?
+        time.slice(0, -3) + 'wen' :
+        (output.indexOf('DIS') !== -1) ?
+        time.slice(0, -3) + 'ben' :
+        time + ' ret';
+        return time;
+    }
+
+    function translate$a(number, withoutSuffix, string, isFuture) {
+        var numberNoun = numberAsNoun(number);
+        switch (string) {
+            case 'ss':
+                return numberNoun + ' lup';
+            case 'mm':
+                return numberNoun + ' tup';
+            case 'hh':
+                return numberNoun + ' rep';
+            case 'dd':
+                return numberNoun + ' jaj';
+            case 'MM':
+                return numberNoun + ' jar';
+            case 'yy':
+                return numberNoun + ' DIS';
+        }
+    }
+
+    function numberAsNoun(number) {
+        var hundred = Math.floor((number % 1000) / 100),
+        ten = Math.floor((number % 100) / 10),
+        one = number % 10,
+        word = '';
+        if (hundred > 0) {
+            word += numbersNouns[hundred] + 'vatlh';
+        }
+        if (ten > 0) {
+            word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
+        }
+        if (one > 0) {
+            word += ((word !== '') ? ' ' : '') + numbersNouns[one];
+        }
+        return (word === '') ? 'pagh' : word;
+    }
+
+    hooks.defineLocale('tlh', {
+        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('_'),
+        monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[DaHjaj] LT',
+            nextDay: '[wa’leS] LT',
+            nextWeek: 'LLL',
+            lastDay: '[wa’Hu’] LT',
+            lastWeek: 'LLL',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : translateFuture,
+            past : translatePast,
+            s : 'puS lup',
+            ss : translate$a,
+            m : 'wa’ tup',
+            mm : translate$a,
+            h : 'wa’ rep',
+            hh : translate$a,
+            d : 'wa’ jaj',
+            dd : translate$a,
+            M : 'wa’ jar',
+            MM : translate$a,
+            y : 'wa’ DIS',
+            yy : translate$a
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    var suffixes$4 = {
+        1: '\'inci',
+        5: '\'inci',
+        8: '\'inci',
+        70: '\'inci',
+        80: '\'inci',
+        2: '\'nci',
+        7: '\'nci',
+        20: '\'nci',
+        50: '\'nci',
+        3: '\'üncü',
+        4: '\'üncü',
+        100: '\'üncü',
+        6: '\'ncı',
+        9: '\'uncu',
+        10: '\'uncu',
+        30: '\'uncu',
+        60: '\'ıncı',
+        90: '\'ıncı'
+    };
+
+    hooks.defineLocale('tr', {
+        months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
+        monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'),
+        weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
+        weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
+        weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[bugün saat] LT',
+            nextDay : '[yarın saat] LT',
+            nextWeek : '[gelecek] dddd [saat] LT',
+            lastDay : '[dün] LT',
+            lastWeek : '[geçen] dddd [saat] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s sonra',
+            past : '%s önce',
+            s : 'birkaç saniye',
+            ss : '%d saniye',
+            m : 'bir dakika',
+            mm : '%d dakika',
+            h : 'bir saat',
+            hh : '%d saat',
+            d : 'bir gün',
+            dd : '%d gün',
+            M : 'bir ay',
+            MM : '%d ay',
+            y : 'bir yıl',
+            yy : '%d yıl'
+        },
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'Do':
+                case 'DD':
+                    return number;
+                default:
+                    if (number === 0) {  // special case for zero
+                        return number + '\'ıncı';
+                    }
+                    var a = number % 10,
+                        b = number % 100 - a,
+                        c = number >= 100 ? 100 : null;
+                    return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]);
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
+    // This is currently too difficult (maybe even impossible) to add.
+    hooks.defineLocale('tzl', {
+        months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
+        monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
+        weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
+        weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
+        weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
+        longDateFormat : {
+            LT : 'HH.mm',
+            LTS : 'HH.mm.ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D. MMMM [dallas] YYYY',
+            LLL : 'D. MMMM [dallas] YYYY HH.mm',
+            LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
+        },
+        meridiemParse: /d\'o|d\'a/i,
+        isPM : function (input) {
+            return 'd\'o' === input.toLowerCase();
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours > 11) {
+                return isLower ? 'd\'o' : 'D\'O';
+            } else {
+                return isLower ? 'd\'a' : 'D\'A';
+            }
+        },
+        calendar : {
+            sameDay : '[oxhi à] LT',
+            nextDay : '[demà à] LT',
+            nextWeek : 'dddd [à] LT',
+            lastDay : '[ieiri à] LT',
+            lastWeek : '[sür el] dddd [lasteu à] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'osprei %s',
+            past : 'ja%s',
+            s : processRelativeTime$7,
+            ss : processRelativeTime$7,
+            m : processRelativeTime$7,
+            mm : processRelativeTime$7,
+            h : processRelativeTime$7,
+            hh : processRelativeTime$7,
+            d : processRelativeTime$7,
+            dd : processRelativeTime$7,
+            M : processRelativeTime$7,
+            MM : processRelativeTime$7,
+            y : processRelativeTime$7,
+            yy : processRelativeTime$7
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}\./,
+        ordinal : '%d.',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    function processRelativeTime$7(number, withoutSuffix, key, isFuture) {
+        var format = {
+            's': ['viensas secunds', '\'iensas secunds'],
+            'ss': [number + ' secunds', '' + number + ' secunds'],
+            'm': ['\'n míut', '\'iens míut'],
+            'mm': [number + ' míuts', '' + number + ' míuts'],
+            'h': ['\'n þora', '\'iensa þora'],
+            'hh': [number + ' þoras', '' + number + ' þoras'],
+            'd': ['\'n ziua', '\'iensa ziua'],
+            'dd': [number + ' ziuas', '' + number + ' ziuas'],
+            'M': ['\'n mes', '\'iens mes'],
+            'MM': [number + ' mesen', '' + number + ' mesen'],
+            'y': ['\'n ar', '\'iens ar'],
+            'yy': [number + ' ars', '' + number + ' ars']
+        };
+        return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
+    }
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('tzm-latn', {
+        months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+        monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+        weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[asdkh g] LT',
+            nextDay: '[aska g] LT',
+            nextWeek: 'dddd [g] LT',
+            lastDay: '[assant g] LT',
+            lastWeek: 'dddd [g] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'dadkh s yan %s',
+            past : 'yan %s',
+            s : 'imik',
+            ss : '%d imik',
+            m : 'minuḍ',
+            mm : '%d minuḍ',
+            h : 'saɛa',
+            hh : '%d tassaɛin',
+            d : 'ass',
+            dd : '%d ossan',
+            M : 'ayowr',
+            MM : '%d iyyirn',
+            y : 'asgas',
+            yy : '%d isgasn'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('tzm', {
+        months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+        monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+        weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
+            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
+            nextWeek: 'dddd [â´´] LT',
+            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
+            lastWeek: 'dddd [â´´] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
+            past : 'ⵢⴰⵏ %s',
+            s : 'ⵉⵎⵉⴽ',
+            ss : '%d ⵉⵎⵉⴽ',
+            m : 'ⵎⵉⵏⵓⴺ',
+            mm : '%d ⵎⵉⵏⵓⴺ',
+            h : 'ⵙⴰⵄⴰ',
+            hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
+            d : 'ⴰⵙⵙ',
+            dd : '%d oⵙⵙⴰⵏ',
+            M : 'ⴰⵢoⵓⵔ',
+            MM : '%d ⵉⵢⵢⵉⵔⵏ',
+            y : 'ⴰⵙⴳⴰⵙ',
+            yy : '%d ⵉⵙⴳⴰⵙⵏ'
+        },
+        week : {
+            dow : 6, // Saturday is the first day of the week.
+            doy : 12  // The week that contains Jan 12th is the first week of the year.
+        }
+    });
+
+    //! moment.js language configuration
+
+    hooks.defineLocale('ug-cn', {
+        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+            '_'
+        ),
+        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+            '_'
+        ),
+        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
+            '_'
+        ),
+        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+        longDateFormat: {
+            LT: 'HH:mm',
+            LTS: 'HH:mm:ss',
+            L: 'YYYY-MM-DD',
+            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
+        },
+        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (
+                meridiem === 'يېرىم كېچە' ||
+                meridiem === 'سەھەر' ||
+                meridiem === 'چۈشتىن بۇرۇن'
+            ) {
+                return hour;
+            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
+                return hour + 12;
+            } else {
+                return hour >= 11 ? hour : hour + 12;
+            }
+        },
+        meridiem: function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return 'يېرىم كېچە';
+            } else if (hm < 900) {
+                return 'سەھەر';
+            } else if (hm < 1130) {
+                return 'چۈشتىن بۇرۇن';
+            } else if (hm < 1230) {
+                return 'چۈش';
+            } else if (hm < 1800) {
+                return 'چۈشتىن كېيىن';
+            } else {
+                return 'ÙƒÛ•Ú†';
+            }
+        },
+        calendar: {
+            sameDay: '[بۈگۈن سائەت] LT',
+            nextDay: '[ئەتە سائەت] LT',
+            nextWeek: '[كېلەركى] dddd [سائەت] LT',
+            lastDay: '[تۆنۈگۈن] LT',
+            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
+            sameElse: 'L'
+        },
+        relativeTime: {
+            future: '%s كېيىن',
+            past: '%s بۇرۇن',
+            s: 'نەچچە سېكونت',
+            ss: '%d سېكونت',
+            m: 'بىر مىنۇت',
+            mm: '%d مىنۇت',
+            h: 'بىر سائەت',
+            hh: '%d سائەت',
+            d: 'بىر كۈن',
+            dd: '%d ÙƒÛˆÙ†',
+            M: 'بىر ئاي',
+            MM: '%d ئاي',
+            y: 'بىر يىل',
+            yy: '%d يىل'
+        },
+
+        dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + '-كۈنى';
+                case 'w':
+                case 'W':
+                    return number + '-ھەپتە';
+                default:
+                    return number;
+            }
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week: {
+            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+            dow: 1, // Monday is the first day of the week.
+            doy: 7 // The week that contains Jan 1st is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    function plural$6(word, num) {
+        var forms = word.split('_');
+        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+    }
+    function relativeTimeWithPlural$4(number, withoutSuffix, key) {
+        var format = {
+            'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
+            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
+            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
+            'dd': 'день_дні_днів',
+            'MM': 'місяць_місяці_місяців',
+            'yy': 'рік_роки_років'
+        };
+        if (key === 'm') {
+            return withoutSuffix ? 'хвилина' : 'хвилину';
+        }
+        else if (key === 'h') {
+            return withoutSuffix ? 'година' : 'годину';
+        }
+        else {
+            return number + ' ' + plural$6(format[key], +number);
+        }
+    }
+    function weekdaysCaseReplace(m, format) {
+        var weekdays = {
+            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
+            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
+            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
+        };
+
+        if (m === true) {
+            return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));
+        }
+        if (!m) {
+            return weekdays['nominative'];
+        }
+
+        var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
+            'accusative' :
+            ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
+                'genitive' :
+                'nominative');
+        return weekdays[nounCase][m.day()];
+    }
+    function processHoursFunction(str) {
+        return function () {
+            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
+        };
+    }
+
+    hooks.defineLocale('uk', {
+        months : {
+            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
+            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
+        },
+        monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
+        weekdays : weekdaysCaseReplace,
+        weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD.MM.YYYY',
+            LL : 'D MMMM YYYY р.',
+            LLL : 'D MMMM YYYY р., HH:mm',
+            LLLL : 'dddd, D MMMM YYYY р., HH:mm'
+        },
+        calendar : {
+            sameDay: processHoursFunction('[Сьогодні '),
+            nextDay: processHoursFunction('[Завтра '),
+            lastDay: processHoursFunction('[Вчора '),
+            nextWeek: processHoursFunction('[У] dddd ['),
+            lastWeek: function () {
+                switch (this.day()) {
+                    case 0:
+                    case 3:
+                    case 5:
+                    case 6:
+                        return processHoursFunction('[Минулої] dddd [').call(this);
+                    case 1:
+                    case 2:
+                    case 4:
+                        return processHoursFunction('[Минулого] dddd [').call(this);
+                }
+            },
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : 'за %s',
+            past : '%s тому',
+            s : 'декілька секунд',
+            ss : relativeTimeWithPlural$4,
+            m : relativeTimeWithPlural$4,
+            mm : relativeTimeWithPlural$4,
+            h : 'годину',
+            hh : relativeTimeWithPlural$4,
+            d : 'день',
+            dd : relativeTimeWithPlural$4,
+            M : 'місяць',
+            MM : relativeTimeWithPlural$4,
+            y : 'рік',
+            yy : relativeTimeWithPlural$4
+        },
+        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+        meridiemParse: /ночі|ранку|дня|вечора/,
+        isPM: function (input) {
+            return /^(дня|вечора)$/.test(input);
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 4) {
+                return 'ночі';
+            } else if (hour < 12) {
+                return 'ранку';
+            } else if (hour < 17) {
+                return 'дня';
+            } else {
+                return 'вечора';
+            }
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
+        ordinal: function (number, period) {
+            switch (period) {
+                case 'M':
+                case 'd':
+                case 'DDD':
+                case 'w':
+                case 'W':
+                    return number + '-й';
+                case 'D':
+                    return number + '-го';
+                default:
+                    return number;
+            }
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    var months$a = [
+        'جنوری',
+        'فروری',
+        'مارچ',
+        'اپریل',
+        'مئی',
+        'جون',
+        'جولائی',
+        'اگست',
+        'ستمبر',
+        'اکتوبر',
+        'نومبر',
+        'دسمبر'
+    ];
+    var days$2 = [
+        'اتوار',
+        'پیر',
+        'منگل',
+        'بدھ',
+        'جمعرات',
+        'جمعہ',
+        'ہفتہ'
+    ];
+
+    hooks.defineLocale('ur', {
+        months : months$a,
+        monthsShort : months$a,
+        weekdays : days$2,
+        weekdaysShort : days$2,
+        weekdaysMin : days$2,
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd، D MMMM YYYY HH:mm'
+        },
+        meridiemParse: /صبح|شام/,
+        isPM : function (input) {
+            return 'شام' === input;
+        },
+        meridiem : function (hour, minute, isLower) {
+            if (hour < 12) {
+                return 'صبح';
+            }
+            return 'شام';
+        },
+        calendar : {
+            sameDay : '[آج بوقت] LT',
+            nextDay : '[کل بوقت] LT',
+            nextWeek : 'dddd [بوقت] LT',
+            lastDay : '[گذشتہ روز بوقت] LT',
+            lastWeek : '[گذشتہ] dddd [بوقت] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : '%s بعد',
+            past : '%s قبل',
+            s : 'چند سیکنڈ',
+            ss : '%d سیکنڈ',
+            m : 'ایک منٹ',
+            mm : '%d منٹ',
+            h : 'ایک گھنٹہ',
+            hh : '%d گھنٹے',
+            d : 'ایک دن',
+            dd : '%d دن',
+            M : 'ایک ماہ',
+            MM : '%d ماہ',
+            y : 'ایک سال',
+            yy : '%d سال'
+        },
+        preparse: function (string) {
+            return string.replace(/،/g, ',');
+        },
+        postformat: function (string) {
+            return string.replace(/,/g, '،');
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('uz-latn', {
+        months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
+        monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
+        weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
+        weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
+        weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'D MMMM YYYY, dddd HH:mm'
+        },
+        calendar : {
+            sameDay : '[Bugun soat] LT [da]',
+            nextDay : '[Ertaga] LT [da]',
+            nextWeek : 'dddd [kuni soat] LT [da]',
+            lastDay : '[Kecha soat] LT [da]',
+            lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'Yaqin %s ichida',
+            past : 'Bir necha %s oldin',
+            s : 'soniya',
+            ss : '%d soniya',
+            m : 'bir daqiqa',
+            mm : '%d daqiqa',
+            h : 'bir soat',
+            hh : '%d soat',
+            d : 'bir kun',
+            dd : '%d kun',
+            M : 'bir oy',
+            MM : '%d oy',
+            y : 'bir yil',
+            yy : '%d yil'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 7th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('uz', {
+        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+        weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
+        weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
+        weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'D MMMM YYYY, dddd HH:mm'
+        },
+        calendar : {
+            sameDay : '[Бугун соат] LT [да]',
+            nextDay : '[Эртага] LT [да]',
+            nextWeek : 'dddd [куни соат] LT [да]',
+            lastDay : '[Кеча соат] LT [да]',
+            lastWeek : '[Утган] dddd [куни соат] LT [да]',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'Якин %s ичида',
+            past : 'Бир неча %s олдин',
+            s : 'фурсат',
+            ss : '%d фурсат',
+            m : 'бир дакика',
+            mm : '%d дакика',
+            h : 'бир соат',
+            hh : '%d соат',
+            d : 'бир кун',
+            dd : '%d кун',
+            M : 'бир ой',
+            MM : '%d ой',
+            y : 'бир йил',
+            yy : '%d йил'
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 7  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('vi', {
+        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('_'),
+        monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
+        weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+        weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+        weekdaysParseExact : true,
+        meridiemParse: /sa|ch/i,
+        isPM : function (input) {
+            return /^ch$/i.test(input);
+        },
+        meridiem : function (hours, minutes, isLower) {
+            if (hours < 12) {
+                return isLower ? 'sa' : 'SA';
+            } else {
+                return isLower ? 'ch' : 'CH';
+            }
+        },
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM [năm] YYYY',
+            LLL : 'D MMMM [năm] YYYY HH:mm',
+            LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
+            l : 'DD/M/YYYY',
+            ll : 'D MMM YYYY',
+            lll : 'D MMM YYYY HH:mm',
+            llll : 'ddd, D MMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay: '[Hôm nay lúc] LT',
+            nextDay: '[Ngày mai lúc] LT',
+            nextWeek: 'dddd [tuần tới lúc] LT',
+            lastDay: '[Hôm qua lúc] LT',
+            lastWeek: 'dddd [tuần rồi lúc] LT',
+            sameElse: 'L'
+        },
+        relativeTime : {
+            future : '%s tá»›i',
+            past : '%s trước',
+            s : 'vài giây',
+            ss : '%d giây' ,
+            m : 'một phút',
+            mm : '%d phút',
+            h : 'một giờ',
+            hh : '%d giờ',
+            d : 'một ngày',
+            dd : '%d ngày',
+            M : 'một tháng',
+            MM : '%d tháng',
+            y : 'một năm',
+            yy : '%d năm'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}/,
+        ordinal : function (number) {
+            return number;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('x-pseudo', {
+        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('_'),
+        monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
+        monthsParseExact : true,
+        weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
+        weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
+        weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
+        weekdaysParseExact : true,
+        longDateFormat : {
+            LT : 'HH:mm',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY HH:mm',
+            LLLL : 'dddd, D MMMM YYYY HH:mm'
+        },
+        calendar : {
+            sameDay : '[T~ódá~ý át] LT',
+            nextDay : '[T~ómó~rró~w át] LT',
+            nextWeek : 'dddd [át] LT',
+            lastDay : '[Ý~ést~érdá~ý át] LT',
+            lastWeek : '[L~ást] dddd [át] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'í~ñ %s',
+            past : '%s á~gó',
+            s : 'á ~féw ~sécó~ñds',
+            ss : '%d s~écóñ~ds',
+            m : 'á ~míñ~úté',
+            mm : '%d m~íñú~tés',
+            h : 'á~ñ hó~úr',
+            hh : '%d h~óúrs',
+            d : 'á ~dáý',
+            dd : '%d d~áýs',
+            M : 'á ~móñ~th',
+            MM : '%d m~óñt~hs',
+            y : 'á ~ýéár',
+            yy : '%d ý~éárs'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (~~(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        },
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('yo', {
+        months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
+        monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
+        weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
+        weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
+        weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
+        longDateFormat : {
+            LT : 'h:mm A',
+            LTS : 'h:mm:ss A',
+            L : 'DD/MM/YYYY',
+            LL : 'D MMMM YYYY',
+            LLL : 'D MMMM YYYY h:mm A',
+            LLLL : 'dddd, D MMMM YYYY h:mm A'
+        },
+        calendar : {
+            sameDay : '[Ònì ni] LT',
+            nextDay : '[Ọ̀la ni] LT',
+            nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
+            lastDay : '[AÌ€na ni] LT',
+            lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
+            sameElse : 'L'
+        },
+        relativeTime : {
+            future : 'ní %s',
+            past : '%s kọjá',
+            s : 'ìsẹjú aayá die',
+            ss :'aayá %d',
+            m : 'ìsẹjú kan',
+            mm : 'ìsẹjú %d',
+            h : 'wákati kan',
+            hh : 'wákati %d',
+            d : 'ọjọ́ kan',
+            dd : 'ọjọ́ %d',
+            M : 'osù kan',
+            MM : 'osù %d',
+            y : 'ọdún kan',
+            yy : 'ọdún %d'
+        },
+        dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/,
+        ordinal : 'ọjọ́ %d',
+        week : {
+            dow : 1, // Monday is the first day of the week.
+            doy : 4 // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('zh-cn', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日Ah点mm分',
+            LLLL : 'YYYY年M月D日ddddAh点mm分',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour: function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' ||
+                    meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            } else {
+                // '中午'
+                return hour >= 11 ? hour : hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天]LT',
+            nextDay : '[明天]LT',
+            nextWeek : '[下]ddddLT',
+            lastDay : '[昨天]LT',
+            lastWeek : '[上]ddddLT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd':
+                case 'D':
+                case 'DDD':
+                    return number + 'æ—¥';
+                case 'M':
+                    return number + '月';
+                case 'w':
+                case 'W':
+                    return number + '周';
+                default:
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%s内',
+            past : '%s前',
+            s : '几秒',
+            ss : '%d ç§’',
+            m : '1 分钟',
+            mm : '%d 分钟',
+            h : '1 小时',
+            hh : '%d 小时',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 个月',
+            MM : '%d 个月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        },
+        week : {
+            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+            dow : 1, // Monday is the first day of the week.
+            doy : 4  // The week that contains Jan 4th is the first week of the year.
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('zh-hk', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日dddd HH:mm',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '中午') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天]LT',
+            nextDay : '[明天]LT',
+            nextWeek : '[下]ddddLT',
+            lastDay : '[昨天]LT',
+            lastWeek : '[上]ddddLT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd' :
+                case 'D' :
+                case 'DDD' :
+                    return number + 'æ—¥';
+                case 'M' :
+                    return number + '月';
+                case 'w' :
+                case 'W' :
+                    return number + '週';
+                default :
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%så…§',
+            past : '%s前',
+            s : '幾秒',
+            ss : '%d ç§’',
+            m : '1 分鐘',
+            mm : '%d 分鐘',
+            h : '1 小時',
+            hh : '%d 小時',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 個月',
+            MM : '%d 個月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        }
+    });
+
+    //! moment.js locale configuration
+
+    hooks.defineLocale('zh-tw', {
+        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+        longDateFormat : {
+            LT : 'HH:mm',
+            LTS : 'HH:mm:ss',
+            L : 'YYYY/MM/DD',
+            LL : 'YYYY年M月D日',
+            LLL : 'YYYY年M月D日 HH:mm',
+            LLLL : 'YYYY年M月D日dddd HH:mm',
+            l : 'YYYY/M/D',
+            ll : 'YYYY年M月D日',
+            lll : 'YYYY年M月D日 HH:mm',
+            llll : 'YYYY年M月D日dddd HH:mm'
+        },
+        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+        meridiemHour : function (hour, meridiem) {
+            if (hour === 12) {
+                hour = 0;
+            }
+            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+                return hour;
+            } else if (meridiem === '中午') {
+                return hour >= 11 ? hour : hour + 12;
+            } else if (meridiem === '下午' || meridiem === '晚上') {
+                return hour + 12;
+            }
+        },
+        meridiem : function (hour, minute, isLower) {
+            var hm = hour * 100 + minute;
+            if (hm < 600) {
+                return '凌晨';
+            } else if (hm < 900) {
+                return '早上';
+            } else if (hm < 1130) {
+                return '上午';
+            } else if (hm < 1230) {
+                return '中午';
+            } else if (hm < 1800) {
+                return '下午';
+            } else {
+                return '晚上';
+            }
+        },
+        calendar : {
+            sameDay : '[今天] LT',
+            nextDay : '[明天] LT',
+            nextWeek : '[下]dddd LT',
+            lastDay : '[昨天] LT',
+            lastWeek : '[上]dddd LT',
+            sameElse : 'L'
+        },
+        dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+        ordinal : function (number, period) {
+            switch (period) {
+                case 'd' :
+                case 'D' :
+                case 'DDD' :
+                    return number + 'æ—¥';
+                case 'M' :
+                    return number + '月';
+                case 'w' :
+                case 'W' :
+                    return number + '週';
+                default :
+                    return number;
+            }
+        },
+        relativeTime : {
+            future : '%så…§',
+            past : '%s前',
+            s : '幾秒',
+            ss : '%d ç§’',
+            m : '1 分鐘',
+            mm : '%d 分鐘',
+            h : '1 小時',
+            hh : '%d 小時',
+            d : '1 天',
+            dd : '%d 天',
+            M : '1 個月',
+            MM : '%d 個月',
+            y : '1 å¹´',
+            yy : '%d å¹´'
+        }
+    });
+
+    hooks.locale('en');
+
+    return hooks;
+
+})));
diff --git a/public/bower_components/moment/min/moment-with-locales.min.js b/public/bower_components/moment/min/moment-with-locales.min.js
new file mode 100644
index 0000000..d81e02c
--- /dev/null
+++ b/public/bower_components/moment/min/moment-with-locales.min.js
@@ -0,0 +1 @@
+!function(e,a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define(a):e.moment=a()}(this,function(){"use strict";var e,n;function l(){return e.apply(null,arguments)}function _(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){return void 0===e}function m(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function u(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function M(e,a){var t,s=[];for(t=0;t<e.length;++t)s.push(a(e[t],t));return s}function h(e,a){return Object.prototype.hasOwnProperty.call(e,a)}function L(e,a){for(var t in a)h(a,t)&&(e[t]=a[t]);return h(a,"toString")&&(e.toString=a.toString),h(a,"valueOf")&&(e.valueOf=a.valueOf),e}function c(e,a,t,s){return Sa(e,a,t,s,!0).utc()}function Y(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function y(e){if(null==e._isValid){var a=Y(e),t=n.call(a.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&a.overflow<0&&!a.empty&&!a.invalidMonth&&!a.invalidWeekday&&!a.weekdayMismatch&&!a.nullInput&&!a.invalidFormat&&!a.userInvalidated&&(!a.meridiem||a.meridiem&&t);if(e._strict&&(s=s&&0===a.charsLeftOver&&0===a.unusedTokens.length&&void 0===a.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function f(e){var a=c(NaN);return null!=e?L(Y(a),e):Y(a).userInvalidated=!0,a}n=Array.prototype.some?Array.prototype.some:function(e){for(var a=Object(this),t=a.length>>>0,s=0;s<t;s++)if(s in a&&e.call(this,a[s],s,a))return!0;return!1};var d=l.momentProperties=[];function k(e,a){var t,s,n;if(o(a._isAMomentObject)||(e._isAMomentObject=a._isAMomentObject),o(a._i)||(e._i=a._i),o(a._f)||(e._f=a._f),o(a._l)||(e._l=a._l),o(a._strict)||(e._strict=a._strict),o(a._tzm)||(e._tzm=a._tzm),o(a._isUTC)||(e._isUTC=a._isUTC),o(a._offset)||(e._offset=a._offset),o(a._pf)||(e._pf=Y(a)),o(a._locale)||(e._locale=a._locale),0<d.length)for(t=0;t<d.length;t++)o(n=a[s=d[t]])||(e[s]=n);return e}var a=!1;function p(e){k(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===a&&(a=!0,l.updateOffset(this),a=!1)}function D(e){return e instanceof p||null!=e&&null!=e._isAMomentObject}function T(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function g(e){var a=+e,t=0;return 0!==a&&isFinite(a)&&(t=T(a)),t}function r(e,a,t){var s,n=Math.min(e.length,a.length),d=Math.abs(e.length-a.length),r=0;for(s=0;s<n;s++)(t&&e[s]!==a[s]||!t&&g(e[s])!==g(a[s]))&&r++;return r+d}function w(e){!1===l.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function t(n,d){var r=!0;return L(function(){if(null!=l.deprecationHandler&&l.deprecationHandler(null,n),r){for(var e,a=[],t=0;t<arguments.length;t++){if(e="","object"==typeof arguments[t]){for(var s in e+="\n["+t+"] ",arguments[0])e+=s+": "+arguments[0][s]+", ";e=e.slice(0,-2)}else e=arguments[t];a.push(e)}w(n+"\nArguments: "+Array.prototype.slice.call(a).join("")+"\n"+(new Error).stack),r=!1}return d.apply(this,arguments)},d)}var s,v={};function S(e,a){null!=l.deprecationHandler&&l.deprecationHandler(e,a),v[e]||(w(a),v[e]=!0)}function H(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function b(e,a){var t,s=L({},e);for(t in a)h(a,t)&&(i(e[t])&&i(a[t])?(s[t]={},L(s[t],e[t]),L(s[t],a[t])):null!=a[t]?s[t]=a[t]:delete s[t]);for(t in e)h(e,t)&&!h(a,t)&&i(e[t])&&(s[t]=L({},s[t]));return s}function j(e){null!=e&&this.set(e)}l.suppressDeprecationWarnings=!1,l.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var a,t=[];for(a in e)h(e,a)&&t.push(a);return t};var x={};function O(e,a){var t=e.toLowerCase();x[t]=x[t+"s"]=x[a]=e}function P(e){return"string"==typeof e?x[e]||x[e.toLowerCase()]:void 0}function W(e){var a,t,s={};for(t in e)h(e,t)&&(a=P(t))&&(s[a]=e[t]);return s}var A={};function E(e,a){A[e]=a}function F(e,a,t){var s=""+Math.abs(e),n=a-s.length;return(0<=e?t?"+":"":"-")+Math.pow(10,Math.max(0,n)).toString().substr(1)+s}var z=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,J=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,N={},R={};function C(e,a,t,s){var n=s;"string"==typeof s&&(n=function(){return this[s]()}),e&&(R[e]=n),a&&(R[a[0]]=function(){return F(n.apply(this,arguments),a[1],a[2])}),t&&(R[t]=function(){return this.localeData().ordinal(n.apply(this,arguments),e)})}function I(e,a){return e.isValid()?(a=U(a,e.localeData()),N[a]=N[a]||function(s){var e,n,a,d=s.match(z);for(e=0,n=d.length;e<n;e++)R[d[e]]?d[e]=R[d[e]]:d[e]=(a=d[e]).match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"");return function(e){var a,t="";for(a=0;a<n;a++)t+=H(d[a])?d[a].call(e,s):d[a];return t}}(a),N[a](e)):e.localeData().invalidDate()}function U(e,a){var t=5;function s(e){return a.longDateFormat(e)||e}for(J.lastIndex=0;0<=t&&J.test(e);)e=e.replace(J,s),J.lastIndex=0,t-=1;return e}var G=/\d/,V=/\d\d/,K=/\d{3}/,Z=/\d{4}/,$=/[+-]?\d{6}/,B=/\d\d?/,q=/\d\d\d\d?/,Q=/\d\d\d\d\d\d?/,X=/\d{1,3}/,ee=/\d{1,4}/,ae=/[+-]?\d{1,6}/,te=/\d+/,se=/[+-]?\d+/,ne=/Z|[+-]\d\d:?\d\d/gi,de=/Z|[+-]\d\d(?::?\d\d)?/gi,re=/[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,_e={};function ie(e,t,s){_e[e]=H(t)?t:function(e,a){return e&&s?s:t}}function oe(e,a){return h(_e,e)?_e[e](a._strict,a._locale):new RegExp(me(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,a,t,s,n){return a||t||s||n})))}function me(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ue={};function le(e,t){var a,s=t;for("string"==typeof e&&(e=[e]),m(t)&&(s=function(e,a){a[t]=g(e)}),a=0;a<e.length;a++)ue[e[a]]=s}function Me(e,n){le(e,function(e,a,t,s){t._w=t._w||{},n(e,t._w,t,s)})}var he=0,Le=1,ce=2,Ye=3,ye=4,fe=5,ke=6,pe=7,De=8;function Te(e){return ge(e)?366:365}function ge(e){return e%4==0&&e%100!=0||e%400==0}C("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),C(0,["YY",2],0,function(){return this.year()%100}),C(0,["YYYY",4],0,"year"),C(0,["YYYYY",5],0,"year"),C(0,["YYYYYY",6,!0],0,"year"),O("year","y"),E("year",1),ie("Y",se),ie("YY",B,V),ie("YYYY",ee,Z),ie("YYYYY",ae,$),ie("YYYYYY",ae,$),le(["YYYYY","YYYYYY"],he),le("YYYY",function(e,a){a[he]=2===e.length?l.parseTwoDigitYear(e):g(e)}),le("YY",function(e,a){a[he]=l.parseTwoDigitYear(e)}),le("Y",function(e,a){a[he]=parseInt(e,10)}),l.parseTwoDigitYear=function(e){return g(e)+(68<g(e)?1900:2e3)};var we,ve=Se("FullYear",!0);function Se(a,t){return function(e){return null!=e?(be(this,a,e),l.updateOffset(this,t),this):He(this,a)}}function He(e,a){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+a]():NaN}function be(e,a,t){e.isValid()&&!isNaN(t)&&("FullYear"===a&&ge(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+a](t,e.month(),je(t,e.month())):e._d["set"+(e._isUTC?"UTC":"")+a](t))}function je(e,a){if(isNaN(e)||isNaN(a))return NaN;var t,s=(a%(t=12)+t)%t;return e+=(a-s)/12,1===s?ge(e)?29:28:31-s%7%2}we=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var a;for(a=0;a<this.length;++a)if(this[a]===e)return a;return-1},C("M",["MM",2],"Mo",function(){return this.month()+1}),C("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),C("MMMM",0,0,function(e){return this.localeData().months(this,e)}),O("month","M"),E("month",8),ie("M",B),ie("MM",B,V),ie("MMM",function(e,a){return a.monthsShortRegex(e)}),ie("MMMM",function(e,a){return a.monthsRegex(e)}),le(["M","MM"],function(e,a){a[Le]=g(e)-1}),le(["MMM","MMMM"],function(e,a,t,s){var n=t._locale.monthsParse(e,s,t._strict);null!=n?a[Le]=n:Y(t).invalidMonth=e});var xe=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Oe="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var Pe="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function We(e,a){var t;if(!e.isValid())return e;if("string"==typeof a)if(/^\d+$/.test(a))a=g(a);else if(!m(a=e.localeData().monthsParse(a)))return e;return t=Math.min(e.date(),je(e.year(),a)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](a,t),e}function Ae(e){return null!=e?(We(this,e),l.updateOffset(this,!0),this):He(this,"Month")}var Ee=re;var Fe=re;function ze(){function e(e,a){return a.length-e.length}var a,t,s=[],n=[],d=[];for(a=0;a<12;a++)t=c([2e3,a]),s.push(this.monthsShort(t,"")),n.push(this.months(t,"")),d.push(this.months(t,"")),d.push(this.monthsShort(t,""));for(s.sort(e),n.sort(e),d.sort(e),a=0;a<12;a++)s[a]=me(s[a]),n[a]=me(n[a]);for(a=0;a<24;a++)d[a]=me(d[a]);this._monthsRegex=new RegExp("^("+d.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Je(e){var a;if(e<100&&0<=e){var t=Array.prototype.slice.call(arguments);t[0]=e+400,a=new Date(Date.UTC.apply(null,t)),isFinite(a.getUTCFullYear())&&a.setUTCFullYear(e)}else a=new Date(Date.UTC.apply(null,arguments));return a}function Ne(e,a,t){var s=7+a-t;return-((7+Je(e,0,s).getUTCDay()-a)%7)+s-1}function Re(e,a,t,s,n){var d,r,_=1+7*(a-1)+(7+t-s)%7+Ne(e,s,n);return r=_<=0?Te(d=e-1)+_:_>Te(e)?(d=e+1,_-Te(e)):(d=e,_),{year:d,dayOfYear:r}}function Ce(e,a,t){var s,n,d=Ne(e.year(),a,t),r=Math.floor((e.dayOfYear()-d-1)/7)+1;return r<1?s=r+Ie(n=e.year()-1,a,t):r>Ie(e.year(),a,t)?(s=r-Ie(e.year(),a,t),n=e.year()+1):(n=e.year(),s=r),{week:s,year:n}}function Ie(e,a,t){var s=Ne(e,a,t),n=Ne(e+1,a,t);return(Te(e)-s+n)/7}C("w",["ww",2],"wo","week"),C("W",["WW",2],"Wo","isoWeek"),O("week","w"),O("isoWeek","W"),E("week",5),E("isoWeek",5),ie("w",B),ie("ww",B,V),ie("W",B),ie("WW",B,V),Me(["w","ww","W","WW"],function(e,a,t,s){a[s.substr(0,1)]=g(e)});function Ue(e,a){return e.slice(a,7).concat(e.slice(0,a))}C("d",0,"do","day"),C("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),C("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),C("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),C("e",0,0,"weekday"),C("E",0,0,"isoWeekday"),O("day","d"),O("weekday","e"),O("isoWeekday","E"),E("day",11),E("weekday",11),E("isoWeekday",11),ie("d",B),ie("e",B),ie("E",B),ie("dd",function(e,a){return a.weekdaysMinRegex(e)}),ie("ddd",function(e,a){return a.weekdaysShortRegex(e)}),ie("dddd",function(e,a){return a.weekdaysRegex(e)}),Me(["dd","ddd","dddd"],function(e,a,t,s){var n=t._locale.weekdaysParse(e,s,t._strict);null!=n?a.d=n:Y(t).invalidWeekday=e}),Me(["d","e","E"],function(e,a,t,s){a[s]=g(e)});var Ge="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var Ve="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var Ke="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var Ze=re;var $e=re;var Be=re;function qe(){function e(e,a){return a.length-e.length}var a,t,s,n,d,r=[],_=[],i=[],o=[];for(a=0;a<7;a++)t=c([2e3,1]).day(a),s=this.weekdaysMin(t,""),n=this.weekdaysShort(t,""),d=this.weekdays(t,""),r.push(s),_.push(n),i.push(d),o.push(s),o.push(n),o.push(d);for(r.sort(e),_.sort(e),i.sort(e),o.sort(e),a=0;a<7;a++)_[a]=me(_[a]),i[a]=me(i[a]),o[a]=me(o[a]);this._weekdaysRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+_.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+r.join("|")+")","i")}function Qe(){return this.hours()%12||12}function Xe(e,a){C(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),a)})}function ea(e,a){return a._meridiemParse}C("H",["HH",2],0,"hour"),C("h",["hh",2],0,Qe),C("k",["kk",2],0,function(){return this.hours()||24}),C("hmm",0,0,function(){return""+Qe.apply(this)+F(this.minutes(),2)}),C("hmmss",0,0,function(){return""+Qe.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)}),C("Hmm",0,0,function(){return""+this.hours()+F(this.minutes(),2)}),C("Hmmss",0,0,function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)}),Xe("a",!0),Xe("A",!1),O("hour","h"),E("hour",13),ie("a",ea),ie("A",ea),ie("H",B),ie("h",B),ie("k",B),ie("HH",B,V),ie("hh",B,V),ie("kk",B,V),ie("hmm",q),ie("hmmss",Q),ie("Hmm",q),ie("Hmmss",Q),le(["H","HH"],Ye),le(["k","kk"],function(e,a,t){var s=g(e);a[Ye]=24===s?0:s}),le(["a","A"],function(e,a,t){t._isPm=t._locale.isPM(e),t._meridiem=e}),le(["h","hh"],function(e,a,t){a[Ye]=g(e),Y(t).bigHour=!0}),le("hmm",function(e,a,t){var s=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s)),Y(t).bigHour=!0}),le("hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s,2)),a[fe]=g(e.substr(n)),Y(t).bigHour=!0}),le("Hmm",function(e,a,t){var s=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s))}),le("Hmmss",function(e,a,t){var s=e.length-4,n=e.length-2;a[Ye]=g(e.substr(0,s)),a[ye]=g(e.substr(s,2)),a[fe]=g(e.substr(n))});var aa,ta=Se("Hours",!0),sa={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Oe,monthsShort:Pe,week:{dow:0,doy:6},weekdays:Ge,weekdaysMin:Ke,weekdaysShort:Ve,meridiemParse:/[ap]\.?m?\.?/i},na={},da={};function ra(e){return e?e.toLowerCase().replace("_","-"):e}function _a(e){var a=null;if(!na[e]&&"undefined"!=typeof module&&module&&module.exports)try{a=aa._abbr,require("./locale/"+e),ia(a)}catch(e){}return na[e]}function ia(e,a){var t;return e&&((t=o(a)?ma(e):oa(e,a))?aa=t:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),aa._abbr}function oa(e,a){if(null===a)return delete na[e],null;var t,s=sa;if(a.abbr=e,null!=na[e])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=na[e]._config;else if(null!=a.parentLocale)if(null!=na[a.parentLocale])s=na[a.parentLocale]._config;else{if(null==(t=_a(a.parentLocale)))return da[a.parentLocale]||(da[a.parentLocale]=[]),da[a.parentLocale].push({name:e,config:a}),null;s=t._config}return na[e]=new j(b(s,a)),da[e]&&da[e].forEach(function(e){oa(e.name,e.config)}),ia(e),na[e]}function ma(e){var a;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return aa;if(!_(e)){if(a=_a(e))return a;e=[e]}return function(e){for(var a,t,s,n,d=0;d<e.length;){for(a=(n=ra(e[d]).split("-")).length,t=(t=ra(e[d+1]))?t.split("-"):null;0<a;){if(s=_a(n.slice(0,a).join("-")))return s;if(t&&t.length>=a&&r(n,t,!0)>=a-1)break;a--}d++}return aa}(e)}function ua(e){var a,t=e._a;return t&&-2===Y(e).overflow&&(a=t[Le]<0||11<t[Le]?Le:t[ce]<1||t[ce]>je(t[he],t[Le])?ce:t[Ye]<0||24<t[Ye]||24===t[Ye]&&(0!==t[ye]||0!==t[fe]||0!==t[ke])?Ye:t[ye]<0||59<t[ye]?ye:t[fe]<0||59<t[fe]?fe:t[ke]<0||999<t[ke]?ke:-1,Y(e)._overflowDayOfYear&&(a<he||ce<a)&&(a=ce),Y(e)._overflowWeeks&&-1===a&&(a=pe),Y(e)._overflowWeekday&&-1===a&&(a=De),Y(e).overflow=a),e}function la(e,a,t){return null!=e?e:null!=a?a:t}function Ma(e){var a,t,s,n,d,r=[];if(!e._d){var _,i;for(_=e,i=new Date(l.now()),s=_._useUTC?[i.getUTCFullYear(),i.getUTCMonth(),i.getUTCDate()]:[i.getFullYear(),i.getMonth(),i.getDate()],e._w&&null==e._a[ce]&&null==e._a[Le]&&function(e){var a,t,s,n,d,r,_,i;if(null!=(a=e._w).GG||null!=a.W||null!=a.E)d=1,r=4,t=la(a.GG,e._a[he],Ce(Ha(),1,4).year),s=la(a.W,1),((n=la(a.E,1))<1||7<n)&&(i=!0);else{d=e._locale._week.dow,r=e._locale._week.doy;var o=Ce(Ha(),d,r);t=la(a.gg,e._a[he],o.year),s=la(a.w,o.week),null!=a.d?((n=a.d)<0||6<n)&&(i=!0):null!=a.e?(n=a.e+d,(a.e<0||6<a.e)&&(i=!0)):n=d}s<1||s>Ie(t,d,r)?Y(e)._overflowWeeks=!0:null!=i?Y(e)._overflowWeekday=!0:(_=Re(t,s,n,d,r),e._a[he]=_.year,e._dayOfYear=_.dayOfYear)}(e),null!=e._dayOfYear&&(d=la(e._a[he],s[he]),(e._dayOfYear>Te(d)||0===e._dayOfYear)&&(Y(e)._overflowDayOfYear=!0),t=Je(d,0,e._dayOfYear),e._a[Le]=t.getUTCMonth(),e._a[ce]=t.getUTCDate()),a=0;a<3&&null==e._a[a];++a)e._a[a]=r[a]=s[a];for(;a<7;a++)e._a[a]=r[a]=null==e._a[a]?2===a?1:0:e._a[a];24===e._a[Ye]&&0===e._a[ye]&&0===e._a[fe]&&0===e._a[ke]&&(e._nextDay=!0,e._a[Ye]=0),e._d=(e._useUTC?Je:function(e,a,t,s,n,d,r){var _;return e<100&&0<=e?(_=new Date(e+400,a,t,s,n,d,r),isFinite(_.getFullYear())&&_.setFullYear(e)):_=new Date(e,a,t,s,n,d,r),_}).apply(null,r),n=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Ye]=24),e._w&&void 0!==e._w.d&&e._w.d!==n&&(Y(e).weekdayMismatch=!0)}}var ha=/^\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)?)?$/,La=/^\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)?)?$/,ca=/Z|[+-]\d\d(?::?\d\d)?/,Ya=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],ya=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],fa=/^\/?Date\((\-?\d+)/i;function ka(e){var a,t,s,n,d,r,_=e._i,i=ha.exec(_)||La.exec(_);if(i){for(Y(e).iso=!0,a=0,t=Ya.length;a<t;a++)if(Ya[a][1].exec(i[1])){n=Ya[a][0],s=!1!==Ya[a][2];break}if(null==n)return void(e._isValid=!1);if(i[3]){for(a=0,t=ya.length;a<t;a++)if(ya[a][1].exec(i[3])){d=(i[2]||" ")+ya[a][0];break}if(null==d)return void(e._isValid=!1)}if(!s&&null!=d)return void(e._isValid=!1);if(i[4]){if(!ca.exec(i[4]))return void(e._isValid=!1);r="Z"}e._f=n+(d||"")+(r||""),wa(e)}else e._isValid=!1}var pa=/^(?:(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}))$/;function Da(e,a,t,s,n,d){var r=[function(e){var a=parseInt(e,10);{if(a<=49)return 2e3+a;if(a<=999)return 1900+a}return a}(e),Pe.indexOf(a),parseInt(t,10),parseInt(s,10),parseInt(n,10)];return d&&r.push(parseInt(d,10)),r}var Ta={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function ga(e){var a,t,s,n=pa.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(n){var d=Da(n[4],n[3],n[2],n[5],n[6],n[7]);if(a=n[1],t=d,s=e,a&&Ve.indexOf(a)!==new Date(t[0],t[1],t[2]).getDay()&&(Y(s).weekdayMismatch=!0,!(s._isValid=!1)))return;e._a=d,e._tzm=function(e,a,t){if(e)return Ta[e];if(a)return 0;var s=parseInt(t,10),n=s%100;return(s-n)/100*60+n}(n[8],n[9],n[10]),e._d=Je.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),Y(e).rfc2822=!0}else e._isValid=!1}function wa(e){if(e._f!==l.ISO_8601)if(e._f!==l.RFC_2822){e._a=[],Y(e).empty=!0;var a,t,s,n,d,r,_,i,o=""+e._i,m=o.length,u=0;for(s=U(e._f,e._locale).match(z)||[],a=0;a<s.length;a++)n=s[a],(t=(o.match(oe(n,e))||[])[0])&&(0<(d=o.substr(0,o.indexOf(t))).length&&Y(e).unusedInput.push(d),o=o.slice(o.indexOf(t)+t.length),u+=t.length),R[n]?(t?Y(e).empty=!1:Y(e).unusedTokens.push(n),r=n,i=e,null!=(_=t)&&h(ue,r)&&ue[r](_,i._a,i,r)):e._strict&&!t&&Y(e).unusedTokens.push(n);Y(e).charsLeftOver=m-u,0<o.length&&Y(e).unusedInput.push(o),e._a[Ye]<=12&&!0===Y(e).bigHour&&0<e._a[Ye]&&(Y(e).bigHour=void 0),Y(e).parsedDateParts=e._a.slice(0),Y(e).meridiem=e._meridiem,e._a[Ye]=function(e,a,t){var s;if(null==t)return a;return null!=e.meridiemHour?e.meridiemHour(a,t):(null!=e.isPM&&((s=e.isPM(t))&&a<12&&(a+=12),s||12!==a||(a=0)),a)}(e._locale,e._a[Ye],e._meridiem),Ma(e),ua(e)}else ga(e);else ka(e)}function va(e){var a,t,s,n,d=e._i,r=e._f;return e._locale=e._locale||ma(e._l),null===d||void 0===r&&""===d?f({nullInput:!0}):("string"==typeof d&&(e._i=d=e._locale.preparse(d)),D(d)?new p(ua(d)):(u(d)?e._d=d:_(r)?function(e){var a,t,s,n,d;if(0===e._f.length)return Y(e).invalidFormat=!0,e._d=new Date(NaN);for(n=0;n<e._f.length;n++)d=0,a=k({},e),null!=e._useUTC&&(a._useUTC=e._useUTC),a._f=e._f[n],wa(a),y(a)&&(d+=Y(a).charsLeftOver,d+=10*Y(a).unusedTokens.length,Y(a).score=d,(null==s||d<s)&&(s=d,t=a));L(e,t||a)}(e):r?wa(e):o(t=(a=e)._i)?a._d=new Date(l.now()):u(t)?a._d=new Date(t.valueOf()):"string"==typeof t?(s=a,null===(n=fa.exec(s._i))?(ka(s),!1===s._isValid&&(delete s._isValid,ga(s),!1===s._isValid&&(delete s._isValid,l.createFromInputFallback(s)))):s._d=new Date(+n[1])):_(t)?(a._a=M(t.slice(0),function(e){return parseInt(e,10)}),Ma(a)):i(t)?function(e){if(!e._d){var a=W(e._i);e._a=M([a.year,a.month,a.day||a.date,a.hour,a.minute,a.second,a.millisecond],function(e){return e&&parseInt(e,10)}),Ma(e)}}(a):m(t)?a._d=new Date(t):l.createFromInputFallback(a),y(e)||(e._d=null),e))}function Sa(e,a,t,s,n){var d,r={};return!0!==t&&!1!==t||(s=t,t=void 0),(i(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var a;for(a in e)if(e.hasOwnProperty(a))return!1;return!0}(e)||_(e)&&0===e.length)&&(e=void 0),r._isAMomentObject=!0,r._useUTC=r._isUTC=n,r._l=t,r._i=e,r._f=a,r._strict=s,(d=new p(ua(va(r))))._nextDay&&(d.add(1,"d"),d._nextDay=void 0),d}function Ha(e,a,t,s){return Sa(e,a,t,s,!1)}l.createFromInputFallback=t("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),l.ISO_8601=function(){},l.RFC_2822=function(){};var ba=t("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:f()}),ja=t("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Ha.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:f()});function xa(e,a){var t,s;if(1===a.length&&_(a[0])&&(a=a[0]),!a.length)return Ha();for(t=a[0],s=1;s<a.length;++s)a[s].isValid()&&!a[s][e](t)||(t=a[s]);return t}var Oa=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Pa(e){var a=W(e),t=a.year||0,s=a.quarter||0,n=a.month||0,d=a.week||a.isoWeek||0,r=a.day||0,_=a.hour||0,i=a.minute||0,o=a.second||0,m=a.millisecond||0;this._isValid=function(e){for(var a in e)if(-1===we.call(Oa,a)||null!=e[a]&&isNaN(e[a]))return!1;for(var t=!1,s=0;s<Oa.length;++s)if(e[Oa[s]]){if(t)return!1;parseFloat(e[Oa[s]])!==g(e[Oa[s]])&&(t=!0)}return!0}(a),this._milliseconds=+m+1e3*o+6e4*i+1e3*_*60*60,this._days=+r+7*d,this._months=+n+3*s+12*t,this._data={},this._locale=ma(),this._bubble()}function Wa(e){return e instanceof Pa}function Aa(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ea(e,t){C(e,0,0,function(){var e=this.utcOffset(),a="+";return e<0&&(e=-e,a="-"),a+F(~~(e/60),2)+t+F(~~e%60,2)})}Ea("Z",":"),Ea("ZZ",""),ie("Z",de),ie("ZZ",de),le(["Z","ZZ"],function(e,a,t){t._useUTC=!0,t._tzm=za(de,e)});var Fa=/([\+\-]|\d\d)/gi;function za(e,a){var t=(a||"").match(e);if(null===t)return null;var s=((t[t.length-1]||[])+"").match(Fa)||["-",0,0],n=60*s[1]+g(s[2]);return 0===n?0:"+"===s[0]?n:-n}function Ja(e,a){var t,s;return a._isUTC?(t=a.clone(),s=(D(e)||u(e)?e.valueOf():Ha(e).valueOf())-t.valueOf(),t._d.setTime(t._d.valueOf()+s),l.updateOffset(t,!1),t):Ha(e).local()}function Na(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Ra(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}l.updateOffset=function(){};var Ca=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Ia=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function Ua(e,a){var t,s,n,d=e,r=null;return Wa(e)?d={ms:e._milliseconds,d:e._days,M:e._months}:m(e)?(d={},a?d[a]=e:d.milliseconds=e):(r=Ca.exec(e))?(t="-"===r[1]?-1:1,d={y:0,d:g(r[ce])*t,h:g(r[Ye])*t,m:g(r[ye])*t,s:g(r[fe])*t,ms:g(Aa(1e3*r[ke]))*t}):(r=Ia.exec(e))?(t="-"===r[1]?-1:1,d={y:Ga(r[2],t),M:Ga(r[3],t),w:Ga(r[4],t),d:Ga(r[5],t),h:Ga(r[6],t),m:Ga(r[7],t),s:Ga(r[8],t)}):null==d?d={}:"object"==typeof d&&("from"in d||"to"in d)&&(n=function(e,a){var t;if(!e.isValid()||!a.isValid())return{milliseconds:0,months:0};a=Ja(a,e),e.isBefore(a)?t=Va(e,a):((t=Va(a,e)).milliseconds=-t.milliseconds,t.months=-t.months);return t}(Ha(d.from),Ha(d.to)),(d={}).ms=n.milliseconds,d.M=n.months),s=new Pa(d),Wa(e)&&h(e,"_locale")&&(s._locale=e._locale),s}function Ga(e,a){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*a}function Va(e,a){var t={};return t.months=a.month()-e.month()+12*(a.year()-e.year()),e.clone().add(t.months,"M").isAfter(a)&&--t.months,t.milliseconds=+a-+e.clone().add(t.months,"M"),t}function Ka(s,n){return function(e,a){var t;return null===a||isNaN(+a)||(S(n,"moment()."+n+"(period, number) is deprecated. Please use moment()."+n+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),t=e,e=a,a=t),Za(this,Ua(e="string"==typeof e?+e:e,a),s),this}}function Za(e,a,t,s){var n=a._milliseconds,d=Aa(a._days),r=Aa(a._months);e.isValid()&&(s=null==s||s,r&&We(e,He(e,"Month")+r*t),d&&be(e,"Date",He(e,"Date")+d*t),n&&e._d.setTime(e._d.valueOf()+n*t),s&&l.updateOffset(e,d||r))}Ua.fn=Pa.prototype,Ua.invalid=function(){return Ua(NaN)};var $a=Ka(1,"add"),Ba=Ka(-1,"subtract");function qa(e,a){var t=12*(a.year()-e.year())+(a.month()-e.month()),s=e.clone().add(t,"months");return-(t+(a-s<0?(a-s)/(s-e.clone().add(t-1,"months")):(a-s)/(e.clone().add(t+1,"months")-s)))||0}function Qa(e){var a;return void 0===e?this._locale._abbr:(null!=(a=ma(e))&&(this._locale=a),this)}l.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",l.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Xa=t("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function et(){return this._locale}var at=126227808e5;function tt(e,a){return(e%a+a)%a}function st(e,a,t){return e<100&&0<=e?new Date(e+400,a,t)-at:new Date(e,a,t).valueOf()}function nt(e,a,t){return e<100&&0<=e?Date.UTC(e+400,a,t)-at:Date.UTC(e,a,t)}function dt(e,a){C(0,[e,e.length],0,a)}function rt(e,a,t,s,n){var d;return null==e?Ce(this,s,n).year:((d=Ie(e,s,n))<a&&(a=d),function(e,a,t,s,n){var d=Re(e,a,t,s,n),r=Je(d.year,0,d.dayOfYear);return this.year(r.getUTCFullYear()),this.month(r.getUTCMonth()),this.date(r.getUTCDate()),this}.call(this,e,a,t,s,n))}C(0,["gg",2],0,function(){return this.weekYear()%100}),C(0,["GG",2],0,function(){return this.isoWeekYear()%100}),dt("gggg","weekYear"),dt("ggggg","weekYear"),dt("GGGG","isoWeekYear"),dt("GGGGG","isoWeekYear"),O("weekYear","gg"),O("isoWeekYear","GG"),E("weekYear",1),E("isoWeekYear",1),ie("G",se),ie("g",se),ie("GG",B,V),ie("gg",B,V),ie("GGGG",ee,Z),ie("gggg",ee,Z),ie("GGGGG",ae,$),ie("ggggg",ae,$),Me(["gggg","ggggg","GGGG","GGGGG"],function(e,a,t,s){a[s.substr(0,2)]=g(e)}),Me(["gg","GG"],function(e,a,t,s){a[s]=l.parseTwoDigitYear(e)}),C("Q",0,"Qo","quarter"),O("quarter","Q"),E("quarter",7),ie("Q",G),le("Q",function(e,a){a[Le]=3*(g(e)-1)}),C("D",["DD",2],"Do","date"),O("date","D"),E("date",9),ie("D",B),ie("DD",B,V),ie("Do",function(e,a){return e?a._dayOfMonthOrdinalParse||a._ordinalParse:a._dayOfMonthOrdinalParseLenient}),le(["D","DD"],ce),le("Do",function(e,a){a[ce]=g(e.match(B)[0])});var _t=Se("Date",!0);C("DDD",["DDDD",3],"DDDo","dayOfYear"),O("dayOfYear","DDD"),E("dayOfYear",4),ie("DDD",X),ie("DDDD",K),le(["DDD","DDDD"],function(e,a,t){t._dayOfYear=g(e)}),C("m",["mm",2],0,"minute"),O("minute","m"),E("minute",14),ie("m",B),ie("mm",B,V),le(["m","mm"],ye);var it=Se("Minutes",!1);C("s",["ss",2],0,"second"),O("second","s"),E("second",15),ie("s",B),ie("ss",B,V),le(["s","ss"],fe);var ot,mt=Se("Seconds",!1);for(C("S",0,0,function(){return~~(this.millisecond()/100)}),C(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),C(0,["SSS",3],0,"millisecond"),C(0,["SSSS",4],0,function(){return 10*this.millisecond()}),C(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),C(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),C(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),C(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),C(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),O("millisecond","ms"),E("millisecond",16),ie("S",X,G),ie("SS",X,V),ie("SSS",X,K),ot="SSSS";ot.length<=9;ot+="S")ie(ot,te);function ut(e,a){a[ke]=g(1e3*("0."+e))}for(ot="S";ot.length<=9;ot+="S")le(ot,ut);var lt=Se("Milliseconds",!1);C("z",0,0,"zoneAbbr"),C("zz",0,0,"zoneName");var Mt=p.prototype;function ht(e){return e}Mt.add=$a,Mt.calendar=function(e,a){var t=e||Ha(),s=Ja(t,this).startOf("day"),n=l.calendarFormat(this,s)||"sameElse",d=a&&(H(a[n])?a[n].call(this,t):a[n]);return this.format(d||this.localeData().calendar(n,this,Ha(t)))},Mt.clone=function(){return new p(this)},Mt.diff=function(e,a,t){var s,n,d;if(!this.isValid())return NaN;if(!(s=Ja(e,this)).isValid())return NaN;switch(n=6e4*(s.utcOffset()-this.utcOffset()),a=P(a)){case"year":d=qa(this,s)/12;break;case"month":d=qa(this,s);break;case"quarter":d=qa(this,s)/3;break;case"second":d=(this-s)/1e3;break;case"minute":d=(this-s)/6e4;break;case"hour":d=(this-s)/36e5;break;case"day":d=(this-s-n)/864e5;break;case"week":d=(this-s-n)/6048e5;break;default:d=this-s}return t?d:T(d)},Mt.endOf=function(e){var a;if(void 0===(e=P(e))||"millisecond"===e||!this.isValid())return this;var t=this._isUTC?nt:st;switch(e){case"year":a=t(this.year()+1,0,1)-1;break;case"quarter":a=t(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":a=t(this.year(),this.month()+1,1)-1;break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":a=t(this.year(),this.month(),this.date()+1)-1;break;case"hour":a=this._d.valueOf(),a+=36e5-tt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":a=this._d.valueOf(),a+=6e4-tt(a,6e4)-1;break;case"second":a=this._d.valueOf(),a+=1e3-tt(a,1e3)-1;break}return this._d.setTime(a),l.updateOffset(this,!0),this},Mt.format=function(e){e||(e=this.isUtc()?l.defaultFormatUtc:l.defaultFormat);var a=I(this,e);return this.localeData().postformat(a)},Mt.from=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ua({to:this,from:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},Mt.fromNow=function(e){return this.from(Ha(),e)},Mt.to=function(e,a){return this.isValid()&&(D(e)&&e.isValid()||Ha(e).isValid())?Ua({from:this,to:e}).locale(this.locale()).humanize(!a):this.localeData().invalidDate()},Mt.toNow=function(e){return this.to(Ha(),e)},Mt.get=function(e){return H(this[e=P(e)])?this[e]():this},Mt.invalidAt=function(){return Y(this).overflow},Mt.isAfter=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&("millisecond"===(a=P(a)||"millisecond")?this.valueOf()>t.valueOf():t.valueOf()<this.clone().startOf(a).valueOf())},Mt.isBefore=function(e,a){var t=D(e)?e:Ha(e);return!(!this.isValid()||!t.isValid())&&("millisecond"===(a=P(a)||"millisecond")?this.valueOf()<t.valueOf():this.clone().endOf(a).valueOf()<t.valueOf())},Mt.isBetween=function(e,a,t,s){var n=D(e)?e:Ha(e),d=D(a)?a:Ha(a);return!!(this.isValid()&&n.isValid()&&d.isValid())&&("("===(s=s||"()")[0]?this.isAfter(n,t):!this.isBefore(n,t))&&(")"===s[1]?this.isBefore(d,t):!this.isAfter(d,t))},Mt.isSame=function(e,a){var t,s=D(e)?e:Ha(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(a=P(a)||"millisecond")?this.valueOf()===s.valueOf():(t=s.valueOf(),this.clone().startOf(a).valueOf()<=t&&t<=this.clone().endOf(a).valueOf()))},Mt.isSameOrAfter=function(e,a){return this.isSame(e,a)||this.isAfter(e,a)},Mt.isSameOrBefore=function(e,a){return this.isSame(e,a)||this.isBefore(e,a)},Mt.isValid=function(){return y(this)},Mt.lang=Xa,Mt.locale=Qa,Mt.localeData=et,Mt.max=ja,Mt.min=ba,Mt.parsingFlags=function(){return L({},Y(this))},Mt.set=function(e,a){if("object"==typeof e)for(var t=function(e){var a=[];for(var t in e)a.push({unit:t,priority:A[t]});return a.sort(function(e,a){return e.priority-a.priority}),a}(e=W(e)),s=0;s<t.length;s++)this[t[s].unit](e[t[s].unit]);else if(H(this[e=P(e)]))return this[e](a);return this},Mt.startOf=function(e){var a;if(void 0===(e=P(e))||"millisecond"===e||!this.isValid())return this;var t=this._isUTC?nt:st;switch(e){case"year":a=t(this.year(),0,1);break;case"quarter":a=t(this.year(),this.month()-this.month()%3,1);break;case"month":a=t(this.year(),this.month(),1);break;case"week":a=t(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":a=t(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":a=t(this.year(),this.month(),this.date());break;case"hour":a=this._d.valueOf(),a-=tt(a+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":a=this._d.valueOf(),a-=tt(a,6e4);break;case"second":a=this._d.valueOf(),a-=tt(a,1e3);break}return this._d.setTime(a),l.updateOffset(this,!0),this},Mt.subtract=Ba,Mt.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},Mt.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},Mt.toDate=function(){return new Date(this.valueOf())},Mt.toISOString=function(e){if(!this.isValid())return null;var a=!0!==e,t=a?this.clone().utc():this;return t.year()<0||9999<t.year()?I(t,a?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):H(Date.prototype.toISOString)?a?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",I(t,"Z")):I(t,a?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},Mt.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",a="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",a="Z");var t="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",n=a+'[")]';return this.format(t+s+"-MM-DD[T]HH:mm:ss.SSS"+n)},Mt.toJSON=function(){return this.isValid()?this.toISOString():null},Mt.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},Mt.unix=function(){return Math.floor(this.valueOf()/1e3)},Mt.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},Mt.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},Mt.year=ve,Mt.isLeapYear=function(){return ge(this.year())},Mt.weekYear=function(e){return rt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},Mt.isoWeekYear=function(e){return rt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},Mt.quarter=Mt.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},Mt.month=Ae,Mt.daysInMonth=function(){return je(this.year(),this.month())},Mt.week=Mt.weeks=function(e){var a=this.localeData().week(this);return null==e?a:this.add(7*(e-a),"d")},Mt.isoWeek=Mt.isoWeeks=function(e){var a=Ce(this,1,4).week;return null==e?a:this.add(7*(e-a),"d")},Mt.weeksInYear=function(){var e=this.localeData()._week;return Ie(this.year(),e.dow,e.doy)},Mt.isoWeeksInYear=function(){return Ie(this.year(),1,4)},Mt.date=_t,Mt.day=Mt.days=function(e){if(!this.isValid())return null!=e?this:NaN;var a,t,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(a=e,t=this.localeData(),e="string"!=typeof a?a:isNaN(a)?"number"==typeof(a=t.weekdaysParse(a))?a:null:parseInt(a,10),this.add(e-s,"d")):s},Mt.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var a=(this.day()+7-this.localeData()._week.dow)%7;return null==e?a:this.add(e-a,"d")},Mt.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var a,t,s=(a=e,t=this.localeData(),"string"==typeof a?t.weekdaysParse(a)%7||7:isNaN(a)?null:a);return this.day(this.day()%7?s:s-7)},Mt.dayOfYear=function(e){var a=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?a:this.add(e-a,"d")},Mt.hour=Mt.hours=ta,Mt.minute=Mt.minutes=it,Mt.second=Mt.seconds=mt,Mt.millisecond=Mt.milliseconds=lt,Mt.utcOffset=function(e,a,t){var s,n=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?n:Na(this);if("string"==typeof e){if(null===(e=za(de,e)))return this}else Math.abs(e)<16&&!t&&(e*=60);return!this._isUTC&&a&&(s=Na(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),n!==e&&(!a||this._changeInProgress?Za(this,Ua(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,l.updateOffset(this,!0),this._changeInProgress=null)),this},Mt.utc=function(e){return this.utcOffset(0,e)},Mt.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Na(this),"m")),this},Mt.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=za(ne,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},Mt.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Ha(e).utcOffset():0,(this.utcOffset()-e)%60==0)},Mt.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},Mt.isLocal=function(){return!!this.isValid()&&!this._isUTC},Mt.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},Mt.isUtc=Ra,Mt.isUTC=Ra,Mt.zoneAbbr=function(){return this._isUTC?"UTC":""},Mt.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},Mt.dates=t("dates accessor is deprecated. Use date instead.",_t),Mt.months=t("months accessor is deprecated. Use month instead",Ae),Mt.years=t("years accessor is deprecated. Use year instead",ve),Mt.zone=t("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,a){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,a),this):-this.utcOffset()}),Mt.isDSTShifted=t("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!o(this._isDSTShifted))return this._isDSTShifted;var e={};if(k(e,this),(e=va(e))._a){var a=e._isUTC?c(e._a):Ha(e._a);this._isDSTShifted=this.isValid()&&0<r(e._a,a.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var Lt=j.prototype;function ct(e,a,t,s){var n=ma(),d=c().set(s,a);return n[t](d,e)}function Yt(e,a,t){if(m(e)&&(a=e,e=void 0),e=e||"",null!=a)return ct(e,a,t,"month");var s,n=[];for(s=0;s<12;s++)n[s]=ct(e,s,t,"month");return n}function yt(e,a,t,s){a=("boolean"==typeof e?m(a)&&(t=a,a=void 0):(a=e,e=!1,m(t=a)&&(t=a,a=void 0)),a||"");var n,d=ma(),r=e?d._week.dow:0;if(null!=t)return ct(a,(t+r)%7,s,"day");var _=[];for(n=0;n<7;n++)_[n]=ct(a,(n+r)%7,s,"day");return _}Lt.calendar=function(e,a,t){var s=this._calendar[e]||this._calendar.sameElse;return H(s)?s.call(a,t):s},Lt.longDateFormat=function(e){var a=this._longDateFormat[e],t=this._longDateFormat[e.toUpperCase()];return a||!t?a:(this._longDateFormat[e]=t.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},Lt.invalidDate=function(){return this._invalidDate},Lt.ordinal=function(e){return this._ordinal.replace("%d",e)},Lt.preparse=ht,Lt.postformat=ht,Lt.relativeTime=function(e,a,t,s){var n=this._relativeTime[t];return H(n)?n(e,a,t,s):n.replace(/%d/i,e)},Lt.pastFuture=function(e,a){var t=this._relativeTime[0<e?"future":"past"];return H(t)?t(a):t.replace(/%s/i,a)},Lt.set=function(e){var a,t;for(t in e)H(a=e[t])?this[t]=a:this["_"+t]=a;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},Lt.months=function(e,a){return e?_(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||xe).test(a)?"format":"standalone"][e.month()]:_(this._months)?this._months:this._months.standalone},Lt.monthsShort=function(e,a){return e?_(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[xe.test(a)?"format":"standalone"][e.month()]:_(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},Lt.monthsParse=function(e,a,t){var s,n,d;if(this._monthsParseExact)return function(e,a,t){var s,n,d,r=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)d=c([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(d,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(d,"").toLocaleLowerCase();return t?"MMM"===a?-1!==(n=we.call(this._shortMonthsParse,r))?n:null:-1!==(n=we.call(this._longMonthsParse,r))?n:null:"MMM"===a?-1!==(n=we.call(this._shortMonthsParse,r))?n:-1!==(n=we.call(this._longMonthsParse,r))?n:null:-1!==(n=we.call(this._longMonthsParse,r))?n:-1!==(n=we.call(this._shortMonthsParse,r))?n:null}.call(this,e,a,t);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(n=c([2e3,s]),t&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(n,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(n,"").replace(".","")+"$","i")),t||this._monthsParse[s]||(d="^"+this.months(n,"")+"|^"+this.monthsShort(n,""),this._monthsParse[s]=new RegExp(d.replace(".",""),"i")),t&&"MMMM"===a&&this._longMonthsParse[s].test(e))return s;if(t&&"MMM"===a&&this._shortMonthsParse[s].test(e))return s;if(!t&&this._monthsParse[s].test(e))return s}},Lt.monthsRegex=function(e){return this._monthsParseExact?(h(this,"_monthsRegex")||ze.call(this),e?this._monthsStrictRegex:this._monthsRegex):(h(this,"_monthsRegex")||(this._monthsRegex=Fe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},Lt.monthsShortRegex=function(e){return this._monthsParseExact?(h(this,"_monthsRegex")||ze.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(h(this,"_monthsShortRegex")||(this._monthsShortRegex=Ee),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},Lt.week=function(e){return Ce(e,this._week.dow,this._week.doy).week},Lt.firstDayOfYear=function(){return this._week.doy},Lt.firstDayOfWeek=function(){return this._week.dow},Lt.weekdays=function(e,a){var t=_(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(a)?"format":"standalone"];return!0===e?Ue(t,this._week.dow):e?t[e.day()]:t},Lt.weekdaysMin=function(e){return!0===e?Ue(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},Lt.weekdaysShort=function(e){return!0===e?Ue(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},Lt.weekdaysParse=function(e,a,t){var s,n,d;if(this._weekdaysParseExact)return function(e,a,t){var s,n,d,r=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)d=c([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(d,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(d,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(d,"").toLocaleLowerCase();return t?"dddd"===a?-1!==(n=we.call(this._weekdaysParse,r))?n:null:"ddd"===a?-1!==(n=we.call(this._shortWeekdaysParse,r))?n:null:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:"dddd"===a?-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._shortWeekdaysParse,r))?n:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:"ddd"===a?-1!==(n=we.call(this._shortWeekdaysParse,r))?n:-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._minWeekdaysParse,r))?n:null:-1!==(n=we.call(this._minWeekdaysParse,r))?n:-1!==(n=we.call(this._weekdaysParse,r))?n:-1!==(n=we.call(this._shortWeekdaysParse,r))?n:null}.call(this,e,a,t);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(n=c([2e3,1]).day(s),t&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(n,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(n,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(n,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(d="^"+this.weekdays(n,"")+"|^"+this.weekdaysShort(n,"")+"|^"+this.weekdaysMin(n,""),this._weekdaysParse[s]=new RegExp(d.replace(".",""),"i")),t&&"dddd"===a&&this._fullWeekdaysParse[s].test(e))return s;if(t&&"ddd"===a&&this._shortWeekdaysParse[s].test(e))return s;if(t&&"dd"===a&&this._minWeekdaysParse[s].test(e))return s;if(!t&&this._weekdaysParse[s].test(e))return s}},Lt.weekdaysRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(h(this,"_weekdaysRegex")||(this._weekdaysRegex=Ze),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},Lt.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(h(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=$e),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},Lt.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(h(this,"_weekdaysRegex")||qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(h(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Be),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},Lt.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},Lt.meridiem=function(e,a,t){return 11<e?t?"pm":"PM":t?"am":"AM"},ia("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1===g(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),l.lang=t("moment.lang is deprecated. Use moment.locale instead.",ia),l.langData=t("moment.langData is deprecated. Use moment.localeData instead.",ma);var ft=Math.abs;function kt(e,a,t,s){var n=Ua(a,t);return e._milliseconds+=s*n._milliseconds,e._days+=s*n._days,e._months+=s*n._months,e._bubble()}function pt(e){return e<0?Math.floor(e):Math.ceil(e)}function Dt(e){return 4800*e/146097}function Tt(e){return 146097*e/4800}function gt(e){return function(){return this.as(e)}}var wt=gt("ms"),vt=gt("s"),St=gt("m"),Ht=gt("h"),bt=gt("d"),jt=gt("w"),xt=gt("M"),Ot=gt("Q"),Pt=gt("y");function Wt(e){return function(){return this.isValid()?this._data[e]:NaN}}var At=Wt("milliseconds"),Et=Wt("seconds"),Ft=Wt("minutes"),zt=Wt("hours"),Jt=Wt("days"),Nt=Wt("months"),Rt=Wt("years");var Ct=Math.round,It={ss:44,s:45,m:45,h:22,d:26,M:11};var Ut=Math.abs;function Gt(e){return(0<e)-(e<0)||+e}function Vt(){if(!this.isValid())return this.localeData().invalidDate();var e,a,t=Ut(this._milliseconds)/1e3,s=Ut(this._days),n=Ut(this._months);a=T((e=T(t/60))/60),t%=60,e%=60;var d=T(n/12),r=n%=12,_=s,i=a,o=e,m=t?t.toFixed(3).replace(/\.?0+$/,""):"",u=this.asSeconds();if(!u)return"P0D";var l=u<0?"-":"",M=Gt(this._months)!==Gt(u)?"-":"",h=Gt(this._days)!==Gt(u)?"-":"",L=Gt(this._milliseconds)!==Gt(u)?"-":"";return l+"P"+(d?M+d+"Y":"")+(r?M+r+"M":"")+(_?h+_+"D":"")+(i||o||m?"T":"")+(i?L+i+"H":"")+(o?L+o+"M":"")+(m?L+m+"S":"")}var Kt=Pa.prototype;Kt.isValid=function(){return this._isValid},Kt.abs=function(){var e=this._data;return this._milliseconds=ft(this._milliseconds),this._days=ft(this._days),this._months=ft(this._months),e.milliseconds=ft(e.milliseconds),e.seconds=ft(e.seconds),e.minutes=ft(e.minutes),e.hours=ft(e.hours),e.months=ft(e.months),e.years=ft(e.years),this},Kt.add=function(e,a){return kt(this,e,a,1)},Kt.subtract=function(e,a){return kt(this,e,a,-1)},Kt.as=function(e){if(!this.isValid())return NaN;var a,t,s=this._milliseconds;if("month"===(e=P(e))||"quarter"===e||"year"===e)switch(a=this._days+s/864e5,t=this._months+Dt(a),e){case"month":return t;case"quarter":return t/3;case"year":return t/12}else switch(a=this._days+Math.round(Tt(this._months)),e){case"week":return a/7+s/6048e5;case"day":return a+s/864e5;case"hour":return 24*a+s/36e5;case"minute":return 1440*a+s/6e4;case"second":return 86400*a+s/1e3;case"millisecond":return Math.floor(864e5*a)+s;default:throw new Error("Unknown unit "+e)}},Kt.asMilliseconds=wt,Kt.asSeconds=vt,Kt.asMinutes=St,Kt.asHours=Ht,Kt.asDays=bt,Kt.asWeeks=jt,Kt.asMonths=xt,Kt.asQuarters=Ot,Kt.asYears=Pt,Kt.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*g(this._months/12):NaN},Kt._bubble=function(){var e,a,t,s,n,d=this._milliseconds,r=this._days,_=this._months,i=this._data;return 0<=d&&0<=r&&0<=_||d<=0&&r<=0&&_<=0||(d+=864e5*pt(Tt(_)+r),_=r=0),i.milliseconds=d%1e3,e=T(d/1e3),i.seconds=e%60,a=T(e/60),i.minutes=a%60,t=T(a/60),i.hours=t%24,_+=n=T(Dt(r+=T(t/24))),r-=pt(Tt(n)),s=T(_/12),_%=12,i.days=r,i.months=_,i.years=s,this},Kt.clone=function(){return Ua(this)},Kt.get=function(e){return e=P(e),this.isValid()?this[e+"s"]():NaN},Kt.milliseconds=At,Kt.seconds=Et,Kt.minutes=Ft,Kt.hours=zt,Kt.days=Jt,Kt.weeks=function(){return T(this.days()/7)},Kt.months=Nt,Kt.years=Rt,Kt.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var a,t,s,n,d,r,_,i,o,m,u,l=this.localeData(),M=(t=!e,s=l,n=Ua(a=this).abs(),d=Ct(n.as("s")),r=Ct(n.as("m")),_=Ct(n.as("h")),i=Ct(n.as("d")),o=Ct(n.as("M")),m=Ct(n.as("y")),(u=d<=It.ss&&["s",d]||d<It.s&&["ss",d]||r<=1&&["m"]||r<It.m&&["mm",r]||_<=1&&["h"]||_<It.h&&["hh",_]||i<=1&&["d"]||i<It.d&&["dd",i]||o<=1&&["M"]||o<It.M&&["MM",o]||m<=1&&["y"]||["yy",m])[2]=t,u[3]=0<+a,u[4]=s,function(e,a,t,s,n){return n.relativeTime(a||1,!!t,e,s)}.apply(null,u));return e&&(M=l.pastFuture(+this,M)),l.postformat(M)},Kt.toISOString=Vt,Kt.toString=Vt,Kt.toJSON=Vt,Kt.locale=Qa,Kt.localeData=et,Kt.toIsoString=t("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",Vt),Kt.lang=Xa,C("X",0,0,"unix"),C("x",0,0,"valueOf"),ie("x",se),ie("X",/[+-]?\d+(\.\d{1,3})?/),le("X",function(e,a,t){t._d=new Date(1e3*parseFloat(e,10))}),le("x",function(e,a,t){t._d=new Date(g(e))}),l.version="2.24.0",e=Ha,l.fn=Mt,l.min=function(){return xa("isBefore",[].slice.call(arguments,0))},l.max=function(){return xa("isAfter",[].slice.call(arguments,0))},l.now=function(){return Date.now?Date.now():+new Date},l.utc=c,l.unix=function(e){return Ha(1e3*e)},l.months=function(e,a){return Yt(e,a,"months")},l.isDate=u,l.locale=ia,l.invalid=f,l.duration=Ua,l.isMoment=D,l.weekdays=function(e,a,t){return yt(e,a,t,"weekdays")},l.parseZone=function(){return Ha.apply(null,arguments).parseZone()},l.localeData=ma,l.isDuration=Wa,l.monthsShort=function(e,a){return Yt(e,a,"monthsShort")},l.weekdaysMin=function(e,a,t){return yt(e,a,t,"weekdaysMin")},l.defineLocale=oa,l.updateLocale=function(e,a){if(null!=a){var t,s,n=sa;null!=(s=_a(e))&&(n=s._config),(t=new j(a=b(n,a))).parentLocale=na[e],na[e]=t,ia(e)}else null!=na[e]&&(null!=na[e].parentLocale?na[e]=na[e].parentLocale:null!=na[e]&&delete na[e]);return na[e]},l.locales=function(){return s(na)},l.weekdaysShort=function(e,a,t){return yt(e,a,t,"weekdaysShort")},l.normalizeUnits=P,l.relativeTimeRounding=function(e){return void 0===e?Ct:"function"==typeof e&&(Ct=e,!0)},l.relativeTimeThreshold=function(e,a){return void 0!==It[e]&&(void 0===a?It[e]:(It[e]=a,"s"===e&&(It.ss=a-1),!0))},l.calendarFormat=function(e,a){var t=e.diff(a,"days",!0);return t<-6?"sameElse":t<-1?"lastWeek":t<0?"lastDay":t<1?"sameDay":t<2?"nextDay":t<7?"nextWeek":"sameElse"},l.prototype=Mt,l.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},l.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"vm":"VM":t?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[M\xf4re om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),l.defineLocale("ar-dz",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u0623\u062d_\u0625\u062b_\u062b\u0644\u0627_\u0623\u0631_\u062e\u0645_\u062c\u0645_\u0633\u0628".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:4}}),l.defineLocale("ar-kw",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:0,doy:12}});var Zt={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},$t=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},Bt={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},qt=function(r){return function(e,a,t,s){var n=$t(e),d=Bt[r][$t(e)];return 2===n&&(d=d[a?0:1]),d.replace(/%d/i,e)}},Qt=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];l.defineLocale("ar-ly",{months:Qt,monthsShort:Qt,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:qt("s"),ss:qt("s"),m:qt("m"),mm:qt("m"),h:qt("h"),hh:qt("h"),d:qt("d"),dd:qt("d"),M:qt("M"),MM:qt("M"),y:qt("y"),yy:qt("y")},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Zt[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}}),l.defineLocale("ar-ma",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648\u0632_\u063a\u0634\u062a_\u0634\u062a\u0646\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0646\u0628\u0631_\u062f\u062c\u0646\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062a\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0627\u062d\u062f_\u0627\u062a\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:6,doy:12}});var Xt={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},es={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"};l.defineLocale("ar-sa",{months:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u064a\u0646\u0627\u064a\u0631_\u0641\u0628\u0631\u0627\u064a\u0631_\u0645\u0627\u0631\u0633_\u0623\u0628\u0631\u064a\u0644_\u0645\u0627\u064a\u0648_\u064a\u0648\u0646\u064a\u0648_\u064a\u0648\u0644\u064a\u0648_\u0623\u063a\u0633\u0637\u0633_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return es[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Xt[e]}).replace(/,/g,"\u060c")},week:{dow:0,doy:6}}),l.defineLocale("ar-tn",{months:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),monthsShort:"\u062c\u0627\u0646\u0641\u064a_\u0641\u064a\u0641\u0631\u064a_\u0645\u0627\u0631\u0633_\u0623\u0641\u0631\u064a\u0644_\u0645\u0627\u064a_\u062c\u0648\u0627\u0646_\u062c\u0648\u064a\u0644\u064a\u0629_\u0623\u0648\u062a_\u0633\u0628\u062a\u0645\u0628\u0631_\u0623\u0643\u062a\u0648\u0628\u0631_\u0646\u0648\u0641\u0645\u0628\u0631_\u062f\u064a\u0633\u0645\u0628\u0631".split("_"),weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u0627 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0644\u0649 \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0641\u064a %s",past:"\u0645\u0646\u0630 %s",s:"\u062b\u0648\u0627\u0646",ss:"%d \u062b\u0627\u0646\u064a\u0629",m:"\u062f\u0642\u064a\u0642\u0629",mm:"%d \u062f\u0642\u0627\u0626\u0642",h:"\u0633\u0627\u0639\u0629",hh:"%d \u0633\u0627\u0639\u0627\u062a",d:"\u064a\u0648\u0645",dd:"%d \u0623\u064a\u0627\u0645",M:"\u0634\u0647\u0631",MM:"%d \u0623\u0634\u0647\u0631",y:"\u0633\u0646\u0629",yy:"%d \u0633\u0646\u0648\u0627\u062a"},week:{dow:1,doy:4}});var as={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},ts={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},ss=function(e){return 0===e?0:1===e?1:2===e?2:3<=e%100&&e%100<=10?3:11<=e%100?4:5},ns={s:["\u0623\u0642\u0644 \u0645\u0646 \u062b\u0627\u0646\u064a\u0629","\u062b\u0627\u0646\u064a\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062b\u0627\u0646\u064a\u062a\u0627\u0646","\u062b\u0627\u0646\u064a\u062a\u064a\u0646"],"%d \u062b\u0648\u0627\u0646","%d \u062b\u0627\u0646\u064a\u0629","%d \u062b\u0627\u0646\u064a\u0629"],m:["\u0623\u0642\u0644 \u0645\u0646 \u062f\u0642\u064a\u0642\u0629","\u062f\u0642\u064a\u0642\u0629 \u0648\u0627\u062d\u062f\u0629",["\u062f\u0642\u064a\u0642\u062a\u0627\u0646","\u062f\u0642\u064a\u0642\u062a\u064a\u0646"],"%d \u062f\u0642\u0627\u0626\u0642","%d \u062f\u0642\u064a\u0642\u0629","%d \u062f\u0642\u064a\u0642\u0629"],h:["\u0623\u0642\u0644 \u0645\u0646 \u0633\u0627\u0639\u0629","\u0633\u0627\u0639\u0629 \u0648\u0627\u062d\u062f\u0629",["\u0633\u0627\u0639\u062a\u0627\u0646","\u0633\u0627\u0639\u062a\u064a\u0646"],"%d \u0633\u0627\u0639\u0627\u062a","%d \u0633\u0627\u0639\u0629","%d \u0633\u0627\u0639\u0629"],d:["\u0623\u0642\u0644 \u0645\u0646 \u064a\u0648\u0645","\u064a\u0648\u0645 \u0648\u0627\u062d\u062f",["\u064a\u0648\u0645\u0627\u0646","\u064a\u0648\u0645\u064a\u0646"],"%d \u0623\u064a\u0627\u0645","%d \u064a\u0648\u0645\u064b\u0627","%d \u064a\u0648\u0645"],M:["\u0623\u0642\u0644 \u0645\u0646 \u0634\u0647\u0631","\u0634\u0647\u0631 \u0648\u0627\u062d\u062f",["\u0634\u0647\u0631\u0627\u0646","\u0634\u0647\u0631\u064a\u0646"],"%d \u0623\u0634\u0647\u0631","%d \u0634\u0647\u0631\u0627","%d \u0634\u0647\u0631"],y:["\u0623\u0642\u0644 \u0645\u0646 \u0639\u0627\u0645","\u0639\u0627\u0645 \u0648\u0627\u062d\u062f",["\u0639\u0627\u0645\u0627\u0646","\u0639\u0627\u0645\u064a\u0646"],"%d \u0623\u0639\u0648\u0627\u0645","%d \u0639\u0627\u0645\u064b\u0627","%d \u0639\u0627\u0645"]},ds=function(r){return function(e,a,t,s){var n=ss(e),d=ns[r][ss(e)];return 2===n&&(d=d[a?0:1]),d.replace(/%d/i,e)}},rs=["\u064a\u0646\u0627\u064a\u0631","\u0641\u0628\u0631\u0627\u064a\u0631","\u0645\u0627\u0631\u0633","\u0623\u0628\u0631\u064a\u0644","\u0645\u0627\u064a\u0648","\u064a\u0648\u0646\u064a\u0648","\u064a\u0648\u0644\u064a\u0648","\u0623\u063a\u0633\u0637\u0633","\u0633\u0628\u062a\u0645\u0628\u0631","\u0623\u0643\u062a\u0648\u0628\u0631","\u0646\u0648\u0641\u0645\u0628\u0631","\u062f\u064a\u0633\u0645\u0628\u0631"];l.defineLocale("ar",{months:rs,monthsShort:rs,weekdays:"\u0627\u0644\u0623\u062d\u062f_\u0627\u0644\u0625\u062b\u0646\u064a\u0646_\u0627\u0644\u062b\u0644\u0627\u062b\u0627\u0621_\u0627\u0644\u0623\u0631\u0628\u0639\u0627\u0621_\u0627\u0644\u062e\u0645\u064a\u0633_\u0627\u0644\u062c\u0645\u0639\u0629_\u0627\u0644\u0633\u0628\u062a".split("_"),weekdaysShort:"\u0623\u062d\u062f_\u0625\u062b\u0646\u064a\u0646_\u062b\u0644\u0627\u062b\u0627\u0621_\u0623\u0631\u0628\u0639\u0627\u0621_\u062e\u0645\u064a\u0633_\u062c\u0645\u0639\u0629_\u0633\u0628\u062a".split("_"),weekdaysMin:"\u062d_\u0646_\u062b_\u0631_\u062e_\u062c_\u0633".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/\u200fM/\u200fYYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0635|\u0645/,isPM:function(e){return"\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635":"\u0645"},calendar:{sameDay:"[\u0627\u0644\u064a\u0648\u0645 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextDay:"[\u063a\u062f\u064b\u0627 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",nextWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastDay:"[\u0623\u0645\u0633 \u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",lastWeek:"dddd [\u0639\u0646\u062f \u0627\u0644\u0633\u0627\u0639\u0629] LT",sameElse:"L"},relativeTime:{future:"\u0628\u0639\u062f %s",past:"\u0645\u0646\u0630 %s",s:ds("s"),ss:ds("s"),m:ds("m"),mm:ds("m"),h:ds("h"),hh:ds("h"),d:ds("d"),dd:ds("d"),M:ds("M"),MM:ds("M"),y:ds("y"),yy:ds("y")},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return ts[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return as[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var _s={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-\xfcnc\xfc",4:"-\xfcnc\xfc",100:"-\xfcnc\xfc",6:"-nc\u0131",9:"-uncu",10:"-uncu",30:"-uncu",60:"-\u0131nc\u0131",90:"-\u0131nc\u0131"};function is(e,a,t){var s,n;return"m"===t?a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443":"h"===t?a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0456\u043b\u0456\u043d\u0430_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d":"\u0445\u0432\u0456\u043b\u0456\u043d\u0443_\u0445\u0432\u0456\u043b\u0456\u043d\u044b_\u0445\u0432\u0456\u043b\u0456\u043d",hh:a?"\u0433\u0430\u0434\u0437\u0456\u043d\u0430_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d":"\u0433\u0430\u0434\u0437\u0456\u043d\u0443_\u0433\u0430\u0434\u0437\u0456\u043d\u044b_\u0433\u0430\u0434\u0437\u0456\u043d",dd:"\u0434\u0437\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u0437\u0451\u043d",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u044b_\u043c\u0435\u0441\u044f\u0446\u0430\u045e",yy:"\u0433\u043e\u0434_\u0433\u0430\u0434\u044b_\u0433\u0430\u0434\u043e\u045e"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}l.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ert\u0259si_\xc7\u0259r\u015f\u0259nb\u0259 ax\u015fam\u0131_\xc7\u0259r\u015f\u0259nb\u0259_C\xfcm\u0259 ax\u015fam\u0131_C\xfcm\u0259_\u015e\u0259nb\u0259".split("_"),weekdaysShort:"Baz_BzE_\xc7Ax_\xc7\u0259r_CAx_C\xfcm_\u015e\u0259n".split("_"),weekdaysMin:"Bz_BE_\xc7A_\xc7\u0259_CA_C\xfc_\u015e\u0259".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[g\u0259l\u0259n h\u0259ft\u0259] dddd [saat] LT",lastDay:"[d\xfcn\u0259n] LT",lastWeek:"[ke\xe7\u0259n h\u0259ft\u0259] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \u0259vv\u0259l",s:"birne\xe7\u0259 saniy\u0259",ss:"%d saniy\u0259",m:"bir d\u0259qiq\u0259",mm:"%d d\u0259qiq\u0259",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gec\u0259|s\u0259h\u0259r|g\xfcnd\xfcz|ax\u015fam/,isPM:function(e){return/^(g\xfcnd\xfcz|ax\u015fam)$/.test(e)},meridiem:function(e,a,t){return e<4?"gec\u0259":e<12?"s\u0259h\u0259r":e<17?"g\xfcnd\xfcz":"ax\u015fam"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0131nc\u0131|inci|nci|\xfcnc\xfc|nc\u0131|uncu)/,ordinal:function(e){if(0===e)return e+"-\u0131nc\u0131";var a=e%10;return e+(_s[a]||_s[e%100-a]||_s[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale("be",{months:{format:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044f_\u043b\u044e\u0442\u0430\u0433\u0430_\u0441\u0430\u043a\u0430\u0432\u0456\u043a\u0430_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a\u0430_\u0442\u0440\u0430\u045e\u043d\u044f_\u0447\u044d\u0440\u0432\u0435\u043d\u044f_\u043b\u0456\u043f\u0435\u043d\u044f_\u0436\u043d\u0456\u045e\u043d\u044f_\u0432\u0435\u0440\u0430\u0441\u043d\u044f_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a\u0430_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434\u0430_\u0441\u043d\u0435\u0436\u043d\u044f".split("_"),standalone:"\u0441\u0442\u0443\u0434\u0437\u0435\u043d\u044c_\u043b\u044e\u0442\u044b_\u0441\u0430\u043a\u0430\u0432\u0456\u043a_\u043a\u0440\u0430\u0441\u0430\u0432\u0456\u043a_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u044d\u0440\u0432\u0435\u043d\u044c_\u043b\u0456\u043f\u0435\u043d\u044c_\u0436\u043d\u0456\u0432\u0435\u043d\u044c_\u0432\u0435\u0440\u0430\u0441\u0435\u043d\u044c_\u043a\u0430\u0441\u0442\u0440\u044b\u0447\u043d\u0456\u043a_\u043b\u0456\u0441\u0442\u0430\u043f\u0430\u0434_\u0441\u043d\u0435\u0436\u0430\u043d\u044c".split("_")},monthsShort:"\u0441\u0442\u0443\u0434_\u043b\u044e\u0442_\u0441\u0430\u043a_\u043a\u0440\u0430\u0441_\u0442\u0440\u0430\u0432_\u0447\u044d\u0440\u0432_\u043b\u0456\u043f_\u0436\u043d\u0456\u0432_\u0432\u0435\u0440_\u043a\u0430\u0441\u0442_\u043b\u0456\u0441\u0442_\u0441\u043d\u0435\u0436".split("_"),weekdays:{format:"\u043d\u044f\u0434\u0437\u0435\u043b\u044e_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0443_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0443_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),standalone:"\u043d\u044f\u0434\u0437\u0435\u043b\u044f_\u043f\u0430\u043d\u044f\u0434\u0437\u0435\u043b\u0430\u043a_\u0430\u045e\u0442\u043e\u0440\u0430\u043a_\u0441\u0435\u0440\u0430\u0434\u0430_\u0447\u0430\u0446\u0432\u0435\u0440_\u043f\u044f\u0442\u043d\u0456\u0446\u0430_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),isFormat:/\[ ?[\u0423\u0443\u045e] ?(?:\u043c\u0456\u043d\u0443\u043b\u0443\u044e|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u0443\u044e)? ?\] ?dddd/},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0430\u0442_\u0441\u0440_\u0447\u0446_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., HH:mm",LLLL:"dddd, D MMMM YYYY \u0433., HH:mm"},calendar:{sameDay:"[\u0421\u0451\u043d\u043d\u044f \u045e] LT",nextDay:"[\u0417\u0430\u045e\u0442\u0440\u0430 \u045e] LT",lastDay:"[\u0423\u0447\u043e\u0440\u0430 \u045e] LT",nextWeek:function(){return"[\u0423] dddd [\u045e] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u0443\u044e] dddd [\u045e] LT";case 1:case 2:case 4:return"[\u0423 \u043c\u0456\u043d\u0443\u043b\u044b] dddd [\u045e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u0440\u0430\u0437 %s",past:"%s \u0442\u0430\u043c\u0443",s:"\u043d\u0435\u043a\u0430\u043b\u044c\u043a\u0456 \u0441\u0435\u043a\u0443\u043d\u0434",m:is,mm:is,h:is,hh:is,d:"\u0434\u0437\u0435\u043d\u044c",dd:is,M:"\u043c\u0435\u0441\u044f\u0446",MM:is,y:"\u0433\u043e\u0434",yy:is},meridiemParse:/\u043d\u043e\u0447\u044b|\u0440\u0430\u043d\u0456\u0446\u044b|\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0430\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u044b":e<12?"\u0440\u0430\u043d\u0456\u0446\u044b":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0430\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0456|\u044b|\u0433\u0430)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-\u044b":e+"-\u0456";case"D":return e+"-\u0433\u0430";default:return e}},week:{dow:1,doy:7}}),l.defineLocale("bg",{months:"\u044f\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u044f\u043d\u0440_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u044e\u043d\u0438_\u044e\u043b\u0438_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u044f\u0434\u0430_\u0447\u0435\u0442\u0432\u044a\u0440\u0442\u044a\u043a_\u043f\u0435\u0442\u044a\u043a_\u0441\u044a\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u044f_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u044a\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u043d\u0435\u0441 \u0432] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432] LT",nextWeek:"dddd [\u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0430\u0442\u0430] dddd [\u0432] LT";case 1:case 2:case 4:case 5:return"[\u0412 \u0438\u0437\u043c\u0438\u043d\u0430\u043b\u0438\u044f] dddd [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0441\u043b\u0435\u0434 %s",past:"\u043f\u0440\u0435\u0434\u0438 %s",s:"\u043d\u044f\u043a\u043e\u043b\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u043d\u0438",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0430",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0===t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),l.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_M\u025bkalo_Zuw\u025bnkalo_Zuluyekalo_Utikalo_S\u025btanburukalo_\u0254kut\u0254burukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_M\u025b_Zuw_Zul_Uti_S\u025bt_\u0254ku_Now_Des".split("_"),weekdays:"Kari_Nt\u025bn\u025bn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Nt\u025b_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [l\u025br\u025b] HH:mm"},calendar:{sameDay:"[Bi l\u025br\u025b] LT",nextDay:"[Sini l\u025br\u025b] LT",nextWeek:"dddd [don l\u025br\u025b] LT",lastDay:"[Kunu l\u025br\u025b] LT",lastWeek:"dddd [t\u025bm\u025bnen l\u025br\u025b] LT",sameElse:"L"},relativeTime:{future:"%s k\u0254n\u0254",past:"a b\u025b %s b\u0254",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"l\u025br\u025b kelen",hh:"l\u025br\u025b %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}});var os={1:"\u09e7",2:"\u09e8",3:"\u09e9",4:"\u09ea",5:"\u09eb",6:"\u09ec",7:"\u09ed",8:"\u09ee",9:"\u09ef",0:"\u09e6"},ms={"\u09e7":"1","\u09e8":"2","\u09e9":"3","\u09ea":"4","\u09eb":"5","\u09ec":"6","\u09ed":"7","\u09ee":"8","\u09ef":"9","\u09e6":"0"};l.defineLocale("bn",{months:"\u099c\u09be\u09a8\u09c1\u09df\u09be\u09b0\u09c0_\u09ab\u09c7\u09ac\u09cd\u09b0\u09c1\u09df\u09be\u09b0\u09bf_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0\u09bf\u09b2_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2\u09be\u0987_\u0986\u0997\u09b8\u09cd\u099f_\u09b8\u09c7\u09aa\u09cd\u099f\u09c7\u09ae\u09cd\u09ac\u09b0_\u0985\u0995\u09cd\u099f\u09cb\u09ac\u09b0_\u09a8\u09ad\u09c7\u09ae\u09cd\u09ac\u09b0_\u09a1\u09bf\u09b8\u09c7\u09ae\u09cd\u09ac\u09b0".split("_"),monthsShort:"\u099c\u09be\u09a8\u09c1_\u09ab\u09c7\u09ac_\u09ae\u09be\u09b0\u09cd\u099a_\u098f\u09aa\u09cd\u09b0_\u09ae\u09c7_\u099c\u09c1\u09a8_\u099c\u09c1\u09b2_\u0986\u0997_\u09b8\u09c7\u09aa\u09cd\u099f_\u0985\u0995\u09cd\u099f\u09cb_\u09a8\u09ad\u09c7_\u09a1\u09bf\u09b8\u09c7".split("_"),weekdays:"\u09b0\u09ac\u09bf\u09ac\u09be\u09b0_\u09b8\u09cb\u09ae\u09ac\u09be\u09b0_\u09ae\u0999\u09cd\u0997\u09b2\u09ac\u09be\u09b0_\u09ac\u09c1\u09a7\u09ac\u09be\u09b0_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf\u09ac\u09be\u09b0_\u09b6\u09c1\u0995\u09cd\u09b0\u09ac\u09be\u09b0_\u09b6\u09a8\u09bf\u09ac\u09be\u09b0".split("_"),weekdaysShort:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997\u09b2_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u09b8\u09cd\u09aa\u09a4\u09bf_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),weekdaysMin:"\u09b0\u09ac\u09bf_\u09b8\u09cb\u09ae_\u09ae\u0999\u09cd\u0997_\u09ac\u09c1\u09a7_\u09ac\u09c3\u09b9\u0983_\u09b6\u09c1\u0995\u09cd\u09b0_\u09b6\u09a8\u09bf".split("_"),longDateFormat:{LT:"A h:mm \u09b8\u09ae\u09df",LTS:"A h:mm:ss \u09b8\u09ae\u09df",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u09b8\u09ae\u09df",LLLL:"dddd, D MMMM YYYY, A h:mm \u09b8\u09ae\u09df"},calendar:{sameDay:"[\u0986\u099c] LT",nextDay:"[\u0986\u0997\u09be\u09ae\u09c0\u0995\u09be\u09b2] LT",nextWeek:"dddd, LT",lastDay:"[\u0997\u09a4\u0995\u09be\u09b2] LT",lastWeek:"[\u0997\u09a4] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u09aa\u09b0\u09c7",past:"%s \u0986\u0997\u09c7",s:"\u0995\u09df\u09c7\u0995 \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",ss:"%d \u09b8\u09c7\u0995\u09c7\u09a8\u09cd\u09a1",m:"\u098f\u0995 \u09ae\u09bf\u09a8\u09bf\u099f",mm:"%d \u09ae\u09bf\u09a8\u09bf\u099f",h:"\u098f\u0995 \u0998\u09a8\u09cd\u099f\u09be",hh:"%d \u0998\u09a8\u09cd\u099f\u09be",d:"\u098f\u0995 \u09a6\u09bf\u09a8",dd:"%d \u09a6\u09bf\u09a8",M:"\u098f\u0995 \u09ae\u09be\u09b8",MM:"%d \u09ae\u09be\u09b8",y:"\u098f\u0995 \u09ac\u099b\u09b0",yy:"%d \u09ac\u099b\u09b0"},preparse:function(e){return e.replace(/[\u09e7\u09e8\u09e9\u09ea\u09eb\u09ec\u09ed\u09ee\u09ef\u09e6]/g,function(e){return ms[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return os[e]})},meridiemParse:/\u09b0\u09be\u09a4|\u09b8\u0995\u09be\u09b2|\u09a6\u09c1\u09aa\u09c1\u09b0|\u09ac\u09bf\u0995\u09be\u09b2|\u09b0\u09be\u09a4/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u09b0\u09be\u09a4"===a&&4<=e||"\u09a6\u09c1\u09aa\u09c1\u09b0"===a&&e<5||"\u09ac\u09bf\u0995\u09be\u09b2"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u09b0\u09be\u09a4":e<10?"\u09b8\u0995\u09be\u09b2":e<17?"\u09a6\u09c1\u09aa\u09c1\u09b0":e<20?"\u09ac\u09bf\u0995\u09be\u09b2":"\u09b0\u09be\u09a4"},week:{dow:0,doy:6}});var us={1:"\u0f21",2:"\u0f22",3:"\u0f23",4:"\u0f24",5:"\u0f25",6:"\u0f26",7:"\u0f27",8:"\u0f28",9:"\u0f29",0:"\u0f20"},ls={"\u0f21":"1","\u0f22":"2","\u0f23":"3","\u0f24":"4","\u0f25":"5","\u0f26":"6","\u0f27":"7","\u0f28":"8","\u0f29":"9","\u0f20":"0"};function Ms(e,a,t){var s,n,d;return e+" "+(s={mm:"munutenn",MM:"miz",dd:"devezh"}[t],2!==e?s:void 0!==(d={m:"v",b:"v",d:"z"})[(n=s).charAt(0)]?d[n.charAt(0)]+n.substring(1):n)}function hs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}l.defineLocale("bo",{months:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),monthsShort:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f44\u0f0b\u0f54\u0f7c_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f66\u0f74\u0f58\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f5e\u0f72\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f63\u0f94\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0fb2\u0f74\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f62\u0f92\u0fb1\u0f51\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f51\u0f42\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f45\u0f72\u0f42\u0f0b\u0f54_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f56\u0f45\u0f74\u0f0b\u0f42\u0f49\u0f72\u0f66\u0f0b\u0f54".split("_"),weekdays:"\u0f42\u0f5f\u0f60\u0f0b\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f42\u0f5f\u0f60\u0f0b\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f42\u0f5f\u0f60\u0f0b\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysShort:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),weekdaysMin:"\u0f49\u0f72\u0f0b\u0f58\u0f0b_\u0f5f\u0fb3\u0f0b\u0f56\u0f0b_\u0f58\u0f72\u0f42\u0f0b\u0f51\u0f58\u0f62\u0f0b_\u0f63\u0fb7\u0f42\u0f0b\u0f54\u0f0b_\u0f55\u0f74\u0f62\u0f0b\u0f56\u0f74_\u0f54\u0f0b\u0f66\u0f44\u0f66\u0f0b_\u0f66\u0fa4\u0f7a\u0f53\u0f0b\u0f54\u0f0b".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0f51\u0f72\u0f0b\u0f62\u0f72\u0f44] LT",nextDay:"[\u0f66\u0f44\u0f0b\u0f49\u0f72\u0f53] LT",nextWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f62\u0f97\u0f7a\u0f66\u0f0b\u0f58], LT",lastDay:"[\u0f41\u0f0b\u0f66\u0f44] LT",lastWeek:"[\u0f56\u0f51\u0f74\u0f53\u0f0b\u0f55\u0fb2\u0f42\u0f0b\u0f58\u0f50\u0f60\u0f0b\u0f58] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0f63\u0f0b",past:"%s \u0f66\u0f94\u0f53\u0f0b\u0f63",s:"\u0f63\u0f58\u0f0b\u0f66\u0f44",ss:"%d \u0f66\u0f90\u0f62\u0f0b\u0f46\u0f0d",m:"\u0f66\u0f90\u0f62\u0f0b\u0f58\u0f0b\u0f42\u0f45\u0f72\u0f42",mm:"%d \u0f66\u0f90\u0f62\u0f0b\u0f58",h:"\u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51\u0f0b\u0f42\u0f45\u0f72\u0f42",hh:"%d \u0f46\u0f74\u0f0b\u0f5a\u0f7c\u0f51",d:"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f45\u0f72\u0f42",dd:"%d \u0f49\u0f72\u0f53\u0f0b",M:"\u0f5f\u0fb3\u0f0b\u0f56\u0f0b\u0f42\u0f45\u0f72\u0f42",MM:"%d \u0f5f\u0fb3\u0f0b\u0f56",y:"\u0f63\u0f7c\u0f0b\u0f42\u0f45\u0f72\u0f42",yy:"%d \u0f63\u0f7c"},preparse:function(e){return e.replace(/[\u0f21\u0f22\u0f23\u0f24\u0f25\u0f26\u0f27\u0f28\u0f29\u0f20]/g,function(e){return ls[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return us[e]})},meridiemParse:/\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c|\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66|\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44|\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42|\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"===a&&4<=e||"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44"===a&&e<5||"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c":e<10?"\u0f5e\u0f7c\u0f42\u0f66\u0f0b\u0f40\u0f66":e<17?"\u0f49\u0f72\u0f53\u0f0b\u0f42\u0f74\u0f44":e<20?"\u0f51\u0f42\u0f7c\u0f44\u0f0b\u0f51\u0f42":"\u0f58\u0f5a\u0f53\u0f0b\u0f58\u0f7c"},week:{dow:0,doy:6}}),l.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondenno\xf9",ss:"%d eilenn",m:"ur vunutenn",mm:Ms,h:"un eur",hh:"%d eur",d:"un devezh",dd:Ms,M:"ur miz",MM:Ms,y:"ur bloaz",yy:function(e){switch(function e(a){return 9<a?e(a%10):a}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(a\xf1|vet)/,ordinal:function(e){return e+(1===e?"a\xf1":"vet")},week:{dow:1,doy:4}}),l.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:hs,m:hs,mm:hs,h:hs,hh:hs,d:"dan",dd:hs,M:"mjesec",MM:hs,y:"godinu",yy:hs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("ca",{months:{standalone:"gener_febrer_mar\xe7_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de mar\xe7_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._mar\xe7_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[dem\xe0 a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aqu\xed %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|\xe8|a)/,ordinal:function(e,a){var t=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"\xe8";return"w"!==a&&"W"!==a||(t="a"),e+t},week:{dow:1,doy:4}});var Ls="leden_\xfanor_b\u0159ezen_duben_kv\u011bten_\u010derven_\u010dervenec_srpen_z\xe1\u0159\xed_\u0159\xedjen_listopad_prosinec".split("_"),cs="led_\xfano_b\u0159e_dub_kv\u011b_\u010dvn_\u010dvc_srp_z\xe1\u0159_\u0159\xedj_lis_pro".split("_"),Ys=[/^led/i,/^\xfano/i,/^b\u0159e/i,/^dub/i,/^kv\u011b/i,/^(\u010dvn|\u010derven$|\u010dervna)/i,/^(\u010dvc|\u010dervenec|\u010dervence)/i,/^srp/i,/^z\xe1\u0159/i,/^\u0159\xedj/i,/^lis/i,/^pro/i],ys=/^(leden|\xfanor|b\u0159ezen|duben|kv\u011bten|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|z\xe1\u0159\xed|\u0159\xedjen|listopad|prosinec|led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i;function fs(e){return 1<e&&e<5&&1!=~~(e/10)}function ks(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sekund":"p\xe1r sekundami";case"ss":return a||s?n+(fs(e)?"sekundy":"sekund"):n+"sekundami";break;case"m":return a?"minuta":s?"minutu":"minutou";case"mm":return a||s?n+(fs(e)?"minuty":"minut"):n+"minutami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(fs(e)?"hodiny":"hodin"):n+"hodinami";break;case"d":return a||s?"den":"dnem";case"dd":return a||s?n+(fs(e)?"dny":"dn\xed"):n+"dny";break;case"M":return a||s?"m\u011bs\xedc":"m\u011bs\xedcem";case"MM":return a||s?n+(fs(e)?"m\u011bs\xedce":"m\u011bs\xedc\u016f"):n+"m\u011bs\xedci";break;case"y":return a||s?"rok":"rokem";case"yy":return a||s?n+(fs(e)?"roky":"let"):n+"lety";break}}function ps(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function Ds(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}function Ts(e,a,t,s){var n={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return a?n[t][0]:n[t][1]}l.defineLocale("cs",{months:Ls,monthsShort:cs,monthsRegex:ys,monthsShortRegex:ys,monthsStrictRegex:/^(leden|ledna|\xfanora|\xfanor|b\u0159ezen|b\u0159ezna|duben|dubna|kv\u011bten|kv\u011btna|\u010dervenec|\u010dervence|\u010derven|\u010dervna|srpen|srpna|z\xe1\u0159\xed|\u0159\xedjen|\u0159\xedjna|listopadu|listopad|prosinec|prosince)/i,monthsShortStrictRegex:/^(led|\xfano|b\u0159e|dub|kv\u011b|\u010dvn|\u010dvc|srp|z\xe1\u0159|\u0159\xedj|lis|pro)/i,monthsParse:Ys,longMonthsParse:Ys,shortMonthsParse:Ys,weekdays:"ned\u011ble_pond\u011bl\xed_\xfater\xfd_st\u0159eda_\u010dtvrtek_p\xe1tek_sobota".split("_"),weekdaysShort:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),weekdaysMin:"ne_po_\xfat_st_\u010dt_p\xe1_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[z\xedtra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v ned\u011bli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve st\u0159edu v] LT";case 4:return"[ve \u010dtvrtek v] LT";case 5:return"[v p\xe1tek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[v\u010dera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou ned\u011bli v] LT";case 1:case 2:return"[minul\xe9] dddd [v] LT";case 3:return"[minulou st\u0159edu v] LT";case 4:case 5:return"[minul\xfd] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"p\u0159ed %s",s:ks,ss:ks,m:ks,mm:ks,h:ks,hh:ks,d:ks,dd:ks,M:ks,MM:ks,y:ks,yy:ks},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("cv",{months:"\u043a\u04d1\u0440\u043b\u0430\u0447_\u043d\u0430\u0440\u04d1\u0441_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440\u0442\u043c\u0435_\u0443\u0442\u04d1_\u04ab\u0443\u0440\u043b\u0430_\u0430\u0432\u04d1\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448\u0442\u0430\u0432".split("_"),monthsShort:"\u043a\u04d1\u0440_\u043d\u0430\u0440_\u043f\u0443\u0448_\u0430\u043a\u0430_\u043c\u0430\u0439_\u04ab\u04d7\u0440_\u0443\u0442\u04d1_\u04ab\u0443\u0440_\u0430\u0432\u043d_\u044e\u043f\u0430_\u0447\u04f3\u043a_\u0440\u0430\u0448".split("_"),weekdays:"\u0432\u044b\u0440\u0441\u0430\u0440\u043d\u0438\u043a\u0443\u043d_\u0442\u0443\u043d\u0442\u0438\u043a\u0443\u043d_\u044b\u0442\u043b\u0430\u0440\u0438\u043a\u0443\u043d_\u044e\u043d\u043a\u0443\u043d_\u043a\u04d7\u04ab\u043d\u0435\u0440\u043d\u0438\u043a\u0443\u043d_\u044d\u0440\u043d\u0435\u043a\u0443\u043d_\u0448\u04d1\u043c\u0430\u0442\u043a\u0443\u043d".split("_"),weekdaysShort:"\u0432\u044b\u0440_\u0442\u0443\u043d_\u044b\u0442\u043b_\u044e\u043d_\u043a\u04d7\u04ab_\u044d\u0440\u043d_\u0448\u04d1\u043c".split("_"),weekdaysMin:"\u0432\u0440_\u0442\u043d_\u044b\u0442_\u044e\u043d_\u043a\u04ab_\u044d\u0440_\u0448\u043c".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7]",LLL:"YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm",LLLL:"dddd, YYYY [\u04ab\u0443\u043b\u0445\u0438] MMMM [\u0443\u0439\u04d1\u0445\u04d7\u043d] D[-\u043c\u04d7\u0448\u04d7], HH:mm"},calendar:{sameDay:"[\u041f\u0430\u044f\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextDay:"[\u042b\u0440\u0430\u043d] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastDay:"[\u04d6\u043d\u0435\u0440] LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",nextWeek:"[\u04aa\u0438\u0442\u0435\u0441] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",lastWeek:"[\u0418\u0440\u0442\u043d\u04d7] dddd LT [\u0441\u0435\u0445\u0435\u0442\u0440\u0435]",sameElse:"L"},relativeTime:{future:function(e){return e+(/\u0441\u0435\u0445\u0435\u0442$/i.exec(e)?"\u0440\u0435\u043d":/\u04ab\u0443\u043b$/i.exec(e)?"\u0442\u0430\u043d":"\u0440\u0430\u043d")},past:"%s \u043a\u0430\u044f\u043b\u043b\u0430",s:"\u043f\u04d7\u0440-\u0438\u043a \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",ss:"%d \u04ab\u0435\u043a\u043a\u0443\u043d\u0442",m:"\u043f\u04d7\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u043f\u04d7\u0440 \u0441\u0435\u0445\u0435\u0442",hh:"%d \u0441\u0435\u0445\u0435\u0442",d:"\u043f\u04d7\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u043f\u04d7\u0440 \u0443\u0439\u04d1\u0445",MM:"%d \u0443\u0439\u04d1\u0445",y:"\u043f\u04d7\u0440 \u04ab\u0443\u043b",yy:"%d \u04ab\u0443\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-\u043c\u04d7\u0448/,ordinal:"%d-\u043c\u04d7\u0448",week:{dow:1,doy:7}}),l.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn \xf4l",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var a="";return 20<e?a=40===e||50===e||60===e||80===e||100===e?"fed":"ain":0<e&&(a=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+a},week:{dow:1,doy:4}}),l.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8n_man_tir_ons_tor_fre_l\xf8r".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"p\xe5 dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"f\xe5 sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"et \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("de-at",{months:"J\xe4nner_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"J\xe4n._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:ps,mm:"%d Minuten",h:ps,hh:"%d Stunden",d:ps,dd:ps,M:ps,MM:ps,y:ps,yy:ps},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("de-ch",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Ds,mm:"%d Minuten",h:Ds,hh:"%d Stunden",d:Ds,dd:Ds,M:Ds,MM:Ds,y:Ds,yy:Ds},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("de",{months:"Januar_Februar_M\xe4rz_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._M\xe4rz_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:Ts,mm:"%d Minuten",h:Ts,hh:"%d Stunden",d:Ts,dd:Ts,M:Ts,MM:Ts,y:Ts,yy:Ts},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var gs=["\u0796\u07ac\u0782\u07aa\u0787\u07a6\u0783\u07a9","\u078a\u07ac\u0784\u07b0\u0783\u07aa\u0787\u07a6\u0783\u07a9","\u0789\u07a7\u0783\u07a8\u0797\u07aa","\u0787\u07ad\u0795\u07b0\u0783\u07a9\u078d\u07aa","\u0789\u07ad","\u0796\u07ab\u0782\u07b0","\u0796\u07aa\u078d\u07a6\u0787\u07a8","\u0787\u07af\u078e\u07a6\u0790\u07b0\u0793\u07aa","\u0790\u07ac\u0795\u07b0\u0793\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0787\u07ae\u0786\u07b0\u0793\u07af\u0784\u07a6\u0783\u07aa","\u0782\u07ae\u0788\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa","\u0791\u07a8\u0790\u07ac\u0789\u07b0\u0784\u07a6\u0783\u07aa"],ws=["\u0787\u07a7\u078b\u07a8\u0787\u07b0\u078c\u07a6","\u0780\u07af\u0789\u07a6","\u0787\u07a6\u0782\u07b0\u078e\u07a7\u0783\u07a6","\u0784\u07aa\u078b\u07a6","\u0784\u07aa\u0783\u07a7\u0790\u07b0\u078a\u07a6\u078c\u07a8","\u0780\u07aa\u0786\u07aa\u0783\u07aa","\u0780\u07ae\u0782\u07a8\u0780\u07a8\u0783\u07aa"];l.defineLocale("dv",{months:gs,monthsShort:gs,weekdays:ws,weekdaysShort:ws,weekdaysMin:"\u0787\u07a7\u078b\u07a8_\u0780\u07af\u0789\u07a6_\u0787\u07a6\u0782\u07b0_\u0784\u07aa\u078b\u07a6_\u0784\u07aa\u0783\u07a7_\u0780\u07aa\u0786\u07aa_\u0780\u07ae\u0782\u07a8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0789\u0786|\u0789\u078a/,isPM:function(e){return"\u0789\u078a"===e},meridiem:function(e,a,t){return e<12?"\u0789\u0786":"\u0789\u078a"},calendar:{sameDay:"[\u0789\u07a8\u0787\u07a6\u078b\u07aa] LT",nextDay:"[\u0789\u07a7\u078b\u07a6\u0789\u07a7] LT",nextWeek:"dddd LT",lastDay:"[\u0787\u07a8\u0787\u07b0\u0794\u07ac] LT",lastWeek:"[\u078a\u07a7\u0787\u07a8\u078c\u07aa\u0788\u07a8] dddd LT",sameElse:"L"},relativeTime:{future:"\u078c\u07ac\u0783\u07ad\u078e\u07a6\u0787\u07a8 %s",past:"\u0786\u07aa\u0783\u07a8\u0782\u07b0 %s",s:"\u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa\u0786\u07ae\u0785\u07ac\u0787\u07b0",ss:"d% \u0790\u07a8\u0786\u07aa\u0782\u07b0\u078c\u07aa",m:"\u0789\u07a8\u0782\u07a8\u0793\u07ac\u0787\u07b0",mm:"\u0789\u07a8\u0782\u07a8\u0793\u07aa %d",h:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07ac\u0787\u07b0",hh:"\u078e\u07a6\u0791\u07a8\u0787\u07a8\u0783\u07aa %d",d:"\u078b\u07aa\u0788\u07a6\u0780\u07ac\u0787\u07b0",dd:"\u078b\u07aa\u0788\u07a6\u0790\u07b0 %d",M:"\u0789\u07a6\u0780\u07ac\u0787\u07b0",MM:"\u0789\u07a6\u0790\u07b0 %d",y:"\u0787\u07a6\u0780\u07a6\u0783\u07ac\u0787\u07b0",yy:"\u0787\u07a6\u0780\u07a6\u0783\u07aa %d"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:7,doy:12}}),l.defineLocale("el",{monthsNominativeEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03ac\u03c1\u03b9\u03bf\u03c2_\u039c\u03ac\u03c1\u03c4\u03b9\u03bf\u03c2_\u0391\u03c0\u03c1\u03af\u03bb\u03b9\u03bf\u03c2_\u039c\u03ac\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bd\u03b9\u03bf\u03c2_\u0399\u03bf\u03cd\u03bb\u03b9\u03bf\u03c2_\u0391\u03cd\u03b3\u03bf\u03c5\u03c3\u03c4\u03bf\u03c2_\u03a3\u03b5\u03c0\u03c4\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u039f\u03ba\u03c4\u03ce\u03b2\u03c1\u03b9\u03bf\u03c2_\u039d\u03bf\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2_\u0394\u03b5\u03ba\u03ad\u03bc\u03b2\u03c1\u03b9\u03bf\u03c2".split("_"),monthsGenitiveEl:"\u0399\u03b1\u03bd\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u03a6\u03b5\u03b2\u03c1\u03bf\u03c5\u03b1\u03c1\u03af\u03bf\u03c5_\u039c\u03b1\u03c1\u03c4\u03af\u03bf\u03c5_\u0391\u03c0\u03c1\u03b9\u03bb\u03af\u03bf\u03c5_\u039c\u03b1\u0390\u03bf\u03c5_\u0399\u03bf\u03c5\u03bd\u03af\u03bf\u03c5_\u0399\u03bf\u03c5\u03bb\u03af\u03bf\u03c5_\u0391\u03c5\u03b3\u03bf\u03cd\u03c3\u03c4\u03bf\u03c5_\u03a3\u03b5\u03c0\u03c4\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u039f\u03ba\u03c4\u03c9\u03b2\u03c1\u03af\u03bf\u03c5_\u039d\u03bf\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5_\u0394\u03b5\u03ba\u03b5\u03bc\u03b2\u03c1\u03af\u03bf\u03c5".split("_"),months:function(e,a){return e?"string"==typeof a&&/D/.test(a.substring(0,a.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"\u0399\u03b1\u03bd_\u03a6\u03b5\u03b2_\u039c\u03b1\u03c1_\u0391\u03c0\u03c1_\u039c\u03b1\u03ca_\u0399\u03bf\u03c5\u03bd_\u0399\u03bf\u03c5\u03bb_\u0391\u03c5\u03b3_\u03a3\u03b5\u03c0_\u039f\u03ba\u03c4_\u039d\u03bf\u03b5_\u0394\u03b5\u03ba".split("_"),weekdays:"\u039a\u03c5\u03c1\u03b9\u03b1\u03ba\u03ae_\u0394\u03b5\u03c5\u03c4\u03ad\u03c1\u03b1_\u03a4\u03c1\u03af\u03c4\u03b7_\u03a4\u03b5\u03c4\u03ac\u03c1\u03c4\u03b7_\u03a0\u03ad\u03bc\u03c0\u03c4\u03b7_\u03a0\u03b1\u03c1\u03b1\u03c3\u03ba\u03b5\u03c5\u03ae_\u03a3\u03ac\u03b2\u03b2\u03b1\u03c4\u03bf".split("_"),weekdaysShort:"\u039a\u03c5\u03c1_\u0394\u03b5\u03c5_\u03a4\u03c1\u03b9_\u03a4\u03b5\u03c4_\u03a0\u03b5\u03bc_\u03a0\u03b1\u03c1_\u03a3\u03b1\u03b2".split("_"),weekdaysMin:"\u039a\u03c5_\u0394\u03b5_\u03a4\u03c1_\u03a4\u03b5_\u03a0\u03b5_\u03a0\u03b1_\u03a3\u03b1".split("_"),meridiem:function(e,a,t){return 11<e?t?"\u03bc\u03bc":"\u039c\u039c":t?"\u03c0\u03bc":"\u03a0\u039c"},isPM:function(e){return"\u03bc"===(e+"").toLowerCase()[0]},meridiemParse:/[\u03a0\u039c]\.?\u039c?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[\u03a3\u03ae\u03bc\u03b5\u03c1\u03b1 {}] LT",nextDay:"[\u0391\u03cd\u03c1\u03b9\u03bf {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[\u03a7\u03b8\u03b5\u03c2 {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[\u03c4\u03bf \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf] dddd [{}] LT";default:return"[\u03c4\u03b7\u03bd \u03c0\u03c1\u03bf\u03b7\u03b3\u03bf\u03cd\u03bc\u03b5\u03bd\u03b7] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,a){var t=this._calendarEl[e],s=a&&a.hours();return H(t)&&(t=t.apply(a)),t.replace("{}",s%12==1?"\u03c3\u03c4\u03b7":"\u03c3\u03c4\u03b9\u03c2")},relativeTime:{future:"\u03c3\u03b5 %s",past:"%s \u03c0\u03c1\u03b9\u03bd",s:"\u03bb\u03af\u03b3\u03b1 \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",ss:"%d \u03b4\u03b5\u03c5\u03c4\u03b5\u03c1\u03cc\u03bb\u03b5\u03c0\u03c4\u03b1",m:"\u03ad\u03bd\u03b1 \u03bb\u03b5\u03c0\u03c4\u03cc",mm:"%d \u03bb\u03b5\u03c0\u03c4\u03ac",h:"\u03bc\u03af\u03b1 \u03ce\u03c1\u03b1",hh:"%d \u03ce\u03c1\u03b5\u03c2",d:"\u03bc\u03af\u03b1 \u03bc\u03ad\u03c1\u03b1",dd:"%d \u03bc\u03ad\u03c1\u03b5\u03c2",M:"\u03ad\u03bd\u03b1\u03c2 \u03bc\u03ae\u03bd\u03b1\u03c2",MM:"%d \u03bc\u03ae\u03bd\u03b5\u03c2",y:"\u03ad\u03bd\u03b1\u03c2 \u03c7\u03c1\u03cc\u03bd\u03bf\u03c2",yy:"%d \u03c7\u03c1\u03cc\u03bd\u03b9\u03b1"},dayOfMonthOrdinalParse:/\d{1,2}\u03b7/,ordinal:"%d\u03b7",week:{dow:1,doy:4}}),l.defineLocale("en-SG",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),l.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")}}),l.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_a\u016dgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_a\u016dg_sep_okt_nov_dec".split("_"),weekdays:"diman\u0109o_lundo_mardo_merkredo_\u0135a\u016ddo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_\u0135a\u016d_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_\u0135a_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"p.t.m.":"P.T.M.":t?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodia\u016d je] LT",nextDay:"[Morga\u016d je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hiera\u016d je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"anta\u016d %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}});var vs="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),Ss="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Hs=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],bs=/^(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;l.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Ss[e.month()]:vs[e.month()]:vs},monthsRegex:bs,monthsShortRegex:bs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Hs,longMonthsParse:Hs,shortMonthsParse:Hs,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var js="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),xs="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Os=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Ps=/^(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;l.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?xs[e.month()]:js[e.month()]:js},monthsRegex:Ps,monthsShortRegex:Ps,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Os,longMonthsParse:Os,shortMonthsParse:Os,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:0,doy:6}});var Ws="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),As="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),Es=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],Fs=/^(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;function zs(e,a,t,s){var n={s:["m\xf5ne sekundi","m\xf5ni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["\xfche minuti","\xfcks minut"],mm:[e+" minuti",e+" minutit"],h:["\xfche tunni","tund aega","\xfcks tund"],hh:[e+" tunni",e+" tundi"],d:["\xfche p\xe4eva","\xfcks p\xe4ev"],M:["kuu aja","kuu aega","\xfcks kuu"],MM:[e+" kuu",e+" kuud"],y:["\xfche aasta","aasta","\xfcks aasta"],yy:[e+" aasta",e+" aastat"]};return a?n[t][2]?n[t][2]:n[t][1]:s?n[t][0]:n[t][1]}l.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?As[e.month()]:Ws[e.month()]:Ws},monthsRegex:Fs,monthsShortRegex:Fs,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:Es,longMonthsParse:Es,shortMonthsParse:Es,weekdays:"domingo_lunes_martes_mi\xe9rcoles_jueves_viernes_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._mi\xe9._jue._vie._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[ma\xf1ana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un a\xf1o",yy:"%d a\xf1os"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("et",{months:"jaanuar_veebruar_m\xe4rts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_m\xe4rts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"p\xfchap\xe4ev_esmasp\xe4ev_teisip\xe4ev_kolmap\xe4ev_neljap\xe4ev_reede_laup\xe4ev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[T\xe4na,] LT",nextDay:"[Homme,] LT",nextWeek:"[J\xe4rgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s p\xe4rast",past:"%s tagasi",s:zs,ss:zs,m:zs,mm:zs,h:zs,hh:zs,d:zs,dd:"%d p\xe4eva",M:zs,MM:zs,y:zs,yy:zs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Js={1:"\u06f1",2:"\u06f2",3:"\u06f3",4:"\u06f4",5:"\u06f5",6:"\u06f6",7:"\u06f7",8:"\u06f8",9:"\u06f9",0:"\u06f0"},Ns={"\u06f1":"1","\u06f2":"2","\u06f3":"3","\u06f4":"4","\u06f5":"5","\u06f6":"6","\u06f7":"7","\u06f8":"8","\u06f9":"9","\u06f0":"0"};l.defineLocale("fa",{months:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),monthsShort:"\u0698\u0627\u0646\u0648\u06cc\u0647_\u0641\u0648\u0631\u06cc\u0647_\u0645\u0627\u0631\u0633_\u0622\u0648\u0631\u06cc\u0644_\u0645\u0647_\u0698\u0648\u0626\u0646_\u0698\u0648\u0626\u06cc\u0647_\u0627\u0648\u062a_\u0633\u067e\u062a\u0627\u0645\u0628\u0631_\u0627\u06a9\u062a\u0628\u0631_\u0646\u0648\u0627\u0645\u0628\u0631_\u062f\u0633\u0627\u0645\u0628\u0631".split("_"),weekdays:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysShort:"\u06cc\u06a9\u200c\u0634\u0646\u0628\u0647_\u062f\u0648\u0634\u0646\u0628\u0647_\u0633\u0647\u200c\u0634\u0646\u0628\u0647_\u0686\u0647\u0627\u0631\u0634\u0646\u0628\u0647_\u067e\u0646\u062c\u200c\u0634\u0646\u0628\u0647_\u062c\u0645\u0639\u0647_\u0634\u0646\u0628\u0647".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u062c_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631|\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/,isPM:function(e){return/\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631/.test(e)},meridiem:function(e,a,t){return e<12?"\u0642\u0628\u0644 \u0627\u0632 \u0638\u0647\u0631":"\u0628\u0639\u062f \u0627\u0632 \u0638\u0647\u0631"},calendar:{sameDay:"[\u0627\u0645\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",nextDay:"[\u0641\u0631\u062f\u0627 \u0633\u0627\u0639\u062a] LT",nextWeek:"dddd [\u0633\u0627\u0639\u062a] LT",lastDay:"[\u062f\u06cc\u0631\u0648\u0632 \u0633\u0627\u0639\u062a] LT",lastWeek:"dddd [\u067e\u06cc\u0634] [\u0633\u0627\u0639\u062a] LT",sameElse:"L"},relativeTime:{future:"\u062f\u0631 %s",past:"%s \u067e\u06cc\u0634",s:"\u0686\u0646\u062f \u062b\u0627\u0646\u06cc\u0647",ss:"\u062b\u0627\u0646\u06cc\u0647 d%",m:"\u06cc\u06a9 \u062f\u0642\u06cc\u0642\u0647",mm:"%d \u062f\u0642\u06cc\u0642\u0647",h:"\u06cc\u06a9 \u0633\u0627\u0639\u062a",hh:"%d \u0633\u0627\u0639\u062a",d:"\u06cc\u06a9 \u0631\u0648\u0632",dd:"%d \u0631\u0648\u0632",M:"\u06cc\u06a9 \u0645\u0627\u0647",MM:"%d \u0645\u0627\u0647",y:"\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/[\u06f0-\u06f9]/g,function(e){return Ns[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return Js[e]}).replace(/,/g,"\u060c")},dayOfMonthOrdinalParse:/\d{1,2}\u0645/,ordinal:"%d\u0645",week:{dow:6,doy:12}});var Rs="nolla yksi kaksi kolme nelj\xe4 viisi kuusi seitsem\xe4n kahdeksan yhdeks\xe4n".split(" "),Cs=["nolla","yhden","kahden","kolmen","nelj\xe4n","viiden","kuuden",Rs[7],Rs[8],Rs[9]];function Is(e,a,t,s){var n,d,r="";switch(t){case"s":return s?"muutaman sekunnin":"muutama sekunti";case"ss":return s?"sekunnin":"sekuntia";case"m":return s?"minuutin":"minuutti";case"mm":r=s?"minuutin":"minuuttia";break;case"h":return s?"tunnin":"tunti";case"hh":r=s?"tunnin":"tuntia";break;case"d":return s?"p\xe4iv\xe4n":"p\xe4iv\xe4";case"dd":r=s?"p\xe4iv\xe4n":"p\xe4iv\xe4\xe4";break;case"M":return s?"kuukauden":"kuukausi";case"MM":r=s?"kuukauden":"kuukautta";break;case"y":return s?"vuoden":"vuosi";case"yy":r=s?"vuoden":"vuotta";break}return d=s,r=((n=e)<10?d?Cs[n]:Rs[n]:n)+" "+r}l.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kes\xe4kuu_hein\xe4kuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kes\xe4_hein\xe4_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[t\xe4n\xe4\xe4n] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s p\xe4\xe4st\xe4",past:"%s sitten",s:Is,ss:Is,m:Is,mm:Is,h:Is,hh:Is,d:Is,dd:Is,M:Is,MM:Is,y:Is,yy:Is},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("fo",{months:"januar_februar_mars_apr\xedl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_m\xe1nadagur_t\xfdsdagur_mikudagur_h\xf3sdagur_fr\xedggjadagur_leygardagur".split("_"),weekdaysShort:"sun_m\xe1n_t\xfds_mik_h\xf3s_fr\xed_ley".split("_"),weekdaysMin:"su_m\xe1_t\xfd_mi_h\xf3_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[\xcd dag kl.] LT",nextDay:"[\xcd morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xcd gj\xe1r kl.] LT",lastWeek:"[s\xed\xf0stu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s s\xed\xf0ani",s:"f\xe1 sekund",ss:"%d sekundir",m:"ein minuttur",mm:"%d minuttir",h:"ein t\xedmi",hh:"%d t\xedmar",d:"ein dagur",dd:"%d dagar",M:"ein m\xe1na\xf0ur",MM:"%d m\xe1na\xf0ir",y:"eitt \xe1r",yy:"%d \xe1r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("fr-ca",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}),l.defineLocale("fr-ch",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,a){switch(a){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}),l.defineLocale("fr",{months:"janvier_f\xe9vrier_mars_avril_mai_juin_juillet_ao\xfbt_septembre_octobre_novembre_d\xe9cembre".split("_"),monthsShort:"janv._f\xe9vr._mars_avr._mai_juin_juil._ao\xfbt_sept._oct._nov._d\xe9c.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd\u2019hui \xe0] LT",nextDay:"[Demain \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[Hier \xe0] LT",lastWeek:"dddd [dernier \xe0] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,a){switch(a){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}});var Us="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),Gs="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");l.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Gs[e.month()]:Us[e.month()]:Us},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[\xf4fr\xfbne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien min\xfat",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});l.defineLocale("ga",{months:["Ean\xe1ir","Feabhra","M\xe1rta","Aibre\xe1n","Bealtaine","M\xe9itheamh","I\xfail","L\xfanasa","Me\xe1n F\xf3mhair","Deaireadh F\xf3mhair","Samhain","Nollaig"],monthsShort:["Ean\xe1","Feab","M\xe1rt","Aibr","Beal","M\xe9it","I\xfail","L\xfana","Me\xe1n","Deai","Samh","Noll"],monthsParseExact:!0,weekdays:["D\xe9 Domhnaigh","D\xe9 Luain","D\xe9 M\xe1irt","D\xe9 C\xe9adaoin","D\xe9ardaoin","D\xe9 hAoine","D\xe9 Satharn"],weekdaysShort:["Dom","Lua","M\xe1i","C\xe9a","D\xe9a","hAo","Sat"],weekdaysMin:["Do","Lu","M\xe1","Ce","D\xe9","hA","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Inniu ag] LT",nextDay:"[Am\xe1rach ag] LT",nextWeek:"dddd [ag] LT",lastDay:"[Inn\xe9 aig] LT",lastWeek:"dddd [seo caite] [ag] LT",sameElse:"L"},relativeTime:{future:"i %s",past:"%s \xf3 shin",s:"c\xfapla soicind",ss:"%d soicind",m:"n\xf3im\xe9ad",mm:"%d n\xf3im\xe9ad",h:"uair an chloig",hh:"%d uair an chloig",d:"l\xe1",dd:"%d l\xe1",M:"m\xed",MM:"%d m\xed",y:"bliain",yy:"%d bliain"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}});function Vs(e,a,t,s){var n={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka voran","ek vor"],hh:[e+" voranim",e+" voram"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return a?n[t][0]:n[t][1]}l.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am M\xe0rt","An Giblean","An C\xe8itean","An t-\xd2gmhios","An t-Iuchar","An L\xf9nastal","An t-Sultain","An D\xe0mhair","An t-Samhain","An D\xf9bhlachd"],monthsShort:["Faoi","Gear","M\xe0rt","Gibl","C\xe8it","\xd2gmh","Iuch","L\xf9n","Sult","D\xe0mh","Samh","D\xf9bh"],monthsParseExact:!0,weekdays:["Did\xf2mhnaich","Diluain","Dim\xe0irt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["D\xf2","Lu","M\xe0","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-m\xe0ireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-d\xe8 aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"m\xecos",MM:"%d m\xecosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}),l.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xu\xf1o_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xu\xf1._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_m\xe9rcores_xoves_venres_s\xe1bado".split("_"),weekdaysShort:"dom._lun._mar._m\xe9r._xov._ven._s\xe1b.".split("_"),weekdaysMin:"do_lu_ma_m\xe9_xo_ve_s\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextDay:function(){return"[ma\xf1\xe1 "+(1!==this.hours()?"\xe1s":"\xe1")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"\xe1s":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"\xe1":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"\xe1s":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un d\xeda",dd:"%d d\xedas",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:Vs,ss:Vs,m:Vs,mm:Vs,h:Vs,hh:Vs,d:Vs,dd:Vs,M:Vs,MM:Vs,y:Vs,yy:Vs},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,a){switch(a){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,a){return 12===e&&(e=0),"rati"===a?e<4?e:e+12:"sokalli"===a?e:"donparam"===a?12<e?e:e+12:"sanje"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}});var Ks={1:"\u0ae7",2:"\u0ae8",3:"\u0ae9",4:"\u0aea",5:"\u0aeb",6:"\u0aec",7:"\u0aed",8:"\u0aee",9:"\u0aef",0:"\u0ae6"},Zs={"\u0ae7":"1","\u0ae8":"2","\u0ae9":"3","\u0aea":"4","\u0aeb":"5","\u0aec":"6","\u0aed":"7","\u0aee":"8","\u0aef":"9","\u0ae6":"0"};l.defineLocale("gu",{months:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1\u0a86\u0ab0\u0ac0_\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1\u0a86\u0ab0\u0ac0_\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf\u0ab2_\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe\u0a88_\u0a91\u0a97\u0ab8\u0acd\u0a9f_\u0ab8\u0aaa\u0acd\u0a9f\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0a91\u0a95\u0acd\u0a9f\u0acd\u0aac\u0ab0_\u0aa8\u0ab5\u0ac7\u0aae\u0acd\u0aac\u0ab0_\u0aa1\u0abf\u0ab8\u0ac7\u0aae\u0acd\u0aac\u0ab0".split("_"),monthsShort:"\u0a9c\u0abe\u0aa8\u0acd\u0aaf\u0ac1._\u0aab\u0ac7\u0aac\u0acd\u0ab0\u0ac1._\u0aae\u0abe\u0ab0\u0acd\u0a9a_\u0a8f\u0aaa\u0acd\u0ab0\u0abf._\u0aae\u0ac7_\u0a9c\u0ac2\u0aa8_\u0a9c\u0ac1\u0ab2\u0abe._\u0a91\u0a97._\u0ab8\u0aaa\u0acd\u0a9f\u0ac7._\u0a91\u0a95\u0acd\u0a9f\u0acd._\u0aa8\u0ab5\u0ac7._\u0aa1\u0abf\u0ab8\u0ac7.".split("_"),monthsParseExact:!0,weekdays:"\u0ab0\u0ab5\u0abf\u0ab5\u0abe\u0ab0_\u0ab8\u0acb\u0aae\u0ab5\u0abe\u0ab0_\u0aae\u0a82\u0a97\u0ab3\u0ab5\u0abe\u0ab0_\u0aac\u0ac1\u0aa7\u0acd\u0ab5\u0abe\u0ab0_\u0a97\u0ac1\u0ab0\u0ac1\u0ab5\u0abe\u0ab0_\u0ab6\u0ac1\u0a95\u0acd\u0ab0\u0ab5\u0abe\u0ab0_\u0ab6\u0aa8\u0abf\u0ab5\u0abe\u0ab0".split("_"),weekdaysShort:"\u0ab0\u0ab5\u0abf_\u0ab8\u0acb\u0aae_\u0aae\u0a82\u0a97\u0ab3_\u0aac\u0ac1\u0aa7\u0acd_\u0a97\u0ac1\u0ab0\u0ac1_\u0ab6\u0ac1\u0a95\u0acd\u0ab0_\u0ab6\u0aa8\u0abf".split("_"),weekdaysMin:"\u0ab0_\u0ab8\u0acb_\u0aae\u0a82_\u0aac\u0ac1_\u0a97\u0ac1_\u0ab6\u0ac1_\u0ab6".split("_"),longDateFormat:{LT:"A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LTS:"A h:mm:ss \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7",LLLL:"dddd, D MMMM YYYY, A h:mm \u0ab5\u0abe\u0a97\u0acd\u0aaf\u0ac7"},calendar:{sameDay:"[\u0a86\u0a9c] LT",nextDay:"[\u0a95\u0abe\u0ab2\u0ac7] LT",nextWeek:"dddd, LT",lastDay:"[\u0a97\u0a87\u0a95\u0abe\u0ab2\u0ac7] LT",lastWeek:"[\u0aaa\u0abe\u0a9b\u0ab2\u0abe] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0aae\u0abe",past:"%s \u0aaa\u0ac7\u0ab9\u0ab2\u0abe",s:"\u0a85\u0aae\u0ac1\u0a95 \u0aaa\u0ab3\u0acb",ss:"%d \u0ab8\u0ac7\u0a95\u0a82\u0aa1",m:"\u0a8f\u0a95 \u0aae\u0abf\u0aa8\u0abf\u0a9f",mm:"%d \u0aae\u0abf\u0aa8\u0abf\u0a9f",h:"\u0a8f\u0a95 \u0a95\u0ab2\u0abe\u0a95",hh:"%d \u0a95\u0ab2\u0abe\u0a95",d:"\u0a8f\u0a95 \u0aa6\u0abf\u0ab5\u0ab8",dd:"%d \u0aa6\u0abf\u0ab5\u0ab8",M:"\u0a8f\u0a95 \u0aae\u0ab9\u0abf\u0aa8\u0acb",MM:"%d \u0aae\u0ab9\u0abf\u0aa8\u0acb",y:"\u0a8f\u0a95 \u0ab5\u0ab0\u0acd\u0ab7",yy:"%d \u0ab5\u0ab0\u0acd\u0ab7"},preparse:function(e){return e.replace(/[\u0ae7\u0ae8\u0ae9\u0aea\u0aeb\u0aec\u0aed\u0aee\u0aef\u0ae6]/g,function(e){return Zs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Ks[e]})},meridiemParse:/\u0ab0\u0abe\u0aa4|\u0aac\u0aaa\u0acb\u0ab0|\u0ab8\u0ab5\u0abe\u0ab0|\u0ab8\u0abe\u0a82\u0a9c/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0ab0\u0abe\u0aa4"===a?e<4?e:e+12:"\u0ab8\u0ab5\u0abe\u0ab0"===a?e:"\u0aac\u0aaa\u0acb\u0ab0"===a?10<=e?e:e+12:"\u0ab8\u0abe\u0a82\u0a9c"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0ab0\u0abe\u0aa4":e<10?"\u0ab8\u0ab5\u0abe\u0ab0":e<17?"\u0aac\u0aaa\u0acb\u0ab0":e<20?"\u0ab8\u0abe\u0a82\u0a9c":"\u0ab0\u0abe\u0aa4"},week:{dow:0,doy:6}}),l.defineLocale("he",{months:"\u05d9\u05e0\u05d5\u05d0\u05e8_\u05e4\u05d1\u05e8\u05d5\u05d0\u05e8_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05d9\u05dc_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05d5\u05e1\u05d8_\u05e1\u05e4\u05d8\u05de\u05d1\u05e8_\u05d0\u05d5\u05e7\u05d8\u05d5\u05d1\u05e8_\u05e0\u05d5\u05d1\u05de\u05d1\u05e8_\u05d3\u05e6\u05de\u05d1\u05e8".split("_"),monthsShort:"\u05d9\u05e0\u05d5\u05f3_\u05e4\u05d1\u05e8\u05f3_\u05de\u05e8\u05e5_\u05d0\u05e4\u05e8\u05f3_\u05de\u05d0\u05d9_\u05d9\u05d5\u05e0\u05d9_\u05d9\u05d5\u05dc\u05d9_\u05d0\u05d5\u05d2\u05f3_\u05e1\u05e4\u05d8\u05f3_\u05d0\u05d5\u05e7\u05f3_\u05e0\u05d5\u05d1\u05f3_\u05d3\u05e6\u05de\u05f3".split("_"),weekdays:"\u05e8\u05d0\u05e9\u05d5\u05df_\u05e9\u05e0\u05d9_\u05e9\u05dc\u05d9\u05e9\u05d9_\u05e8\u05d1\u05d9\u05e2\u05d9_\u05d7\u05de\u05d9\u05e9\u05d9_\u05e9\u05d9\u05e9\u05d9_\u05e9\u05d1\u05ea".split("_"),weekdaysShort:"\u05d0\u05f3_\u05d1\u05f3_\u05d2\u05f3_\u05d3\u05f3_\u05d4\u05f3_\u05d5\u05f3_\u05e9\u05f3".split("_"),weekdaysMin:"\u05d0_\u05d1_\u05d2_\u05d3_\u05d4_\u05d5_\u05e9".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [\u05d1]MMMM YYYY",LLL:"D [\u05d1]MMMM YYYY HH:mm",LLLL:"dddd, D [\u05d1]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[\u05d4\u05d9\u05d5\u05dd \u05d1\u05be]LT",nextDay:"[\u05de\u05d7\u05e8 \u05d1\u05be]LT",nextWeek:"dddd [\u05d1\u05e9\u05e2\u05d4] LT",lastDay:"[\u05d0\u05ea\u05de\u05d5\u05dc \u05d1\u05be]LT",lastWeek:"[\u05d1\u05d9\u05d5\u05dd] dddd [\u05d4\u05d0\u05d7\u05e8\u05d5\u05df \u05d1\u05e9\u05e2\u05d4] LT",sameElse:"L"},relativeTime:{future:"\u05d1\u05e2\u05d5\u05d3 %s",past:"\u05dc\u05e4\u05e0\u05d9 %s",s:"\u05de\u05e1\u05e4\u05e8 \u05e9\u05e0\u05d9\u05d5\u05ea",ss:"%d \u05e9\u05e0\u05d9\u05d5\u05ea",m:"\u05d3\u05e7\u05d4",mm:"%d \u05d3\u05e7\u05d5\u05ea",h:"\u05e9\u05e2\u05d4",hh:function(e){return 2===e?"\u05e9\u05e2\u05ea\u05d9\u05d9\u05dd":e+" \u05e9\u05e2\u05d5\u05ea"},d:"\u05d9\u05d5\u05dd",dd:function(e){return 2===e?"\u05d9\u05d5\u05de\u05d9\u05d9\u05dd":e+" \u05d9\u05de\u05d9\u05dd"},M:"\u05d7\u05d5\u05d3\u05e9",MM:function(e){return 2===e?"\u05d7\u05d5\u05d3\u05e9\u05d9\u05d9\u05dd":e+" \u05d7\u05d5\u05d3\u05e9\u05d9\u05dd"},y:"\u05e9\u05e0\u05d4",yy:function(e){return 2===e?"\u05e9\u05e0\u05ea\u05d9\u05d9\u05dd":e%10==0&&10!==e?e+" \u05e9\u05e0\u05d4":e+" \u05e9\u05e0\u05d9\u05dd"}},meridiemParse:/\u05d0\u05d7\u05d4"\u05e6|\u05dc\u05e4\u05e0\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8|\u05d1\u05d1\u05d5\u05e7\u05e8|\u05d1\u05e2\u05e8\u05d1/i,isPM:function(e){return/^(\u05d0\u05d7\u05d4"\u05e6|\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd|\u05d1\u05e2\u05e8\u05d1)$/.test(e)},meridiem:function(e,a,t){return e<5?"\u05dc\u05e4\u05e0\u05d5\u05ea \u05d1\u05d5\u05e7\u05e8":e<10?"\u05d1\u05d1\u05d5\u05e7\u05e8":e<12?t?'\u05dc\u05e4\u05e0\u05d4"\u05e6':"\u05dc\u05e4\u05e0\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":e<18?t?'\u05d0\u05d7\u05d4"\u05e6':"\u05d0\u05d7\u05e8\u05d9 \u05d4\u05e6\u05d4\u05e8\u05d9\u05d9\u05dd":"\u05d1\u05e2\u05e8\u05d1"}});var $s={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Bs={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function qs(e,a,t){var s=e+" ";switch(t){case"ss":return s+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return a?"jedna minuta":"jedne minute";case"mm":return s+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return a?"jedan sat":"jednog sata";case"hh":return s+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return s+=1===e?"dan":"dana";case"MM":return s+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return s+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}l.defineLocale("hi",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u093c\u0930\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948\u0932_\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0938\u094d\u0924_\u0938\u093f\u0924\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u0942\u092c\u0930_\u0928\u0935\u092e\u094d\u092c\u0930_\u0926\u093f\u0938\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u093c\u0930._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u0948._\u092e\u0908_\u091c\u0942\u0928_\u091c\u0941\u0932._\u0905\u0917._\u0938\u093f\u0924._\u0905\u0915\u094d\u091f\u0942._\u0928\u0935._\u0926\u093f\u0938.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0932\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0932_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u092c\u091c\u0947",LTS:"A h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A h:mm \u092c\u091c\u0947"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0915\u0932] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u0932] LT",lastWeek:"[\u092a\u093f\u091b\u0932\u0947] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u092e\u0947\u0902",past:"%s \u092a\u0939\u0932\u0947",s:"\u0915\u0941\u091b \u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0902\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u091f",mm:"%d \u092e\u093f\u0928\u091f",h:"\u090f\u0915 \u0918\u0902\u091f\u093e",hh:"%d \u0918\u0902\u091f\u0947",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u0940\u0928\u0947",MM:"%d \u092e\u0939\u0940\u0928\u0947",y:"\u090f\u0915 \u0935\u0930\u094d\u0937",yy:"%d \u0935\u0930\u094d\u0937"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Bs[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return $s[e]})},meridiemParse:/\u0930\u093e\u0924|\u0938\u0941\u092c\u0939|\u0926\u094b\u092a\u0939\u0930|\u0936\u093e\u092e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924"===a?e<4?e:e+12:"\u0938\u0941\u092c\u0939"===a?e:"\u0926\u094b\u092a\u0939\u0930"===a?10<=e?e:e+12:"\u0936\u093e\u092e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924":e<10?"\u0938\u0941\u092c\u0939":e<17?"\u0926\u094b\u092a\u0939\u0930":e<20?"\u0936\u093e\u092e":"\u0930\u093e\u0924"},week:{dow:0,doy:6}}),l.defineLocale("hr",{months:{format:"sije\u010dnja_velja\u010de_o\u017eujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"sije\u010danj_velja\u010da_o\u017eujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._o\u017eu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010der u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[pro\u0161lu] dddd [u] LT";case 6:return"[pro\u0161le] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[pro\u0161li] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:qs,m:qs,mm:qs,h:qs,hh:qs,d:"dan",dd:qs,M:"mjesec",MM:qs,y:"godinu",yy:qs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var Qs="vas\xe1rnap h\xe9tf\u0151n kedden szerd\xe1n cs\xfct\xf6rt\xf6k\xf6n p\xe9nteken szombaton".split(" ");function Xs(e,a,t,s){var n=e;switch(t){case"s":return s||a?"n\xe9h\xe1ny m\xe1sodperc":"n\xe9h\xe1ny m\xe1sodperce";case"ss":return n+(s||a)?" m\xe1sodperc":" m\xe1sodperce";case"m":return"egy"+(s||a?" perc":" perce");case"mm":return n+(s||a?" perc":" perce");case"h":return"egy"+(s||a?" \xf3ra":" \xf3r\xe1ja");case"hh":return n+(s||a?" \xf3ra":" \xf3r\xe1ja");case"d":return"egy"+(s||a?" nap":" napja");case"dd":return n+(s||a?" nap":" napja");case"M":return"egy"+(s||a?" h\xf3nap":" h\xf3napja");case"MM":return n+(s||a?" h\xf3nap":" h\xf3napja");case"y":return"egy"+(s||a?" \xe9v":" \xe9ve");case"yy":return n+(s||a?" \xe9v":" \xe9ve")}return""}function en(e){return(e?"":"[m\xfalt] ")+"["+Qs[this.day()]+"] LT[-kor]"}function an(e){return e%100==11||e%10!=1}function tn(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nokkrar sek\xfandur":"nokkrum sek\xfandum";case"ss":return an(e)?n+(a||s?"sek\xfandur":"sek\xfandum"):n+"sek\xfanda";case"m":return a?"m\xedn\xfata":"m\xedn\xfatu";case"mm":return an(e)?n+(a||s?"m\xedn\xfatur":"m\xedn\xfatum"):a?n+"m\xedn\xfata":n+"m\xedn\xfatu";case"hh":return an(e)?n+(a||s?"klukkustundir":"klukkustundum"):n+"klukkustund";case"d":return a?"dagur":s?"dag":"degi";case"dd":return an(e)?a?n+"dagar":n+(s?"daga":"d\xf6gum"):a?n+"dagur":n+(s?"dag":"degi");case"M":return a?"m\xe1nu\xf0ur":s?"m\xe1nu\xf0":"m\xe1nu\xf0i";case"MM":return an(e)?a?n+"m\xe1nu\xf0ir":n+(s?"m\xe1nu\xf0i":"m\xe1nu\xf0um"):a?n+"m\xe1nu\xf0ur":n+(s?"m\xe1nu\xf0":"m\xe1nu\xf0i");case"y":return a||s?"\xe1r":"\xe1ri";case"yy":return an(e)?n+(a||s?"\xe1r":"\xe1rum"):n+(a||s?"\xe1r":"\xe1ri")}}l.defineLocale("hu",{months:"janu\xe1r_febru\xe1r_m\xe1rcius_\xe1prilis_m\xe1jus_j\xfanius_j\xfalius_augusztus_szeptember_okt\xf3ber_november_december".split("_"),monthsShort:"jan_feb_m\xe1rc_\xe1pr_m\xe1j_j\xfan_j\xfal_aug_szept_okt_nov_dec".split("_"),weekdays:"vas\xe1rnap_h\xe9tf\u0151_kedd_szerda_cs\xfct\xf6rt\xf6k_p\xe9ntek_szombat".split("_"),weekdaysShort:"vas_h\xe9t_kedd_sze_cs\xfct_p\xe9n_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,a,t){return e<12?!0===t?"de":"DE":!0===t?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return en.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return en.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s m\xfalva",past:"%s",s:Xs,ss:Xs,m:Xs,mm:Xs,h:Xs,hh:Xs,d:Xs,dd:Xs,M:Xs,MM:Xs,y:Xs,yy:Xs},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("hy-am",{months:{format:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580\u056b_\u0583\u0565\u057f\u0580\u057e\u0561\u0580\u056b_\u0574\u0561\u0580\u057f\u056b_\u0561\u057a\u0580\u056b\u056c\u056b_\u0574\u0561\u0575\u056b\u057d\u056b_\u0570\u0578\u0582\u0576\u056b\u057d\u056b_\u0570\u0578\u0582\u056c\u056b\u057d\u056b_\u0585\u0563\u0578\u057d\u057f\u0578\u057d\u056b_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580\u056b_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580\u056b".split("_"),standalone:"\u0570\u0578\u0582\u0576\u057e\u0561\u0580_\u0583\u0565\u057f\u0580\u057e\u0561\u0580_\u0574\u0561\u0580\u057f_\u0561\u057a\u0580\u056b\u056c_\u0574\u0561\u0575\u056b\u057d_\u0570\u0578\u0582\u0576\u056b\u057d_\u0570\u0578\u0582\u056c\u056b\u057d_\u0585\u0563\u0578\u057d\u057f\u0578\u057d_\u057d\u0565\u057a\u057f\u0565\u0574\u0562\u0565\u0580_\u0570\u0578\u056f\u057f\u0565\u0574\u0562\u0565\u0580_\u0576\u0578\u0575\u0565\u0574\u0562\u0565\u0580_\u0564\u0565\u056f\u057f\u0565\u0574\u0562\u0565\u0580".split("_")},monthsShort:"\u0570\u0576\u057e_\u0583\u057f\u0580_\u0574\u0580\u057f_\u0561\u057a\u0580_\u0574\u0575\u057d_\u0570\u0576\u057d_\u0570\u056c\u057d_\u0585\u0563\u057d_\u057d\u057a\u057f_\u0570\u056f\u057f_\u0576\u0574\u0562_\u0564\u056f\u057f".split("_"),weekdays:"\u056f\u056b\u0580\u0561\u056f\u056b_\u0565\u0580\u056f\u0578\u0582\u0577\u0561\u0562\u0569\u056b_\u0565\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0579\u0578\u0580\u0565\u0584\u0577\u0561\u0562\u0569\u056b_\u0570\u056b\u0576\u0563\u0577\u0561\u0562\u0569\u056b_\u0578\u0582\u0580\u0562\u0561\u0569_\u0577\u0561\u0562\u0561\u0569".split("_"),weekdaysShort:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),weekdaysMin:"\u056f\u0580\u056f_\u0565\u0580\u056f_\u0565\u0580\u0584_\u0579\u0580\u0584_\u0570\u0576\u0563_\u0578\u0582\u0580\u0562_\u0577\u0562\u0569".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0569.",LLL:"D MMMM YYYY \u0569., HH:mm",LLLL:"dddd, D MMMM YYYY \u0569., HH:mm"},calendar:{sameDay:"[\u0561\u0575\u057d\u0585\u0580] LT",nextDay:"[\u057e\u0561\u0572\u0568] LT",lastDay:"[\u0565\u0580\u0565\u056f] LT",nextWeek:function(){return"dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},lastWeek:function(){return"[\u0561\u0576\u0581\u0561\u056e] dddd [\u0585\u0580\u0568 \u056a\u0561\u0574\u0568] LT"},sameElse:"L"},relativeTime:{future:"%s \u0570\u0565\u057f\u0578",past:"%s \u0561\u057c\u0561\u057b",s:"\u0574\u056b \u0584\u0561\u0576\u056b \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",ss:"%d \u057e\u0561\u0575\u0580\u056f\u0575\u0561\u0576",m:"\u0580\u0578\u057a\u0565",mm:"%d \u0580\u0578\u057a\u0565",h:"\u056a\u0561\u0574",hh:"%d \u056a\u0561\u0574",d:"\u0585\u0580",dd:"%d \u0585\u0580",M:"\u0561\u0574\u056b\u057d",MM:"%d \u0561\u0574\u056b\u057d",y:"\u057f\u0561\u0580\u056b",yy:"%d \u057f\u0561\u0580\u056b"},meridiemParse:/\u0563\u056b\u0577\u0565\u0580\u057e\u0561|\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561|\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576/,isPM:function(e){return/^(\u0581\u0565\u0580\u0565\u056f\u057e\u0561|\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576)$/.test(e)},meridiem:function(e){return e<4?"\u0563\u056b\u0577\u0565\u0580\u057e\u0561":e<12?"\u0561\u057c\u0561\u057e\u0578\u057f\u057e\u0561":e<17?"\u0581\u0565\u0580\u0565\u056f\u057e\u0561":"\u0565\u0580\u0565\u056f\u0578\u0575\u0561\u0576"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(\u056b\u0576|\u0580\u0564)/,ordinal:function(e,a){switch(a){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-\u056b\u0576":e+"-\u0580\u0564";default:return e}},week:{dow:1,doy:7}}),l.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"siang"===a?11<=e?e:e+12:"sore"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),l.defineLocale("is",{months:"jan\xfaar_febr\xfaar_mars_apr\xedl_ma\xed_j\xfan\xed_j\xfal\xed_\xe1g\xfast_september_okt\xf3ber_n\xf3vember_desember".split("_"),monthsShort:"jan_feb_mar_apr_ma\xed_j\xfan_j\xfal_\xe1g\xfa_sep_okt_n\xf3v_des".split("_"),weekdays:"sunnudagur_m\xe1nudagur_\xferi\xf0judagur_mi\xf0vikudagur_fimmtudagur_f\xf6studagur_laugardagur".split("_"),weekdaysShort:"sun_m\xe1n_\xferi_mi\xf0_fim_f\xf6s_lau".split("_"),weekdaysMin:"Su_M\xe1_\xder_Mi_Fi_F\xf6_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[\xed dag kl.] LT",nextDay:"[\xe1 morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[\xed g\xe6r kl.] LT",lastWeek:"[s\xed\xf0asta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s s\xed\xf0an",s:tn,ss:tn,m:tn,mm:tn,h:"klukkustund",hh:tn,d:tn,dd:tn,M:tn,MM:tn,y:tn,yy:tn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("it-ch",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_luned\xec_marted\xec_mercoled\xec_gioved\xec_venerd\xec_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("ja",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u65e5\u66dc\u65e5_\u6708\u66dc\u65e5_\u706b\u66dc\u65e5_\u6c34\u66dc\u65e5_\u6728\u66dc\u65e5_\u91d1\u66dc\u65e5_\u571f\u66dc\u65e5".split("_"),weekdaysShort:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),weekdaysMin:"\u65e5_\u6708_\u706b_\u6c34_\u6728_\u91d1_\u571f".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5 dddd HH:mm",l:"YYYY/MM/DD",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5(ddd) HH:mm"},meridiemParse:/\u5348\u524d|\u5348\u5f8c/i,isPM:function(e){return"\u5348\u5f8c"===e},meridiem:function(e,a,t){return e<12?"\u5348\u524d":"\u5348\u5f8c"},calendar:{sameDay:"[\u4eca\u65e5] LT",nextDay:"[\u660e\u65e5] LT",nextWeek:function(e){return e.week()<this.week()?"[\u6765\u9031]dddd LT":"dddd LT"},lastDay:"[\u6628\u65e5] LT",lastWeek:function(e){return this.week()<e.week()?"[\u5148\u9031]dddd LT":"dddd LT"},sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}\u65e5/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";default:return e}},relativeTime:{future:"%s\u5f8c",past:"%s\u524d",s:"\u6570\u79d2",ss:"%d\u79d2",m:"1\u5206",mm:"%d\u5206",h:"1\u6642\u9593",hh:"%d\u6642\u9593",d:"1\u65e5",dd:"%d\u65e5",M:"1\u30f6\u6708",MM:"%d\u30f6\u6708",y:"1\u5e74",yy:"%d\u5e74"}}),l.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,a){return 12===e&&(e=0),"enjing"===a?e:"siyang"===a?11<=e?e:e+12:"sonten"===a||"ndalu"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}),l.defineLocale("ka",{months:{standalone:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10d8_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10d8_\u10db\u10d0\u10e0\u10e2\u10d8_\u10d0\u10de\u10e0\u10d8\u10da\u10d8_\u10db\u10d0\u10d8\u10e1\u10d8_\u10d8\u10d5\u10dc\u10d8\u10e1\u10d8_\u10d8\u10d5\u10da\u10d8\u10e1\u10d8_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10dd_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10d8_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10d8_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10d8".split("_"),format:"\u10d8\u10d0\u10dc\u10d5\u10d0\u10e0\u10e1_\u10d7\u10d4\u10d1\u10d4\u10e0\u10d5\u10d0\u10da\u10e1_\u10db\u10d0\u10e0\u10e2\u10e1_\u10d0\u10de\u10e0\u10d8\u10da\u10d8\u10e1_\u10db\u10d0\u10d8\u10e1\u10e1_\u10d8\u10d5\u10dc\u10d8\u10e1\u10e1_\u10d8\u10d5\u10da\u10d8\u10e1\u10e1_\u10d0\u10d2\u10d5\u10d8\u10e1\u10e2\u10e1_\u10e1\u10d4\u10e5\u10e2\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10dd\u10e5\u10e2\u10dd\u10db\u10d1\u10d4\u10e0\u10e1_\u10dc\u10dd\u10d4\u10db\u10d1\u10d4\u10e0\u10e1_\u10d3\u10d4\u10d9\u10d4\u10db\u10d1\u10d4\u10e0\u10e1".split("_")},monthsShort:"\u10d8\u10d0\u10dc_\u10d7\u10d4\u10d1_\u10db\u10d0\u10e0_\u10d0\u10de\u10e0_\u10db\u10d0\u10d8_\u10d8\u10d5\u10dc_\u10d8\u10d5\u10da_\u10d0\u10d2\u10d5_\u10e1\u10d4\u10e5_\u10dd\u10e5\u10e2_\u10dc\u10dd\u10d4_\u10d3\u10d4\u10d9".split("_"),weekdays:{standalone:"\u10d9\u10d5\u10d8\u10e0\u10d0_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10d8_\u10e8\u10d0\u10d1\u10d0\u10d7\u10d8".split("_"),format:"\u10d9\u10d5\u10d8\u10e0\u10d0\u10e1_\u10dd\u10e0\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10e1\u10d0\u10db\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10dd\u10d7\u10ee\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10ee\u10e3\u10d7\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1_\u10de\u10d0\u10e0\u10d0\u10e1\u10d9\u10d4\u10d5\u10e1_\u10e8\u10d0\u10d1\u10d0\u10d7\u10e1".split("_"),isFormat:/(\u10ec\u10d8\u10dc\u10d0|\u10e8\u10d4\u10db\u10d3\u10d4\u10d2)/},weekdaysShort:"\u10d9\u10d5\u10d8_\u10dd\u10e0\u10e8_\u10e1\u10d0\u10db_\u10dd\u10d7\u10ee_\u10ee\u10e3\u10d7_\u10de\u10d0\u10e0_\u10e8\u10d0\u10d1".split("_"),weekdaysMin:"\u10d9\u10d5_\u10dd\u10e0_\u10e1\u10d0_\u10dd\u10d7_\u10ee\u10e3_\u10de\u10d0_\u10e8\u10d0".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[\u10d3\u10e6\u10d4\u10e1] LT[-\u10d6\u10d4]",nextDay:"[\u10ee\u10d5\u10d0\u10da] LT[-\u10d6\u10d4]",lastDay:"[\u10d2\u10e3\u10e8\u10d8\u10dc] LT[-\u10d6\u10d4]",nextWeek:"[\u10e8\u10d4\u10db\u10d3\u10d4\u10d2] dddd LT[-\u10d6\u10d4]",lastWeek:"[\u10ec\u10d8\u10dc\u10d0] dddd LT-\u10d6\u10d4",sameElse:"L"},relativeTime:{future:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10ec\u10d4\u10da\u10d8)/.test(e)?e.replace(/\u10d8$/,"\u10e8\u10d8"):e+"\u10e8\u10d8"},past:function(e){return/(\u10ec\u10d0\u10db\u10d8|\u10ec\u10e3\u10d7\u10d8|\u10e1\u10d0\u10d0\u10d7\u10d8|\u10d3\u10e6\u10d4|\u10d7\u10d5\u10d4)/.test(e)?e.replace(/(\u10d8|\u10d4)$/,"\u10d8\u10e1 \u10ec\u10d8\u10dc"):/\u10ec\u10d4\u10da\u10d8/.test(e)?e.replace(/\u10ec\u10d4\u10da\u10d8$/,"\u10ec\u10da\u10d8\u10e1 \u10ec\u10d8\u10dc"):void 0},s:"\u10e0\u10d0\u10db\u10d3\u10d4\u10dc\u10d8\u10db\u10d4 \u10ec\u10d0\u10db\u10d8",ss:"%d \u10ec\u10d0\u10db\u10d8",m:"\u10ec\u10e3\u10d7\u10d8",mm:"%d \u10ec\u10e3\u10d7\u10d8",h:"\u10e1\u10d0\u10d0\u10d7\u10d8",hh:"%d \u10e1\u10d0\u10d0\u10d7\u10d8",d:"\u10d3\u10e6\u10d4",dd:"%d \u10d3\u10e6\u10d4",M:"\u10d7\u10d5\u10d4",MM:"%d \u10d7\u10d5\u10d4",y:"\u10ec\u10d4\u10da\u10d8",yy:"%d \u10ec\u10d4\u10da\u10d8"},dayOfMonthOrdinalParse:/0|1-\u10da\u10d8|\u10db\u10d4-\d{1,2}|\d{1,2}-\u10d4/,ordinal:function(e){return 0===e?e:1===e?e+"-\u10da\u10d8":e<20||e<=100&&e%20==0||e%100==0?"\u10db\u10d4-"+e:e+"-\u10d4"},week:{dow:1,doy:7}});var sn={0:"-\u0448\u0456",1:"-\u0448\u0456",2:"-\u0448\u0456",3:"-\u0448\u0456",4:"-\u0448\u0456",5:"-\u0448\u0456",6:"-\u0448\u044b",7:"-\u0448\u0456",8:"-\u0448\u0456",9:"-\u0448\u044b",10:"-\u0448\u044b",20:"-\u0448\u044b",30:"-\u0448\u044b",40:"-\u0448\u044b",50:"-\u0448\u0456",60:"-\u0448\u044b",70:"-\u0448\u0456",80:"-\u0448\u0456",90:"-\u0448\u044b",100:"-\u0448\u0456"};l.defineLocale("kk",{months:"\u049b\u0430\u04a3\u0442\u0430\u0440_\u0430\u049b\u043f\u0430\u043d_\u043d\u0430\u0443\u0440\u044b\u0437_\u0441\u04d9\u0443\u0456\u0440_\u043c\u0430\u043c\u044b\u0440_\u043c\u0430\u0443\u0441\u044b\u043c_\u0448\u0456\u043b\u0434\u0435_\u0442\u0430\u043c\u044b\u0437_\u049b\u044b\u0440\u043a\u04af\u0439\u0435\u043a_\u049b\u0430\u0437\u0430\u043d_\u049b\u0430\u0440\u0430\u0448\u0430_\u0436\u0435\u043b\u0442\u043e\u049b\u0441\u0430\u043d".split("_"),monthsShort:"\u049b\u0430\u04a3_\u0430\u049b\u043f_\u043d\u0430\u0443_\u0441\u04d9\u0443_\u043c\u0430\u043c_\u043c\u0430\u0443_\u0448\u0456\u043b_\u0442\u0430\u043c_\u049b\u044b\u0440_\u049b\u0430\u0437_\u049b\u0430\u0440_\u0436\u0435\u043b".split("_"),weekdays:"\u0436\u0435\u043a\u0441\u0435\u043d\u0431\u0456_\u0434\u04af\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0441\u04d9\u0440\u0441\u0435\u043d\u0431\u0456_\u0431\u0435\u0439\u0441\u0435\u043d\u0431\u0456_\u0436\u04b1\u043c\u0430_\u0441\u0435\u043d\u0431\u0456".split("_"),weekdaysShort:"\u0436\u0435\u043a_\u0434\u04af\u0439_\u0441\u0435\u0439_\u0441\u04d9\u0440_\u0431\u0435\u0439_\u0436\u04b1\u043c_\u0441\u0435\u043d".split("_"),weekdaysMin:"\u0436\u043a_\u0434\u0439_\u0441\u0439_\u0441\u0440_\u0431\u0439_\u0436\u043c_\u0441\u043d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u0456\u043d \u0441\u0430\u0493\u0430\u0442] LT",nextDay:"[\u0415\u0440\u0442\u0435\u04a3 \u0441\u0430\u0493\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0493\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0448\u0435 \u0441\u0430\u0493\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u0435\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u04a3] dddd [\u0441\u0430\u0493\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0456\u0448\u0456\u043d\u0434\u0435",past:"%s \u0431\u04b1\u0440\u044b\u043d",s:"\u0431\u0456\u0440\u043d\u0435\u0448\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0456\u0440 \u043c\u0438\u043d\u0443\u0442",mm:"%d \u043c\u0438\u043d\u0443\u0442",h:"\u0431\u0456\u0440 \u0441\u0430\u0493\u0430\u0442",hh:"%d \u0441\u0430\u0493\u0430\u0442",d:"\u0431\u0456\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0456\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0456\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0448\u0456|\u0448\u044b)/,ordinal:function(e){return e+(sn[e]||sn[e%10]||sn[100<=e?100:null])},week:{dow:1,doy:7}});var nn={1:"\u17e1",2:"\u17e2",3:"\u17e3",4:"\u17e4",5:"\u17e5",6:"\u17e6",7:"\u17e7",8:"\u17e8",9:"\u17e9",0:"\u17e0"},dn={"\u17e1":"1","\u17e2":"2","\u17e3":"3","\u17e4":"4","\u17e5":"5","\u17e6":"6","\u17e7":"7","\u17e8":"8","\u17e9":"9","\u17e0":"0"};l.defineLocale("km",{months:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),monthsShort:"\u1798\u1780\u179a\u17b6_\u1780\u17bb\u1798\u17d2\u1797\u17c8_\u1798\u17b8\u1793\u17b6_\u1798\u17c1\u179f\u17b6_\u17a7\u179f\u1797\u17b6_\u1798\u17b7\u1790\u17bb\u1793\u17b6_\u1780\u1780\u17d2\u1780\u178a\u17b6_\u179f\u17b8\u17a0\u17b6_\u1780\u1789\u17d2\u1789\u17b6_\u178f\u17bb\u179b\u17b6_\u179c\u17b7\u1785\u17d2\u1786\u17b7\u1780\u17b6_\u1792\u17d2\u1793\u17bc".split("_"),weekdays:"\u17a2\u17b6\u1791\u17b7\u178f\u17d2\u1799_\u1785\u17d0\u1793\u17d2\u1791_\u17a2\u1784\u17d2\u1782\u17b6\u179a_\u1796\u17bb\u1792_\u1796\u17d2\u179a\u17a0\u179f\u17d2\u1794\u178f\u17b7\u17cd_\u179f\u17bb\u1780\u17d2\u179a_\u179f\u17c5\u179a\u17cd".split("_"),weekdaysShort:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysMin:"\u17a2\u17b6_\u1785_\u17a2_\u1796_\u1796\u17d2\u179a_\u179f\u17bb_\u179f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u1796\u17d2\u179a\u17b9\u1780|\u179b\u17d2\u1784\u17b6\u1785/,isPM:function(e){return"\u179b\u17d2\u1784\u17b6\u1785"===e},meridiem:function(e,a,t){return e<12?"\u1796\u17d2\u179a\u17b9\u1780":"\u179b\u17d2\u1784\u17b6\u1785"},calendar:{sameDay:"[\u1790\u17d2\u1784\u17c3\u1793\u17c1\u17c7 \u1798\u17c9\u17c4\u1784] LT",nextDay:"[\u179f\u17d2\u17a2\u17c2\u1780 \u1798\u17c9\u17c4\u1784] LT",nextWeek:"dddd [\u1798\u17c9\u17c4\u1784] LT",lastDay:"[\u1798\u17d2\u179f\u17b7\u179b\u1798\u17b7\u1789 \u1798\u17c9\u17c4\u1784] LT",lastWeek:"dddd [\u179f\u1794\u17d2\u178f\u17b6\u17a0\u17cd\u1798\u17bb\u1793] [\u1798\u17c9\u17c4\u1784] LT",sameElse:"L"},relativeTime:{future:"%s\u1791\u17c0\u178f",past:"%s\u1798\u17bb\u1793",s:"\u1794\u17c9\u17bb\u1793\u17d2\u1798\u17b6\u1793\u179c\u17b7\u1793\u17b6\u1791\u17b8",ss:"%d \u179c\u17b7\u1793\u17b6\u1791\u17b8",m:"\u1798\u17bd\u1799\u1793\u17b6\u1791\u17b8",mm:"%d \u1793\u17b6\u1791\u17b8",h:"\u1798\u17bd\u1799\u1798\u17c9\u17c4\u1784",hh:"%d \u1798\u17c9\u17c4\u1784",d:"\u1798\u17bd\u1799\u1790\u17d2\u1784\u17c3",dd:"%d \u1790\u17d2\u1784\u17c3",M:"\u1798\u17bd\u1799\u1781\u17c2",MM:"%d \u1781\u17c2",y:"\u1798\u17bd\u1799\u1786\u17d2\u1793\u17b6\u17c6",yy:"%d \u1786\u17d2\u1793\u17b6\u17c6"},dayOfMonthOrdinalParse:/\u1791\u17b8\d{1,2}/,ordinal:"\u1791\u17b8%d",preparse:function(e){return e.replace(/[\u17e1\u17e2\u17e3\u17e4\u17e5\u17e6\u17e7\u17e8\u17e9\u17e0]/g,function(e){return dn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return nn[e]})},week:{dow:1,doy:4}});var rn={1:"\u0ce7",2:"\u0ce8",3:"\u0ce9",4:"\u0cea",5:"\u0ceb",6:"\u0cec",7:"\u0ced",8:"\u0cee",9:"\u0cef",0:"\u0ce6"},_n={"\u0ce7":"1","\u0ce8":"2","\u0ce9":"3","\u0cea":"4","\u0ceb":"5","\u0cec":"6","\u0ced":"7","\u0cee":"8","\u0cef":"9","\u0ce6":"0"};l.defineLocale("kn",{months:"\u0c9c\u0ca8\u0cb5\u0cb0\u0cbf_\u0cab\u0cc6\u0cac\u0ccd\u0cb0\u0cb5\u0cb0\u0cbf_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5\u0cac\u0cb0\u0ccd_\u0ca8\u0cb5\u0cc6\u0c82\u0cac\u0cb0\u0ccd_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82\u0cac\u0cb0\u0ccd".split("_"),monthsShort:"\u0c9c\u0ca8_\u0cab\u0cc6\u0cac\u0ccd\u0cb0_\u0cae\u0cbe\u0cb0\u0ccd\u0c9a\u0ccd_\u0c8f\u0caa\u0ccd\u0cb0\u0cbf\u0cb2\u0ccd_\u0cae\u0cc6\u0cd5_\u0c9c\u0cc2\u0ca8\u0ccd_\u0c9c\u0cc1\u0cb2\u0cc6\u0cd6_\u0c86\u0c97\u0cb8\u0ccd\u0c9f\u0ccd_\u0cb8\u0cc6\u0caa\u0ccd\u0c9f\u0cc6\u0c82_\u0c85\u0c95\u0ccd\u0c9f\u0cc6\u0cc2\u0cd5_\u0ca8\u0cb5\u0cc6\u0c82_\u0ca1\u0cbf\u0cb8\u0cc6\u0c82".split("_"),monthsParseExact:!0,weekdays:"\u0cad\u0cbe\u0ca8\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae\u0cb5\u0cbe\u0cb0_\u0cae\u0c82\u0c97\u0cb3\u0cb5\u0cbe\u0cb0_\u0cac\u0cc1\u0ca7\u0cb5\u0cbe\u0cb0_\u0c97\u0cc1\u0cb0\u0cc1\u0cb5\u0cbe\u0cb0_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0\u0cb5\u0cbe\u0cb0_\u0cb6\u0ca8\u0cbf\u0cb5\u0cbe\u0cb0".split("_"),weekdaysShort:"\u0cad\u0cbe\u0ca8\u0cc1_\u0cb8\u0cc6\u0cc2\u0cd5\u0cae_\u0cae\u0c82\u0c97\u0cb3_\u0cac\u0cc1\u0ca7_\u0c97\u0cc1\u0cb0\u0cc1_\u0cb6\u0cc1\u0c95\u0ccd\u0cb0_\u0cb6\u0ca8\u0cbf".split("_"),weekdaysMin:"\u0cad\u0cbe_\u0cb8\u0cc6\u0cc2\u0cd5_\u0cae\u0c82_\u0cac\u0cc1_\u0c97\u0cc1_\u0cb6\u0cc1_\u0cb6".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c87\u0c82\u0ca6\u0cc1] LT",nextDay:"[\u0ca8\u0cbe\u0cb3\u0cc6] LT",nextWeek:"dddd, LT",lastDay:"[\u0ca8\u0cbf\u0ca8\u0ccd\u0ca8\u0cc6] LT",lastWeek:"[\u0c95\u0cc6\u0cc2\u0ca8\u0cc6\u0caf] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0ca8\u0c82\u0ca4\u0cb0",past:"%s \u0cb9\u0cbf\u0c82\u0ca6\u0cc6",s:"\u0c95\u0cc6\u0cb2\u0cb5\u0cc1 \u0c95\u0ccd\u0cb7\u0ca3\u0c97\u0cb3\u0cc1",ss:"%d \u0cb8\u0cc6\u0c95\u0cc6\u0c82\u0ca1\u0cc1\u0c97\u0cb3\u0cc1",m:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",mm:"%d \u0ca8\u0cbf\u0cae\u0cbf\u0cb7",h:"\u0c92\u0c82\u0ca6\u0cc1 \u0c97\u0c82\u0c9f\u0cc6",hh:"%d \u0c97\u0c82\u0c9f\u0cc6",d:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca6\u0cbf\u0ca8",dd:"%d \u0ca6\u0cbf\u0ca8",M:"\u0c92\u0c82\u0ca6\u0cc1 \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",MM:"%d \u0ca4\u0cbf\u0c82\u0c97\u0cb3\u0cc1",y:"\u0c92\u0c82\u0ca6\u0cc1 \u0cb5\u0cb0\u0ccd\u0cb7",yy:"%d \u0cb5\u0cb0\u0ccd\u0cb7"},preparse:function(e){return e.replace(/[\u0ce7\u0ce8\u0ce9\u0cea\u0ceb\u0cec\u0ced\u0cee\u0cef\u0ce6]/g,function(e){return _n[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return rn[e]})},meridiemParse:/\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf|\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6|\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8|\u0cb8\u0c82\u0c9c\u0cc6/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"===a?e<4?e:e+12:"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6"===a?e:"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8"===a?10<=e?e:e+12:"\u0cb8\u0c82\u0c9c\u0cc6"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf":e<10?"\u0cac\u0cc6\u0cb3\u0cbf\u0c97\u0ccd\u0c97\u0cc6":e<17?"\u0cae\u0ca7\u0ccd\u0caf\u0cbe\u0cb9\u0ccd\u0ca8":e<20?"\u0cb8\u0c82\u0c9c\u0cc6":"\u0cb0\u0cbe\u0ca4\u0ccd\u0cb0\u0cbf"},dayOfMonthOrdinalParse:/\d{1,2}(\u0ca8\u0cc6\u0cd5)/,ordinal:function(e){return e+"\u0ca8\u0cc6\u0cd5"},week:{dow:0,doy:6}}),l.defineLocale("ko",{months:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),monthsShort:"1\uc6d4_2\uc6d4_3\uc6d4_4\uc6d4_5\uc6d4_6\uc6d4_7\uc6d4_8\uc6d4_9\uc6d4_10\uc6d4_11\uc6d4_12\uc6d4".split("_"),weekdays:"\uc77c\uc694\uc77c_\uc6d4\uc694\uc77c_\ud654\uc694\uc77c_\uc218\uc694\uc77c_\ubaa9\uc694\uc77c_\uae08\uc694\uc77c_\ud1a0\uc694\uc77c".split("_"),weekdaysShort:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),weekdaysMin:"\uc77c_\uc6d4_\ud654_\uc218_\ubaa9_\uae08_\ud1a0".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY\ub144 MMMM D\uc77c",LLL:"YYYY\ub144 MMMM D\uc77c A h:mm",LLLL:"YYYY\ub144 MMMM D\uc77c dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY\ub144 MMMM D\uc77c",lll:"YYYY\ub144 MMMM D\uc77c A h:mm",llll:"YYYY\ub144 MMMM D\uc77c dddd A h:mm"},calendar:{sameDay:"\uc624\ub298 LT",nextDay:"\ub0b4\uc77c LT",nextWeek:"dddd LT",lastDay:"\uc5b4\uc81c LT",lastWeek:"\uc9c0\ub09c\uc8fc dddd LT",sameElse:"L"},relativeTime:{future:"%s \ud6c4",past:"%s \uc804",s:"\uba87 \ucd08",ss:"%d\ucd08",m:"1\ubd84",mm:"%d\ubd84",h:"\ud55c \uc2dc\uac04",hh:"%d\uc2dc\uac04",d:"\ud558\ub8e8",dd:"%d\uc77c",M:"\ud55c \ub2ec",MM:"%d\ub2ec",y:"\uc77c \ub144",yy:"%d\ub144"},dayOfMonthOrdinalParse:/\d{1,2}(\uc77c|\uc6d4|\uc8fc)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\uc77c";case"M":return e+"\uc6d4";case"w":case"W":return e+"\uc8fc";default:return e}},meridiemParse:/\uc624\uc804|\uc624\ud6c4/,isPM:function(e){return"\uc624\ud6c4"===e},meridiem:function(e,a,t){return e<12?"\uc624\uc804":"\uc624\ud6c4"}});var on={1:"\u0661",2:"\u0662",3:"\u0663",4:"\u0664",5:"\u0665",6:"\u0666",7:"\u0667",8:"\u0668",9:"\u0669",0:"\u0660"},mn={"\u0661":"1","\u0662":"2","\u0663":"3","\u0664":"4","\u0665":"5","\u0666":"6","\u0667":"7","\u0668":"8","\u0669":"9","\u0660":"0"},un=["\u06a9\u0627\u0646\u0648\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0634\u0648\u0628\u0627\u062a","\u0626\u0627\u0632\u0627\u0631","\u0646\u06cc\u0633\u0627\u0646","\u0626\u0627\u06cc\u0627\u0631","\u062d\u0648\u0632\u06d5\u06cc\u0631\u0627\u0646","\u062a\u06d5\u0645\u0645\u0648\u0632","\u0626\u0627\u0628","\u0626\u06d5\u06cc\u0644\u0648\u0648\u0644","\u062a\u0634\u0631\u06cc\u0646\u06cc \u06cc\u06d5\u0643\u06d5\u0645","\u062a\u0634\u0631\u06cc\u0646\u06cc \u062f\u0648\u0648\u06d5\u0645","\u0643\u0627\u0646\u0648\u0646\u06cc \u06cc\u06d5\u06a9\u06d5\u0645"];l.defineLocale("ku",{months:un,monthsShort:un,weekdays:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u062f\u0648\u0648\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0633\u06ce\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645\u0645\u0647\u200c_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysShort:"\u06cc\u0647\u200c\u0643\u0634\u0647\u200c\u0645_\u062f\u0648\u0648\u0634\u0647\u200c\u0645_\u0633\u06ce\u0634\u0647\u200c\u0645_\u0686\u0648\u0627\u0631\u0634\u0647\u200c\u0645_\u067e\u06ce\u0646\u062c\u0634\u0647\u200c\u0645_\u0647\u0647\u200c\u06cc\u0646\u06cc_\u0634\u0647\u200c\u0645\u0645\u0647\u200c".split("_"),weekdaysMin:"\u06cc_\u062f_\u0633_\u0686_\u067e_\u0647_\u0634".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c|\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc/,isPM:function(e){return/\u0626\u06ce\u0648\u0627\u0631\u0647\u200c/.test(e)},meridiem:function(e,a,t){return e<12?"\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc":"\u0626\u06ce\u0648\u0627\u0631\u0647\u200c"},calendar:{sameDay:"[\u0626\u0647\u200c\u0645\u0631\u06c6 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextDay:"[\u0628\u0647\u200c\u06cc\u0627\u0646\u06cc \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",nextWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastDay:"[\u062f\u0648\u06ce\u0646\u06ce \u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",lastWeek:"dddd [\u0643\u0627\u062a\u0698\u0645\u06ce\u0631] LT",sameElse:"L"},relativeTime:{future:"\u0644\u0647\u200c %s",past:"%s",s:"\u0686\u0647\u200c\u0646\u062f \u0686\u0631\u0643\u0647\u200c\u06cc\u0647\u200c\u0643",ss:"\u0686\u0631\u0643\u0647\u200c %d",m:"\u06cc\u0647\u200c\u0643 \u062e\u0648\u0644\u0647\u200c\u0643",mm:"%d \u062e\u0648\u0644\u0647\u200c\u0643",h:"\u06cc\u0647\u200c\u0643 \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",hh:"%d \u0643\u0627\u062a\u0698\u0645\u06ce\u0631",d:"\u06cc\u0647\u200c\u0643 \u0695\u06c6\u0698",dd:"%d \u0695\u06c6\u0698",M:"\u06cc\u0647\u200c\u0643 \u0645\u0627\u0646\u06af",MM:"%d \u0645\u0627\u0646\u06af",y:"\u06cc\u0647\u200c\u0643 \u0633\u0627\u06b5",yy:"%d \u0633\u0627\u06b5"},preparse:function(e){return e.replace(/[\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\u0660]/g,function(e){return mn[e]}).replace(/\u060c/g,",")},postformat:function(e){return e.replace(/\d/g,function(e){return on[e]}).replace(/,/g,"\u060c")},week:{dow:6,doy:12}});var ln={0:"-\u0447\u04af",1:"-\u0447\u0438",2:"-\u0447\u0438",3:"-\u0447\u04af",4:"-\u0447\u04af",5:"-\u0447\u0438",6:"-\u0447\u044b",7:"-\u0447\u0438",8:"-\u0447\u0438",9:"-\u0447\u0443",10:"-\u0447\u0443",20:"-\u0447\u044b",30:"-\u0447\u0443",40:"-\u0447\u044b",50:"-\u0447\u04af",60:"-\u0447\u044b",70:"-\u0447\u0438",80:"-\u0447\u0438",90:"-\u0447\u0443",100:"-\u0447\u04af"};function Mn(e,a,t,s){var n={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return a?n[t][0]:n[t][1]}function hn(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var a=e%10;return hn(0===a?e/10:a)}if(e<1e4){for(;10<=e;)e/=10;return hn(e)}return hn(e/=1e3)}l.defineLocale("ky",{months:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u0416\u0435\u043a\u0448\u0435\u043c\u0431\u0438_\u0414\u04af\u0439\u0448\u04e9\u043c\u0431\u04af_\u0428\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0428\u0430\u0440\u0448\u0435\u043c\u0431\u0438_\u0411\u0435\u0439\u0448\u0435\u043c\u0431\u0438_\u0416\u0443\u043c\u0430_\u0418\u0448\u0435\u043c\u0431\u0438".split("_"),weekdaysShort:"\u0416\u0435\u043a_\u0414\u04af\u0439_\u0428\u0435\u0439_\u0428\u0430\u0440_\u0411\u0435\u0439_\u0416\u0443\u043c_\u0418\u0448\u0435".split("_"),weekdaysMin:"\u0416\u043a_\u0414\u0439_\u0428\u0439_\u0428\u0440_\u0411\u0439_\u0416\u043c_\u0418\u0448".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0411\u04af\u0433\u04af\u043d \u0441\u0430\u0430\u0442] LT",nextDay:"[\u042d\u0440\u0442\u0435\u04a3 \u0441\u0430\u0430\u0442] LT",nextWeek:"dddd [\u0441\u0430\u0430\u0442] LT",lastDay:"[\u041a\u0435\u0447\u044d\u044d \u0441\u0430\u0430\u0442] LT",lastWeek:"[\u04e8\u0442\u043a\u04e9\u043d \u0430\u043f\u0442\u0430\u043d\u044b\u043d] dddd [\u043a\u04af\u043d\u04af] [\u0441\u0430\u0430\u0442] LT",sameElse:"L"},relativeTime:{future:"%s \u0438\u0447\u0438\u043d\u0434\u0435",past:"%s \u043c\u0443\u0440\u0443\u043d",s:"\u0431\u0438\u0440\u043d\u0435\u0447\u0435 \u0441\u0435\u043a\u0443\u043d\u0434",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434",m:"\u0431\u0438\u0440 \u043c\u04af\u043d\u04e9\u0442",mm:"%d \u043c\u04af\u043d\u04e9\u0442",h:"\u0431\u0438\u0440 \u0441\u0430\u0430\u0442",hh:"%d \u0441\u0430\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u04af\u043d",dd:"%d \u043a\u04af\u043d",M:"\u0431\u0438\u0440 \u0430\u0439",MM:"%d \u0430\u0439",y:"\u0431\u0438\u0440 \u0436\u044b\u043b",yy:"%d \u0436\u044b\u043b"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0447\u0438|\u0447\u044b|\u0447\u04af|\u0447\u0443)/,ordinal:function(e){return e+(ln[e]||ln[e%10]||ln[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale("lb",{months:"Januar_Februar_M\xe4erz_Abr\xebll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_M\xe9indeg_D\xebnschdeg_M\xebttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._M\xe9._D\xeb._M\xeb._Do._Fr._Sa.".split("_"),weekdaysMin:"So_M\xe9_D\xeb_M\xeb_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[G\xebschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return hn(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return hn(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:Mn,mm:"%d Minutten",h:Mn,hh:"%d Stonnen",d:Mn,dd:"%d Deeg",M:Mn,MM:"%d M\xe9int",y:Mn,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("lo",{months:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),monthsShort:"\u0ea1\u0eb1\u0e87\u0e81\u0ead\u0e99_\u0e81\u0eb8\u0ea1\u0e9e\u0eb2_\u0ea1\u0eb5\u0e99\u0eb2_\u0ec0\u0ea1\u0eaa\u0eb2_\u0e9e\u0eb6\u0e94\u0eaa\u0eb0\u0e9e\u0eb2_\u0ea1\u0eb4\u0e96\u0eb8\u0e99\u0eb2_\u0e81\u0ecd\u0ea5\u0eb0\u0e81\u0ebb\u0e94_\u0eaa\u0eb4\u0e87\u0eab\u0eb2_\u0e81\u0eb1\u0e99\u0e8d\u0eb2_\u0e95\u0eb8\u0ea5\u0eb2_\u0e9e\u0eb0\u0e88\u0eb4\u0e81_\u0e97\u0eb1\u0e99\u0ea7\u0eb2".split("_"),weekdays:"\u0ead\u0eb2\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysShort:"\u0e97\u0eb4\u0e94_\u0e88\u0eb1\u0e99_\u0ead\u0eb1\u0e87\u0e84\u0eb2\u0e99_\u0e9e\u0eb8\u0e94_\u0e9e\u0eb0\u0eab\u0eb1\u0e94_\u0eaa\u0eb8\u0e81_\u0ec0\u0eaa\u0ebb\u0eb2".split("_"),weekdaysMin:"\u0e97_\u0e88_\u0ead\u0e84_\u0e9e_\u0e9e\u0eab_\u0eaa\u0e81_\u0eaa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"\u0ea7\u0eb1\u0e99dddd D MMMM YYYY HH:mm"},meridiemParse:/\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2|\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87/,isPM:function(e){return"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"===e},meridiem:function(e,a,t){return e<12?"\u0e95\u0ead\u0e99\u0ec0\u0e8a\u0ebb\u0ec9\u0eb2":"\u0e95\u0ead\u0e99\u0ec1\u0ea5\u0e87"},calendar:{sameDay:"[\u0ea1\u0eb7\u0ec9\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextDay:"[\u0ea1\u0eb7\u0ec9\u0ead\u0eb7\u0ec8\u0e99\u0ec0\u0ea7\u0ea5\u0eb2] LT",nextWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0edc\u0ec9\u0eb2\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastDay:"[\u0ea1\u0eb7\u0ec9\u0ea7\u0eb2\u0e99\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",lastWeek:"[\u0ea7\u0eb1\u0e99]dddd[\u0ec1\u0ea5\u0ec9\u0ea7\u0e99\u0eb5\u0ec9\u0ec0\u0ea7\u0ea5\u0eb2] LT",sameElse:"L"},relativeTime:{future:"\u0ead\u0eb5\u0e81 %s",past:"%s\u0e9c\u0ec8\u0eb2\u0e99\u0ea1\u0eb2",s:"\u0e9a\u0ecd\u0ec8\u0ec0\u0e97\u0ebb\u0ec8\u0eb2\u0ec3\u0e94\u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",ss:"%d \u0ea7\u0eb4\u0e99\u0eb2\u0e97\u0eb5",m:"1 \u0e99\u0eb2\u0e97\u0eb5",mm:"%d \u0e99\u0eb2\u0e97\u0eb5",h:"1 \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",hh:"%d \u0e8a\u0ebb\u0ec8\u0ea7\u0ec2\u0ea1\u0e87",d:"1 \u0ea1\u0eb7\u0ec9",dd:"%d \u0ea1\u0eb7\u0ec9",M:"1 \u0ec0\u0e94\u0eb7\u0ead\u0e99",MM:"%d \u0ec0\u0e94\u0eb7\u0ead\u0e99",y:"1 \u0e9b\u0eb5",yy:"%d \u0e9b\u0eb5"},dayOfMonthOrdinalParse:/(\u0e97\u0eb5\u0ec8)\d{1,2}/,ordinal:function(e){return"\u0e97\u0eb5\u0ec8"+e}});var Ln={ss:"sekund\u0117_sekund\u017ei\u0173_sekundes",m:"minut\u0117_minut\u0117s_minut\u0119",mm:"minut\u0117s_minu\u010di\u0173_minutes",h:"valanda_valandos_valand\u0105",hh:"valandos_valand\u0173_valandas",d:"diena_dienos_dien\u0105",dd:"dienos_dien\u0173_dienas",M:"m\u0117nuo_m\u0117nesio_m\u0117nes\u012f",MM:"m\u0117nesiai_m\u0117nesi\u0173_m\u0117nesius",y:"metai_met\u0173_metus",yy:"metai_met\u0173_metus"};function cn(e,a,t,s){return a?yn(t)[0]:s?yn(t)[1]:yn(t)[2]}function Yn(e){return e%10==0||10<e&&e<20}function yn(e){return Ln[e].split("_")}function fn(e,a,t,s){var n=e+" ";return 1===e?n+cn(0,a,t[0],s):a?n+(Yn(e)?yn(t)[1]:yn(t)[0]):s?n+yn(t)[1]:n+(Yn(e)?yn(t)[1]:yn(t)[2])}l.defineLocale("lt",{months:{format:"sausio_vasario_kovo_baland\u017eio_gegu\u017e\u0117s_bir\u017eelio_liepos_rugpj\u016b\u010dio_rugs\u0117jo_spalio_lapkri\u010dio_gruod\u017eio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegu\u017e\u0117_bir\u017eelis_liepa_rugpj\u016btis_rugs\u0117jis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadien\u012f_pirmadien\u012f_antradien\u012f_tre\u010diadien\u012f_ketvirtadien\u012f_penktadien\u012f_\u0161e\u0161tadien\u012f".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_tre\u010diadienis_ketvirtadienis_penktadienis_\u0161e\u0161tadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_\u0160e\u0161".split("_"),weekdaysMin:"S_P_A_T_K_Pn_\u0160".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[\u0160iandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Pra\u0117jus\u012f] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prie\u0161 %s",s:function(e,a,t,s){return a?"kelios sekund\u0117s":s?"keli\u0173 sekund\u017ei\u0173":"kelias sekundes"},ss:fn,m:cn,mm:fn,h:cn,hh:fn,d:cn,dd:fn,M:cn,MM:fn,y:cn,yy:fn},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}});var kn={ss:"sekundes_sekund\u0113m_sekunde_sekundes".split("_"),m:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),mm:"min\u016btes_min\u016bt\u0113m_min\u016bte_min\u016btes".split("_"),h:"stundas_stund\u0101m_stunda_stundas".split("_"),hh:"stundas_stund\u0101m_stunda_stundas".split("_"),d:"dienas_dien\u0101m_diena_dienas".split("_"),dd:"dienas_dien\u0101m_diena_dienas".split("_"),M:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),MM:"m\u0113ne\u0161a_m\u0113ne\u0161iem_m\u0113nesis_m\u0113ne\u0161i".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function pn(e,a,t){return t?a%10==1&&a%100!=11?e[2]:e[3]:a%10==1&&a%100!=11?e[0]:e[1]}function Dn(e,a,t){return e+" "+pn(kn[t],e,a)}function Tn(e,a,t){return pn(kn[t],e,a)}l.defineLocale("lv",{months:"janv\u0101ris_febru\u0101ris_marts_apr\u012blis_maijs_j\u016bnijs_j\u016blijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_j\u016bn_j\u016bl_aug_sep_okt_nov_dec".split("_"),weekdays:"sv\u0113tdiena_pirmdiena_otrdiena_tre\u0161diena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[\u0160odien pulksten] LT",nextDay:"[R\u012bt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pag\u0101ju\u0161\u0101] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"p\u0113c %s",past:"pirms %s",s:function(e,a){return a?"da\u017eas sekundes":"da\u017e\u0101m sekund\u0113m"},ss:Dn,m:Tn,mm:Dn,h:Tn,hh:Dn,d:Tn,dd:Dn,M:Tn,MM:Dn,y:Tn,yy:Dn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var gn={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=gn.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+gn.correctGrammaticalCase(e,s)}};function wn(e,a,t,s){switch(t){case"s":return a?"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434":"\u0445\u044d\u0434\u0445\u044d\u043d \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d";case"ss":return e+(a?" \u0441\u0435\u043a\u0443\u043d\u0434":" \u0441\u0435\u043a\u0443\u043d\u0434\u044b\u043d");case"m":case"mm":return e+(a?" \u043c\u0438\u043d\u0443\u0442":" \u043c\u0438\u043d\u0443\u0442\u044b\u043d");case"h":case"hh":return e+(a?" \u0446\u0430\u0433":" \u0446\u0430\u0433\u0438\u0439\u043d");case"d":case"dd":return e+(a?" \u04e9\u0434\u04e9\u0440":" \u04e9\u0434\u0440\u0438\u0439\u043d");case"M":case"MM":return e+(a?" \u0441\u0430\u0440":" \u0441\u0430\u0440\u044b\u043d");case"y":case"yy":return e+(a?" \u0436\u0438\u043b":" \u0436\u0438\u043b\u0438\u0439\u043d");default:return e}}l.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedjelje] [u] LT","[pro\u0161log] [ponedjeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srijede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:gn.translate,m:gn.translate,mm:gn.translate,h:gn.translate,hh:gn.translate,d:"dan",dd:gn.translate,M:"mjesec",MM:gn.translate,y:"godinu",yy:gn.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("mi",{months:"Kohi-t\u0101te_Hui-tanguru_Pout\u016b-te-rangi_Paenga-wh\u0101wh\u0101_Haratua_Pipiri_H\u014dngoingoi_Here-turi-k\u014dk\u0101_Mahuru_Whiringa-\u0101-nuku_Whiringa-\u0101-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_H\u014dngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"R\u0101tapu_Mane_T\u016brei_Wenerei_T\u0101ite_Paraire_H\u0101tarei".split("_"),weekdaysShort:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),weekdaysMin:"Ta_Ma_T\u016b_We_T\u0101i_Pa_H\u0101".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te h\u0113kona ruarua",ss:"%d h\u0113kona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("mk",{months:"\u0458\u0430\u043d\u0443\u0430\u0440\u0438_\u0444\u0435\u0432\u0440\u0443\u0430\u0440\u0438_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d\u0438_\u0458\u0443\u043b\u0438_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0432\u0440\u0438_\u043e\u043a\u0442\u043e\u043c\u0432\u0440\u0438_\u043d\u043e\u0435\u043c\u0432\u0440\u0438_\u0434\u0435\u043a\u0435\u043c\u0432\u0440\u0438".split("_"),monthsShort:"\u0458\u0430\u043d_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433_\u0441\u0435\u043f_\u043e\u043a\u0442_\u043d\u043e\u0435_\u0434\u0435\u043a".split("_"),weekdays:"\u043d\u0435\u0434\u0435\u043b\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u043e\u043a_\u043f\u0435\u0442\u043e\u043a_\u0441\u0430\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434_\u043f\u043e\u043d_\u0432\u0442\u043e_\u0441\u0440\u0435_\u0447\u0435\u0442_\u043f\u0435\u0442_\u0441\u0430\u0431".split("_"),weekdaysMin:"\u043de_\u043fo_\u0432\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441a".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[\u0414\u0435\u043d\u0435\u0441 \u0432\u043e] LT",nextDay:"[\u0423\u0442\u0440\u0435 \u0432\u043e] LT",nextWeek:"[\u0412\u043e] dddd [\u0432\u043e] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430 \u0432\u043e] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0430\u0442\u0430] dddd [\u0432\u043e] LT";case 1:case 2:case 4:case 5:return"[\u0418\u0437\u043c\u0438\u043d\u0430\u0442\u0438\u043e\u0442] dddd [\u0432\u043e] LT"}},sameElse:"L"},relativeTime:{future:"\u043f\u043e\u0441\u043b\u0435 %s",past:"\u043f\u0440\u0435\u0434 %s",s:"\u043d\u0435\u043a\u043e\u043b\u043a\u0443 \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:"%d \u0441\u0435\u043a\u0443\u043d\u0434\u0438",m:"\u043c\u0438\u043d\u0443\u0442\u0430",mm:"%d \u043c\u0438\u043d\u0443\u0442\u0438",h:"\u0447\u0430\u0441",hh:"%d \u0447\u0430\u0441\u0430",d:"\u0434\u0435\u043d",dd:"%d \u0434\u0435\u043d\u0430",M:"\u043c\u0435\u0441\u0435\u0446",MM:"%d \u043c\u0435\u0441\u0435\u0446\u0438",y:"\u0433\u043e\u0434\u0438\u043d\u0430",yy:"%d \u0433\u043e\u0434\u0438\u043d\u0438"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0435\u0432|\u0435\u043d|\u0442\u0438|\u0432\u0438|\u0440\u0438|\u043c\u0438)/,ordinal:function(e){var a=e%10,t=e%100;return 0===e?e+"-\u0435\u0432":0===t?e+"-\u0435\u043d":10<t&&t<20?e+"-\u0442\u0438":1===a?e+"-\u0432\u0438":2===a?e+"-\u0440\u0438":7===a||8===a?e+"-\u043c\u0438":e+"-\u0442\u0438"},week:{dow:1,doy:7}}),l.defineLocale("ml",{months:"\u0d1c\u0d28\u0d41\u0d35\u0d30\u0d3f_\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41\u0d35\u0d30\u0d3f_\u0d2e\u0d3e\u0d7c\u0d1a\u0d4d\u0d1a\u0d4d_\u0d0f\u0d2a\u0d4d\u0d30\u0d3f\u0d7d_\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48_\u0d13\u0d17\u0d38\u0d4d\u0d31\u0d4d\u0d31\u0d4d_\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31\u0d02\u0d2c\u0d7c_\u0d12\u0d15\u0d4d\u0d1f\u0d4b\u0d2c\u0d7c_\u0d28\u0d35\u0d02\u0d2c\u0d7c_\u0d21\u0d3f\u0d38\u0d02\u0d2c\u0d7c".split("_"),monthsShort:"\u0d1c\u0d28\u0d41._\u0d2b\u0d46\u0d2c\u0d4d\u0d30\u0d41._\u0d2e\u0d3e\u0d7c._\u0d0f\u0d2a\u0d4d\u0d30\u0d3f._\u0d2e\u0d47\u0d2f\u0d4d_\u0d1c\u0d42\u0d7a_\u0d1c\u0d42\u0d32\u0d48._\u0d13\u0d17._\u0d38\u0d46\u0d2a\u0d4d\u0d31\u0d4d\u0d31._\u0d12\u0d15\u0d4d\u0d1f\u0d4b._\u0d28\u0d35\u0d02._\u0d21\u0d3f\u0d38\u0d02.".split("_"),monthsParseExact:!0,weekdays:"\u0d1e\u0d3e\u0d2f\u0d31\u0d3e\u0d34\u0d4d\u0d1a_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d33\u0d3e\u0d34\u0d4d\u0d1a_\u0d1a\u0d4a\u0d35\u0d4d\u0d35\u0d3e\u0d34\u0d4d\u0d1a_\u0d2c\u0d41\u0d27\u0d28\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d3e\u0d34\u0d4d\u0d1a_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a_\u0d36\u0d28\u0d3f\u0d2f\u0d3e\u0d34\u0d4d\u0d1a".split("_"),weekdaysShort:"\u0d1e\u0d3e\u0d2f\u0d7c_\u0d24\u0d3f\u0d19\u0d4d\u0d15\u0d7e_\u0d1a\u0d4a\u0d35\u0d4d\u0d35_\u0d2c\u0d41\u0d27\u0d7b_\u0d35\u0d4d\u0d2f\u0d3e\u0d34\u0d02_\u0d35\u0d46\u0d33\u0d4d\u0d33\u0d3f_\u0d36\u0d28\u0d3f".split("_"),weekdaysMin:"\u0d1e\u0d3e_\u0d24\u0d3f_\u0d1a\u0d4a_\u0d2c\u0d41_\u0d35\u0d4d\u0d2f\u0d3e_\u0d35\u0d46_\u0d36".split("_"),longDateFormat:{LT:"A h:mm -\u0d28\u0d41",LTS:"A h:mm:ss -\u0d28\u0d41",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -\u0d28\u0d41",LLLL:"dddd, D MMMM YYYY, A h:mm -\u0d28\u0d41"},calendar:{sameDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d4d] LT",nextDay:"[\u0d28\u0d3e\u0d33\u0d46] LT",nextWeek:"dddd, LT",lastDay:"[\u0d07\u0d28\u0d4d\u0d28\u0d32\u0d46] LT",lastWeek:"[\u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d",past:"%s \u0d2e\u0d41\u0d7b\u0d2a\u0d4d",s:"\u0d05\u0d7d\u0d2a \u0d28\u0d3f\u0d2e\u0d3f\u0d37\u0d19\u0d4d\u0d19\u0d7e",ss:"%d \u0d38\u0d46\u0d15\u0d4d\u0d15\u0d7b\u0d21\u0d4d",m:"\u0d12\u0d30\u0d41 \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",mm:"%d \u0d2e\u0d3f\u0d28\u0d3f\u0d31\u0d4d\u0d31\u0d4d",h:"\u0d12\u0d30\u0d41 \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",hh:"%d \u0d2e\u0d23\u0d3f\u0d15\u0d4d\u0d15\u0d42\u0d7c",d:"\u0d12\u0d30\u0d41 \u0d26\u0d3f\u0d35\u0d38\u0d02",dd:"%d \u0d26\u0d3f\u0d35\u0d38\u0d02",M:"\u0d12\u0d30\u0d41 \u0d2e\u0d3e\u0d38\u0d02",MM:"%d \u0d2e\u0d3e\u0d38\u0d02",y:"\u0d12\u0d30\u0d41 \u0d35\u0d7c\u0d37\u0d02",yy:"%d \u0d35\u0d7c\u0d37\u0d02"},meridiemParse:/\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f|\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46|\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d|\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02|\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f/i,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"===a&&4<=e||"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d"===a||"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02"===a?e+12:e},meridiem:function(e,a,t){return e<4?"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f":e<12?"\u0d30\u0d3e\u0d35\u0d3f\u0d32\u0d46":e<17?"\u0d09\u0d1a\u0d4d\u0d1a \u0d15\u0d34\u0d3f\u0d1e\u0d4d\u0d1e\u0d4d":e<20?"\u0d35\u0d48\u0d15\u0d41\u0d28\u0d4d\u0d28\u0d47\u0d30\u0d02":"\u0d30\u0d3e\u0d24\u0d4d\u0d30\u0d3f"}}),l.defineLocale("mn",{months:"\u041d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0425\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0413\u0443\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u04e9\u0440\u04e9\u0432\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0422\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0417\u0443\u0440\u0433\u0430\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0414\u043e\u043b\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u041d\u0430\u0439\u043c\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0415\u0441\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0430\u0432\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u043d\u044d\u0433\u0434\u04af\u0433\u044d\u044d\u0440 \u0441\u0430\u0440_\u0410\u0440\u0432\u0430\u043d \u0445\u043e\u0451\u0440\u0434\u0443\u0433\u0430\u0430\u0440 \u0441\u0430\u0440".split("_"),monthsShort:"1 \u0441\u0430\u0440_2 \u0441\u0430\u0440_3 \u0441\u0430\u0440_4 \u0441\u0430\u0440_5 \u0441\u0430\u0440_6 \u0441\u0430\u0440_7 \u0441\u0430\u0440_8 \u0441\u0430\u0440_9 \u0441\u0430\u0440_10 \u0441\u0430\u0440_11 \u0441\u0430\u0440_12 \u0441\u0430\u0440".split("_"),monthsParseExact:!0,weekdays:"\u041d\u044f\u043c_\u0414\u0430\u0432\u0430\u0430_\u041c\u044f\u0433\u043c\u0430\u0440_\u041b\u0445\u0430\u0433\u0432\u0430_\u041f\u04af\u0440\u044d\u0432_\u0411\u0430\u0430\u0441\u0430\u043d_\u0411\u044f\u043c\u0431\u0430".split("_"),weekdaysShort:"\u041d\u044f\u043c_\u0414\u0430\u0432_\u041c\u044f\u0433_\u041b\u0445\u0430_\u041f\u04af\u0440_\u0411\u0430\u0430_\u0411\u044f\u043c".split("_"),weekdaysMin:"\u041d\u044f_\u0414\u0430_\u041c\u044f_\u041b\u0445_\u041f\u04af_\u0411\u0430_\u0411\u044f".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D",LLL:"YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm",LLLL:"dddd, YYYY \u043e\u043d\u044b MMMM\u044b\u043d D HH:mm"},meridiemParse:/\u04ae\u04e8|\u04ae\u0425/i,isPM:function(e){return"\u04ae\u0425"===e},meridiem:function(e,a,t){return e<12?"\u04ae\u04e8":"\u04ae\u0425"},calendar:{sameDay:"[\u04e8\u043d\u04e9\u04e9\u0434\u04e9\u0440] LT",nextDay:"[\u041c\u0430\u0440\u0433\u0430\u0430\u0448] LT",nextWeek:"[\u0418\u0440\u044d\u0445] dddd LT",lastDay:"[\u04e8\u0447\u0438\u0433\u0434\u04e9\u0440] LT",lastWeek:"[\u04e8\u043d\u0433\u04e9\u0440\u0441\u04e9\u043d] dddd LT",sameElse:"L"},relativeTime:{future:"%s \u0434\u0430\u0440\u0430\u0430",past:"%s \u04e9\u043c\u043d\u04e9",s:wn,ss:wn,m:wn,mm:wn,h:wn,hh:wn,d:wn,dd:wn,M:wn,MM:wn,y:wn,yy:wn},dayOfMonthOrdinalParse:/\d{1,2} \u04e9\u0434\u04e9\u0440/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+" \u04e9\u0434\u04e9\u0440";default:return e}}});var vn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},Sn={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};function Hn(e,a,t,s){var n="";if(a)switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926";break;case"m":n="\u090f\u0915 \u092e\u093f\u0928\u093f\u091f";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u0947";break;case"h":n="\u090f\u0915 \u0924\u093e\u0938";break;case"hh":n="%d \u0924\u093e\u0938";break;case"d":n="\u090f\u0915 \u0926\u093f\u0935\u0938";break;case"dd":n="%d \u0926\u093f\u0935\u0938";break;case"M":n="\u090f\u0915 \u092e\u0939\u093f\u0928\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u0947";break;case"y":n="\u090f\u0915 \u0935\u0930\u094d\u0937";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u0947";break}else switch(t){case"s":n="\u0915\u093e\u0939\u0940 \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"ss":n="%d \u0938\u0947\u0915\u0902\u0926\u093e\u0902";break;case"m":n="\u090f\u0915\u093e \u092e\u093f\u0928\u093f\u091f\u093e";break;case"mm":n="%d \u092e\u093f\u0928\u093f\u091f\u093e\u0902";break;case"h":n="\u090f\u0915\u093e \u0924\u093e\u0938\u093e";break;case"hh":n="%d \u0924\u093e\u0938\u093e\u0902";break;case"d":n="\u090f\u0915\u093e \u0926\u093f\u0935\u0938\u093e";break;case"dd":n="%d \u0926\u093f\u0935\u0938\u093e\u0902";break;case"M":n="\u090f\u0915\u093e \u092e\u0939\u093f\u0928\u094d\u092f\u093e";break;case"MM":n="%d \u092e\u0939\u093f\u0928\u094d\u092f\u093e\u0902";break;case"y":n="\u090f\u0915\u093e \u0935\u0930\u094d\u0937\u093e";break;case"yy":n="%d \u0935\u0930\u094d\u0937\u093e\u0902";break}return n.replace(/%d/i,e)}l.defineLocale("mr",{months:"\u091c\u093e\u0928\u0947\u0935\u093e\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u093e\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u090f\u092a\u094d\u0930\u093f\u0932_\u092e\u0947_\u091c\u0942\u0928_\u091c\u0941\u0932\u0948_\u0911\u0917\u0938\u094d\u091f_\u0938\u092a\u094d\u091f\u0947\u0902\u092c\u0930_\u0911\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u0935\u094d\u0939\u0947\u0902\u092c\u0930_\u0921\u093f\u0938\u0947\u0902\u092c\u0930".split("_"),monthsShort:"\u091c\u093e\u0928\u0947._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a._\u090f\u092a\u094d\u0930\u093f._\u092e\u0947._\u091c\u0942\u0928._\u091c\u0941\u0932\u0948._\u0911\u0917._\u0938\u092a\u094d\u091f\u0947\u0902._\u0911\u0915\u094d\u091f\u094b._\u0928\u094b\u0935\u094d\u0939\u0947\u0902._\u0921\u093f\u0938\u0947\u0902.".split("_"),monthsParseExact:!0,weekdays:"\u0930\u0935\u093f\u0935\u093e\u0930_\u0938\u094b\u092e\u0935\u093e\u0930_\u092e\u0902\u0917\u0933\u0935\u093e\u0930_\u092c\u0941\u0927\u0935\u093e\u0930_\u0917\u0941\u0930\u0942\u0935\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u0935\u093e\u0930_\u0936\u0928\u093f\u0935\u093e\u0930".split("_"),weekdaysShort:"\u0930\u0935\u093f_\u0938\u094b\u092e_\u092e\u0902\u0917\u0933_\u092c\u0941\u0927_\u0917\u0941\u0930\u0942_\u0936\u0941\u0915\u094d\u0930_\u0936\u0928\u093f".split("_"),weekdaysMin:"\u0930_\u0938\u094b_\u092e\u0902_\u092c\u0941_\u0917\u0941_\u0936\u0941_\u0936".split("_"),longDateFormat:{LT:"A h:mm \u0935\u093e\u091c\u0924\u093e",LTS:"A h:mm:ss \u0935\u093e\u091c\u0924\u093e",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e",LLLL:"dddd, D MMMM YYYY, A h:mm \u0935\u093e\u091c\u0924\u093e"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u0909\u0926\u094d\u092f\u093e] LT",nextWeek:"dddd, LT",lastDay:"[\u0915\u093e\u0932] LT",lastWeek:"[\u092e\u093e\u0917\u0940\u0932] dddd, LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u0927\u094d\u092f\u0947",past:"%s\u092a\u0942\u0930\u094d\u0935\u0940",s:Hn,ss:Hn,m:Hn,mm:Hn,h:Hn,hh:Hn,d:Hn,dd:Hn,M:Hn,MM:Hn,y:Hn,yy:Hn},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return Sn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return vn[e]})},meridiemParse:/\u0930\u093e\u0924\u094d\u0930\u0940|\u0938\u0915\u093e\u0933\u0940|\u0926\u0941\u092a\u093e\u0930\u0940|\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u094d\u0930\u0940"===a?e<4?e:e+12:"\u0938\u0915\u093e\u0933\u0940"===a?e:"\u0926\u0941\u092a\u093e\u0930\u0940"===a?10<=e?e:e+12:"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0930\u093e\u0924\u094d\u0930\u0940":e<10?"\u0938\u0915\u093e\u0933\u0940":e<17?"\u0926\u0941\u092a\u093e\u0930\u0940":e<20?"\u0938\u093e\u092f\u0902\u0915\u093e\u0933\u0940":"\u0930\u093e\u0924\u094d\u0930\u0940"},week:{dow:0,doy:6}}),l.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),l.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,a){return 12===e&&(e=0),"pagi"===a?e:"tengahari"===a?11<=e?e:e+12:"petang"===a||"malam"===a?e+12:void 0},meridiem:function(e,a,t){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),l.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_\u0120unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Di\u010bembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_\u0120un_Lul_Aww_Set_Ott_Nov_Di\u010b".split("_"),weekdays:"Il-\u0126add_It-Tnejn_It-Tlieta_L-Erbg\u0127a_Il-\u0126amis_Il-\u0120img\u0127a_Is-Sibt".split("_"),weekdaysShort:"\u0126ad_Tne_Tli_Erb_\u0126am_\u0120im_Sib".split("_"),weekdaysMin:"\u0126a_Tn_Tl_Er_\u0126a_\u0120i_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[G\u0127ada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-biera\u0127 fil-]LT",lastWeek:"dddd [li g\u0127adda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f\u2019 %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"sieg\u0127a",hh:"%d sieg\u0127at",d:"\u0121urnata",dd:"%d \u0121ranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}});var bn={1:"\u1041",2:"\u1042",3:"\u1043",4:"\u1044",5:"\u1045",6:"\u1046",7:"\u1047",8:"\u1048",9:"\u1049",0:"\u1040"},jn={"\u1041":"1","\u1042":"2","\u1043":"3","\u1044":"4","\u1045":"5","\u1046":"6","\u1047":"7","\u1048":"8","\u1049":"9","\u1040":"0"};l.defineLocale("my",{months:"\u1007\u1014\u103a\u1014\u101d\u102b\u101b\u102e_\u1016\u1031\u1016\u1031\u102c\u103a\u101d\u102b\u101b\u102e_\u1019\u1010\u103a_\u1027\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u1007\u1030\u101c\u102d\u102f\u1004\u103a_\u101e\u103c\u1002\u102f\u1010\u103a_\u1005\u1000\u103a\u1010\u1004\u103a\u1018\u102c_\u1021\u1031\u102c\u1000\u103a\u1010\u102d\u102f\u1018\u102c_\u1014\u102d\u102f\u101d\u1004\u103a\u1018\u102c_\u1012\u102e\u1007\u1004\u103a\u1018\u102c".split("_"),monthsShort:"\u1007\u1014\u103a_\u1016\u1031_\u1019\u1010\u103a_\u1015\u103c\u102e_\u1019\u1031_\u1007\u103d\u1014\u103a_\u101c\u102d\u102f\u1004\u103a_\u101e\u103c_\u1005\u1000\u103a_\u1021\u1031\u102c\u1000\u103a_\u1014\u102d\u102f_\u1012\u102e".split("_"),weekdays:"\u1010\u1014\u1004\u103a\u1039\u1002\u1014\u103d\u1031_\u1010\u1014\u1004\u103a\u1039\u101c\u102c_\u1021\u1004\u103a\u1039\u1002\u102b_\u1017\u102f\u1012\u1039\u1013\u101f\u1030\u1038_\u1000\u103c\u102c\u101e\u1015\u1010\u1031\u1038_\u101e\u1031\u102c\u1000\u103c\u102c_\u1005\u1014\u1031".split("_"),weekdaysShort:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),weekdaysMin:"\u1014\u103d\u1031_\u101c\u102c_\u1002\u102b_\u101f\u1030\u1038_\u1000\u103c\u102c_\u101e\u1031\u102c_\u1014\u1031".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u101a\u1014\u1031.] LT [\u1019\u103e\u102c]",nextDay:"[\u1019\u1014\u1000\u103a\u1016\u103c\u1014\u103a] LT [\u1019\u103e\u102c]",nextWeek:"dddd LT [\u1019\u103e\u102c]",lastDay:"[\u1019\u1014\u1031.\u1000] LT [\u1019\u103e\u102c]",lastWeek:"[\u1015\u103c\u102e\u1038\u1001\u1032\u1037\u101e\u1031\u102c] dddd LT [\u1019\u103e\u102c]",sameElse:"L"},relativeTime:{future:"\u101c\u102c\u1019\u100a\u103a\u1037 %s \u1019\u103e\u102c",past:"\u101c\u103d\u1014\u103a\u1001\u1032\u1037\u101e\u1031\u102c %s \u1000",s:"\u1005\u1000\u1039\u1000\u1014\u103a.\u1021\u1014\u100a\u103a\u1038\u1004\u101a\u103a",ss:"%d \u1005\u1000\u1039\u1000\u1014\u1037\u103a",m:"\u1010\u1005\u103a\u1019\u102d\u1014\u1005\u103a",mm:"%d \u1019\u102d\u1014\u1005\u103a",h:"\u1010\u1005\u103a\u1014\u102c\u101b\u102e",hh:"%d \u1014\u102c\u101b\u102e",d:"\u1010\u1005\u103a\u101b\u1000\u103a",dd:"%d \u101b\u1000\u103a",M:"\u1010\u1005\u103a\u101c",MM:"%d \u101c",y:"\u1010\u1005\u103a\u1014\u103e\u1005\u103a",yy:"%d \u1014\u103e\u1005\u103a"},preparse:function(e){return e.replace(/[\u1041\u1042\u1043\u1044\u1045\u1046\u1047\u1048\u1049\u1040]/g,function(e){return jn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return bn[e]})},week:{dow:1,doy:4}}),l.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"s\xf8ndag_mandag_tirsdag_onsdag_torsdag_fredag_l\xf8rdag".split("_"),weekdaysShort:"s\xf8._ma._ti._on._to._fr._l\xf8.".split("_"),weekdaysMin:"s\xf8_ma_ti_on_to_fr_l\xf8".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i g\xe5r kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en m\xe5ned",MM:"%d m\xe5neder",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var xn={1:"\u0967",2:"\u0968",3:"\u0969",4:"\u096a",5:"\u096b",6:"\u096c",7:"\u096d",8:"\u096e",9:"\u096f",0:"\u0966"},On={"\u0967":"1","\u0968":"2","\u0969":"3","\u096a":"4","\u096b":"5","\u096c":"6","\u096d":"7","\u096e":"8","\u096f":"9","\u0966":"0"};l.defineLocale("ne",{months:"\u091c\u0928\u0935\u0930\u0940_\u092b\u0947\u092c\u094d\u0930\u0941\u0935\u0930\u0940_\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f\u0932_\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908_\u0905\u0917\u0937\u094d\u091f_\u0938\u0947\u092a\u094d\u091f\u0947\u092e\u094d\u092c\u0930_\u0905\u0915\u094d\u091f\u094b\u092c\u0930_\u0928\u094b\u092d\u0947\u092e\u094d\u092c\u0930_\u0921\u093f\u0938\u0947\u092e\u094d\u092c\u0930".split("_"),monthsShort:"\u091c\u0928._\u092b\u0947\u092c\u094d\u0930\u0941._\u092e\u093e\u0930\u094d\u091a_\u0905\u092a\u094d\u0930\u093f._\u092e\u0908_\u091c\u0941\u0928_\u091c\u0941\u0932\u093e\u0908._\u0905\u0917._\u0938\u0947\u092a\u094d\u091f._\u0905\u0915\u094d\u091f\u094b._\u0928\u094b\u092d\u0947._\u0921\u093f\u0938\u0947.".split("_"),monthsParseExact:!0,weekdays:"\u0906\u0907\u0924\u092c\u093e\u0930_\u0938\u094b\u092e\u092c\u093e\u0930_\u092e\u0919\u094d\u0917\u0932\u092c\u093e\u0930_\u092c\u0941\u0927\u092c\u093e\u0930_\u092c\u093f\u0939\u093f\u092c\u093e\u0930_\u0936\u0941\u0915\u094d\u0930\u092c\u093e\u0930_\u0936\u0928\u093f\u092c\u093e\u0930".split("_"),weekdaysShort:"\u0906\u0907\u0924._\u0938\u094b\u092e._\u092e\u0919\u094d\u0917\u0932._\u092c\u0941\u0927._\u092c\u093f\u0939\u093f._\u0936\u0941\u0915\u094d\u0930._\u0936\u0928\u093f.".split("_"),weekdaysMin:"\u0906._\u0938\u094b._\u092e\u0902._\u092c\u0941._\u092c\u093f._\u0936\u0941._\u0936.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A\u0915\u094b h:mm \u092c\u091c\u0947",LTS:"A\u0915\u094b h:mm:ss \u092c\u091c\u0947",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947",LLLL:"dddd, D MMMM YYYY, A\u0915\u094b h:mm \u092c\u091c\u0947"},preparse:function(e){return e.replace(/[\u0967\u0968\u0969\u096a\u096b\u096c\u096d\u096e\u096f\u0966]/g,function(e){return On[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return xn[e]})},meridiemParse:/\u0930\u093e\u0924\u093f|\u092c\u093f\u0939\u093e\u0928|\u0926\u093f\u0909\u0901\u0938\u094b|\u0938\u093e\u0901\u091d/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0930\u093e\u0924\u093f"===a?e<4?e:e+12:"\u092c\u093f\u0939\u093e\u0928"===a?e:"\u0926\u093f\u0909\u0901\u0938\u094b"===a?10<=e?e:e+12:"\u0938\u093e\u0901\u091d"===a?e+12:void 0},meridiem:function(e,a,t){return e<3?"\u0930\u093e\u0924\u093f":e<12?"\u092c\u093f\u0939\u093e\u0928":e<16?"\u0926\u093f\u0909\u0901\u0938\u094b":e<20?"\u0938\u093e\u0901\u091d":"\u0930\u093e\u0924\u093f"},calendar:{sameDay:"[\u0906\u091c] LT",nextDay:"[\u092d\u094b\u0932\u093f] LT",nextWeek:"[\u0906\u0909\u0901\u0926\u094b] dddd[,] LT",lastDay:"[\u0939\u093f\u091c\u094b] LT",lastWeek:"[\u0917\u090f\u0915\u094b] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s\u092e\u093e",past:"%s \u0905\u0917\u093e\u0921\u093f",s:"\u0915\u0947\u0939\u0940 \u0915\u094d\u0937\u0923",ss:"%d \u0938\u0947\u0915\u0947\u0923\u094d\u0921",m:"\u090f\u0915 \u092e\u093f\u0928\u0947\u091f",mm:"%d \u092e\u093f\u0928\u0947\u091f",h:"\u090f\u0915 \u0918\u0923\u094d\u091f\u093e",hh:"%d \u0918\u0923\u094d\u091f\u093e",d:"\u090f\u0915 \u0926\u093f\u0928",dd:"%d \u0926\u093f\u0928",M:"\u090f\u0915 \u092e\u0939\u093f\u0928\u093e",MM:"%d \u092e\u0939\u093f\u0928\u093e",y:"\u090f\u0915 \u092c\u0930\u094d\u0937",yy:"%d \u092c\u0930\u094d\u0937"},week:{dow:0,doy:6}});var Pn="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Wn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),An=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],En=/^(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;l.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?Wn[e.month()]:Pn[e.month()]:Pn},monthsRegex:En,monthsShortRegex:En,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:An,longMonthsParse:An,shortMonthsParse:An,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}});var Fn="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),zn="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),Jn=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Nn=/^(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;l.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?zn[e.month()]:Fn[e.month()]:Fn},monthsRegex:Nn,monthsShortRegex:Nn,monthsStrictRegex:/^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:Jn,longMonthsParse:Jn,shortMonthsParse:Jn,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"\xe9\xe9n minuut",mm:"%d minuten",h:"\xe9\xe9n uur",hh:"%d uur",d:"\xe9\xe9n dag",dd:"%d dagen",M:"\xe9\xe9n maand",MM:"%d maanden",y:"\xe9\xe9n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||20<=e?"ste":"de")},week:{dow:1,doy:4}}),l.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_m\xe5ndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_m\xe5n_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_m\xe5_ty_on_to_fr_l\xf8".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I g\xe5r klokka] LT",lastWeek:"[F\xf8reg\xe5ande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein m\xe5nad",MM:"%d m\xe5nader",y:"eit \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var Rn={1:"\u0a67",2:"\u0a68",3:"\u0a69",4:"\u0a6a",5:"\u0a6b",6:"\u0a6c",7:"\u0a6d",8:"\u0a6e",9:"\u0a6f",0:"\u0a66"},Cn={"\u0a67":"1","\u0a68":"2","\u0a69":"3","\u0a6a":"4","\u0a6b":"5","\u0a6c":"6","\u0a6d":"7","\u0a6e":"8","\u0a6f":"9","\u0a66":"0"};l.defineLocale("pa-in",{months:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),monthsShort:"\u0a1c\u0a28\u0a35\u0a30\u0a40_\u0a2b\u0a3c\u0a30\u0a35\u0a30\u0a40_\u0a2e\u0a3e\u0a30\u0a1a_\u0a05\u0a2a\u0a4d\u0a30\u0a48\u0a32_\u0a2e\u0a08_\u0a1c\u0a42\u0a28_\u0a1c\u0a41\u0a32\u0a3e\u0a08_\u0a05\u0a17\u0a38\u0a24_\u0a38\u0a24\u0a70\u0a2c\u0a30_\u0a05\u0a15\u0a24\u0a42\u0a2c\u0a30_\u0a28\u0a35\u0a70\u0a2c\u0a30_\u0a26\u0a38\u0a70\u0a2c\u0a30".split("_"),weekdays:"\u0a10\u0a24\u0a35\u0a3e\u0a30_\u0a38\u0a4b\u0a2e\u0a35\u0a3e\u0a30_\u0a2e\u0a70\u0a17\u0a32\u0a35\u0a3e\u0a30_\u0a2c\u0a41\u0a27\u0a35\u0a3e\u0a30_\u0a35\u0a40\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a41\u0a71\u0a15\u0a30\u0a35\u0a3e\u0a30_\u0a38\u0a3c\u0a28\u0a40\u0a1a\u0a30\u0a35\u0a3e\u0a30".split("_"),weekdaysShort:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),weekdaysMin:"\u0a10\u0a24_\u0a38\u0a4b\u0a2e_\u0a2e\u0a70\u0a17\u0a32_\u0a2c\u0a41\u0a27_\u0a35\u0a40\u0a30_\u0a38\u0a3c\u0a41\u0a15\u0a30_\u0a38\u0a3c\u0a28\u0a40".split("_"),longDateFormat:{LT:"A h:mm \u0a35\u0a1c\u0a47",LTS:"A h:mm:ss \u0a35\u0a1c\u0a47",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47",LLLL:"dddd, D MMMM YYYY, A h:mm \u0a35\u0a1c\u0a47"},calendar:{sameDay:"[\u0a05\u0a1c] LT",nextDay:"[\u0a15\u0a32] LT",nextWeek:"[\u0a05\u0a17\u0a32\u0a3e] dddd, LT",lastDay:"[\u0a15\u0a32] LT",lastWeek:"[\u0a2a\u0a3f\u0a1b\u0a32\u0a47] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0a35\u0a3f\u0a71\u0a1a",past:"%s \u0a2a\u0a3f\u0a1b\u0a32\u0a47",s:"\u0a15\u0a41\u0a1d \u0a38\u0a15\u0a3f\u0a70\u0a1f",ss:"%d \u0a38\u0a15\u0a3f\u0a70\u0a1f",m:"\u0a07\u0a15 \u0a2e\u0a3f\u0a70\u0a1f",mm:"%d \u0a2e\u0a3f\u0a70\u0a1f",h:"\u0a07\u0a71\u0a15 \u0a18\u0a70\u0a1f\u0a3e",hh:"%d \u0a18\u0a70\u0a1f\u0a47",d:"\u0a07\u0a71\u0a15 \u0a26\u0a3f\u0a28",dd:"%d \u0a26\u0a3f\u0a28",M:"\u0a07\u0a71\u0a15 \u0a2e\u0a39\u0a40\u0a28\u0a3e",MM:"%d \u0a2e\u0a39\u0a40\u0a28\u0a47",y:"\u0a07\u0a71\u0a15 \u0a38\u0a3e\u0a32",yy:"%d \u0a38\u0a3e\u0a32"},preparse:function(e){return e.replace(/[\u0a67\u0a68\u0a69\u0a6a\u0a6b\u0a6c\u0a6d\u0a6e\u0a6f\u0a66]/g,function(e){return Cn[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return Rn[e]})},meridiemParse:/\u0a30\u0a3e\u0a24|\u0a38\u0a35\u0a47\u0a30|\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30|\u0a38\u0a3c\u0a3e\u0a2e/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0a30\u0a3e\u0a24"===a?e<4?e:e+12:"\u0a38\u0a35\u0a47\u0a30"===a?e:"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30"===a?10<=e?e:e+12:"\u0a38\u0a3c\u0a3e\u0a2e"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0a30\u0a3e\u0a24":e<10?"\u0a38\u0a35\u0a47\u0a30":e<17?"\u0a26\u0a41\u0a2a\u0a39\u0a3f\u0a30":e<20?"\u0a38\u0a3c\u0a3e\u0a2e":"\u0a30\u0a3e\u0a24"},week:{dow:0,doy:6}});var In="stycze\u0144_luty_marzec_kwiecie\u0144_maj_czerwiec_lipiec_sierpie\u0144_wrzesie\u0144_pa\u017adziernik_listopad_grudzie\u0144".split("_"),Un="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrze\u015bnia_pa\u017adziernika_listopada_grudnia".split("_");function Gn(e){return e%10<5&&1<e%10&&~~(e/10)%10!=1}function Vn(e,a,t){var s=e+" ";switch(t){case"ss":return s+(Gn(e)?"sekundy":"sekund");case"m":return a?"minuta":"minut\u0119";case"mm":return s+(Gn(e)?"minuty":"minut");case"h":return a?"godzina":"godzin\u0119";case"hh":return s+(Gn(e)?"godziny":"godzin");case"MM":return s+(Gn(e)?"miesi\u0105ce":"miesi\u0119cy");case"yy":return s+(Gn(e)?"lata":"lat")}}function Kn(e,a,t){var s=" ";return(20<=e%100||100<=e&&e%100==0)&&(s=" de "),e+s+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[t]}function Zn(e,a,t){var s,n;return"m"===t?a?"\u043c\u0438\u043d\u0443\u0442\u0430":"\u043c\u0438\u043d\u0443\u0442\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u044b_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u043c\u0438\u043d\u0443\u0442\u0430_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442":"\u043c\u0438\u043d\u0443\u0442\u0443_\u043c\u0438\u043d\u0443\u0442\u044b_\u043c\u0438\u043d\u0443\u0442",hh:"\u0447\u0430\u0441_\u0447\u0430\u0441\u0430_\u0447\u0430\u0441\u043e\u0432",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u044f_\u0434\u043d\u0435\u0439",MM:"\u043c\u0435\u0441\u044f\u0446_\u043c\u0435\u0441\u044f\u0446\u0430_\u043c\u0435\u0441\u044f\u0446\u0435\u0432",yy:"\u0433\u043e\u0434_\u0433\u043e\u0434\u0430_\u043b\u0435\u0442"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}l.defineLocale("pl",{months:function(e,a){return e?""===a?"("+Un[e.month()]+"|"+In[e.month()]+")":/D MMMM/.test(a)?Un[e.month()]:In[e.month()]:In},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_pa\u017a_lis_gru".split("_"),weekdays:"niedziela_poniedzia\u0142ek_wtorek_\u015broda_czwartek_pi\u0105tek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_\u015br_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_\u015ar_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dzi\u015b o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedziel\u0119 o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W \u015brod\u0119 o] LT";case 6:return"[W sobot\u0119 o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zesz\u0142\u0105 niedziel\u0119 o] LT";case 3:return"[W zesz\u0142\u0105 \u015brod\u0119 o] LT";case 6:return"[W zesz\u0142\u0105 sobot\u0119 o] LT";default:return"[W zesz\u0142y] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Vn,m:Vn,mm:Vn,h:Vn,hh:Vn,d:"1 dzie\u0144",dd:"%d dni",M:"miesi\u0105c",MM:Vn,y:"rok",yy:Vn},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("pt-br",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [\xe0s] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [\xe0s] HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba"}),l.defineLocale("pt",{months:"Janeiro_Fevereiro_Mar\xe7o_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingo_Segunda-feira_Ter\xe7a-feira_Quarta-feira_Quinta-feira_Sexta-feira_S\xe1bado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_S\xe1b".split("_"),weekdaysMin:"Do_2\xaa_3\xaa_4\xaa_5\xaa_6\xaa_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje \xe0s] LT",nextDay:"[Amanh\xe3 \xe0s] LT",nextWeek:"dddd [\xe0s] LT",lastDay:"[Ontem \xe0s] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[\xdaltimo] dddd [\xe0s] LT":"[\xdaltima] dddd [\xe0s] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"h\xe1 %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um m\xeas",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}\xba/,ordinal:"%d\xba",week:{dow:1,doy:4}}),l.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminic\u0103_luni_mar\u021bi_miercuri_joi_vineri_s\xe2mb\u0103t\u0103".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_S\xe2m".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_S\xe2".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[m\xe2ine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s \xeen urm\u0103",s:"c\xe2teva secunde",ss:Kn,m:"un minut",mm:Kn,h:"o or\u0103",hh:Kn,d:"o zi",dd:Kn,M:"o lun\u0103",MM:Kn,y:"un an",yy:Kn},week:{dow:1,doy:7}});var $n=[/^\u044f\u043d\u0432/i,/^\u0444\u0435\u0432/i,/^\u043c\u0430\u0440/i,/^\u0430\u043f\u0440/i,/^\u043c\u0430[\u0439\u044f]/i,/^\u0438\u044e\u043d/i,/^\u0438\u044e\u043b/i,/^\u0430\u0432\u0433/i,/^\u0441\u0435\u043d/i,/^\u043e\u043a\u0442/i,/^\u043d\u043e\u044f/i,/^\u0434\u0435\u043a/i];l.defineLocale("ru",{months:{format:"\u044f\u043d\u0432\u0430\u0440\u044f_\u0444\u0435\u0432\u0440\u0430\u043b\u044f_\u043c\u0430\u0440\u0442\u0430_\u0430\u043f\u0440\u0435\u043b\u044f_\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433\u0443\u0441\u0442\u0430_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f_\u043e\u043a\u0442\u044f\u0431\u0440\u044f_\u043d\u043e\u044f\u0431\u0440\u044f_\u0434\u0435\u043a\u0430\u0431\u0440\u044f".split("_"),standalone:"\u044f\u043d\u0432\u0430\u0440\u044c_\u0444\u0435\u0432\u0440\u0430\u043b\u044c_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b\u044c_\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044c_\u043e\u043a\u0442\u044f\u0431\u0440\u044c_\u043d\u043e\u044f\u0431\u0440\u044c_\u0434\u0435\u043a\u0430\u0431\u0440\u044c".split("_")},monthsShort:{format:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u044f_\u0438\u044e\u043d\u044f_\u0438\u044e\u043b\u044f_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_"),standalone:"\u044f\u043d\u0432._\u0444\u0435\u0432\u0440._\u043c\u0430\u0440\u0442_\u0430\u043f\u0440._\u043c\u0430\u0439_\u0438\u044e\u043d\u044c_\u0438\u044e\u043b\u044c_\u0430\u0432\u0433._\u0441\u0435\u043d\u0442._\u043e\u043a\u0442._\u043d\u043e\u044f\u0431._\u0434\u0435\u043a.".split("_")},weekdays:{standalone:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0430_\u0441\u0443\u0431\u0431\u043e\u0442\u0430".split("_"),format:"\u0432\u043e\u0441\u043a\u0440\u0435\u0441\u0435\u043d\u044c\u0435_\u043f\u043e\u043d\u0435\u0434\u0435\u043b\u044c\u043d\u0438\u043a_\u0432\u0442\u043e\u0440\u043d\u0438\u043a_\u0441\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440\u0433_\u043f\u044f\u0442\u043d\u0438\u0446\u0443_\u0441\u0443\u0431\u0431\u043e\u0442\u0443".split("_"),isFormat:/\[ ?[\u0412\u0432] ?(?:\u043f\u0440\u043e\u0448\u043b\u0443\u044e|\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e|\u044d\u0442\u0443)? ?\] ?dddd/},weekdaysShort:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u0432\u0441_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),monthsParse:$n,longMonthsParse:$n,shortMonthsParse:$n,monthsRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsShortRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044c\u044f]|\u044f\u043d\u0432\.?|\u0444\u0435\u0432\u0440\u0430\u043b[\u044c\u044f]|\u0444\u0435\u0432\u0440?\.?|\u043c\u0430\u0440\u0442\u0430?|\u043c\u0430\u0440\.?|\u0430\u043f\u0440\u0435\u043b[\u044c\u044f]|\u0430\u043f\u0440\.?|\u043c\u0430[\u0439\u044f]|\u0438\u044e\u043d[\u044c\u044f]|\u0438\u044e\u043d\.?|\u0438\u044e\u043b[\u044c\u044f]|\u0438\u044e\u043b\.?|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0430\u0432\u0433\.?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044c\u044f]|\u0441\u0435\u043d\u0442?\.?|\u043e\u043a\u0442\u044f\u0431\u0440[\u044c\u044f]|\u043e\u043a\u0442\.?|\u043d\u043e\u044f\u0431\u0440[\u044c\u044f]|\u043d\u043e\u044f\u0431?\.?|\u0434\u0435\u043a\u0430\u0431\u0440[\u044c\u044f]|\u0434\u0435\u043a\.?)/i,monthsStrictRegex:/^(\u044f\u043d\u0432\u0430\u0440[\u044f\u044c]|\u0444\u0435\u0432\u0440\u0430\u043b[\u044f\u044c]|\u043c\u0430\u0440\u0442\u0430?|\u0430\u043f\u0440\u0435\u043b[\u044f\u044c]|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044f\u044c]|\u0438\u044e\u043b[\u044f\u044c]|\u0430\u0432\u0433\u0443\u0441\u0442\u0430?|\u0441\u0435\u043d\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043e\u043a\u0442\u044f\u0431\u0440[\u044f\u044c]|\u043d\u043e\u044f\u0431\u0440[\u044f\u044c]|\u0434\u0435\u043a\u0430\u0431\u0440[\u044f\u044c])/i,monthsShortStrictRegex:/^(\u044f\u043d\u0432\.|\u0444\u0435\u0432\u0440?\.|\u043c\u0430\u0440[\u0442.]|\u0430\u043f\u0440\.|\u043c\u0430[\u044f\u0439]|\u0438\u044e\u043d[\u044c\u044f.]|\u0438\u044e\u043b[\u044c\u044f.]|\u0430\u0432\u0433\.|\u0441\u0435\u043d\u0442?\.|\u043e\u043a\u0442\.|\u043d\u043e\u044f\u0431?\.|\u0434\u0435\u043a\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0433.",LLL:"D MMMM YYYY \u0433., H:mm",LLLL:"dddd, D MMMM YYYY \u0433., H:mm"},calendar:{sameDay:"[\u0421\u0435\u0433\u043e\u0434\u043d\u044f, \u0432] LT",nextDay:"[\u0417\u0430\u0432\u0442\u0440\u0430, \u0432] LT",lastDay:"[\u0412\u0447\u0435\u0440\u0430, \u0432] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e] dddd, [\u0432] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[\u0412\u043e] dddd, [\u0432] LT":"[\u0412] dddd, [\u0432] LT";switch(this.day()){case 0:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u043e\u0435] dddd, [\u0432] LT";case 1:case 2:case 4:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u044b\u0439] dddd, [\u0432] LT";case 3:case 5:case 6:return"[\u0412 \u043f\u0440\u043e\u0448\u043b\u0443\u044e] dddd, [\u0432] LT"}},sameElse:"L"},relativeTime:{future:"\u0447\u0435\u0440\u0435\u0437 %s",past:"%s \u043d\u0430\u0437\u0430\u0434",s:"\u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434",ss:Zn,m:Zn,mm:Zn,h:"\u0447\u0430\u0441",hh:Zn,d:"\u0434\u0435\u043d\u044c",dd:Zn,M:"\u043c\u0435\u0441\u044f\u0446",MM:Zn,y:"\u0433\u043e\u0434",yy:Zn},meridiemParse:/\u043d\u043e\u0447\u0438|\u0443\u0442\u0440\u0430|\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430/i,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u0435\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0438":e<12?"\u0443\u0442\u0440\u0430":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u0435\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e|\u044f)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":return e+"-\u0439";case"D":return e+"-\u0433\u043e";case"w":case"W":return e+"-\u044f";default:return e}},week:{dow:1,doy:4}});var Bn=["\u062c\u0646\u0648\u0631\u064a","\u0641\u064a\u0628\u0631\u0648\u0631\u064a","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u064a\u0644","\u0645\u0626\u064a","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0621\u0650","\u0622\u06af\u0633\u067d","\u0633\u064a\u067e\u067d\u0645\u0628\u0631","\u0622\u06aa\u067d\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u068a\u0633\u0645\u0628\u0631"],qn=["\u0622\u0686\u0631","\u0633\u0648\u0645\u0631","\u0627\u06b1\u0627\u0631\u0648","\u0627\u0631\u0628\u0639","\u062e\u0645\u064a\u0633","\u062c\u0645\u0639","\u0687\u0646\u0687\u0631"];l.defineLocale("sd",{months:Bn,monthsShort:Bn,weekdays:qn,weekdaysShort:qn,weekdaysMin:qn,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0627\u0684] LT",nextDay:"[\u0633\u0680\u0627\u06bb\u064a] LT",nextWeek:"dddd [\u0627\u06b3\u064a\u0646 \u0647\u0641\u062a\u064a \u062a\u064a] LT",lastDay:"[\u06aa\u0627\u0644\u0647\u0647] LT",lastWeek:"[\u06af\u0632\u0631\u064a\u0644 \u0647\u0641\u062a\u064a] dddd [\u062a\u064a] LT",sameElse:"L"},relativeTime:{future:"%s \u067e\u0648\u0621",past:"%s \u0627\u06b3",s:"\u0686\u0646\u062f \u0633\u064a\u06aa\u0646\u068a",ss:"%d \u0633\u064a\u06aa\u0646\u068a",m:"\u0647\u06aa \u0645\u0646\u067d",mm:"%d \u0645\u0646\u067d",h:"\u0647\u06aa \u06aa\u0644\u0627\u06aa",hh:"%d \u06aa\u0644\u0627\u06aa",d:"\u0647\u06aa \u068f\u064a\u0646\u0647\u0646",dd:"%d \u068f\u064a\u0646\u0647\u0646",M:"\u0647\u06aa \u0645\u0647\u064a\u0646\u0648",MM:"%d \u0645\u0647\u064a\u0646\u0627",y:"\u0647\u06aa \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),l.defineLocale("se",{months:"o\u0111\u0111ajagem\xe1nnu_guovvam\xe1nnu_njuk\u010dam\xe1nnu_cuo\u014bom\xe1nnu_miessem\xe1nnu_geassem\xe1nnu_suoidnem\xe1nnu_borgem\xe1nnu_\u010dak\u010dam\xe1nnu_golggotm\xe1nnu_sk\xe1bmam\xe1nnu_juovlam\xe1nnu".split("_"),monthsShort:"o\u0111\u0111j_guov_njuk_cuo_mies_geas_suoi_borg_\u010dak\u010d_golg_sk\xe1b_juov".split("_"),weekdays:"sotnabeaivi_vuoss\xe1rga_ma\u014b\u014beb\xe1rga_gaskavahkku_duorastat_bearjadat_l\xe1vvardat".split("_"),weekdaysShort:"sotn_vuos_ma\u014b_gask_duor_bear_l\xe1v".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s gea\u017ees",past:"ma\u014bit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta m\xe1nnu",MM:"%d m\xe1nut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("si",{months:"\u0da2\u0db1\u0dc0\u0dcf\u0dbb\u0dd2_\u0db4\u0dd9\u0db6\u0dbb\u0dc0\u0dcf\u0dbb\u0dd2_\u0db8\u0dcf\u0dbb\u0dca\u0dad\u0dd4_\u0d85\u0db4\u0dca\u200d\u0dbb\u0dda\u0dbd\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd\u0dc3\u0dca\u0dad\u0dd4_\u0dc3\u0dd0\u0db4\u0dca\u0dad\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0d94\u0d9a\u0dca\u0dad\u0ddd\u0db6\u0dbb\u0dca_\u0db1\u0ddc\u0dc0\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca_\u0daf\u0dd9\u0dc3\u0dd0\u0db8\u0dca\u0db6\u0dbb\u0dca".split("_"),monthsShort:"\u0da2\u0db1_\u0db4\u0dd9\u0db6_\u0db8\u0dcf\u0dbb\u0dca_\u0d85\u0db4\u0dca_\u0db8\u0dd0\u0dba\u0dd2_\u0da2\u0dd6\u0db1\u0dd2_\u0da2\u0dd6\u0dbd\u0dd2_\u0d85\u0d9c\u0ddd_\u0dc3\u0dd0\u0db4\u0dca_\u0d94\u0d9a\u0dca_\u0db1\u0ddc\u0dc0\u0dd0_\u0daf\u0dd9\u0dc3\u0dd0".split("_"),weekdays:"\u0d89\u0dbb\u0dd2\u0daf\u0dcf_\u0dc3\u0db3\u0dd4\u0daf\u0dcf_\u0d85\u0d9f\u0dc4\u0dbb\u0dd4\u0dc0\u0dcf\u0daf\u0dcf_\u0db6\u0daf\u0dcf\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4\u0dc3\u0dca\u0db4\u0dad\u0dd2\u0db1\u0dca\u0daf\u0dcf_\u0dc3\u0dd2\u0d9a\u0dd4\u0dbb\u0dcf\u0daf\u0dcf_\u0dc3\u0dd9\u0db1\u0dc3\u0dd4\u0dbb\u0dcf\u0daf\u0dcf".split("_"),weekdaysShort:"\u0d89\u0dbb\u0dd2_\u0dc3\u0db3\u0dd4_\u0d85\u0d9f_\u0db6\u0daf\u0dcf_\u0db6\u0dca\u200d\u0dbb\u0dc4_\u0dc3\u0dd2\u0d9a\u0dd4_\u0dc3\u0dd9\u0db1".split("_"),weekdaysMin:"\u0d89_\u0dc3_\u0d85_\u0db6_\u0db6\u0dca\u200d\u0dbb_\u0dc3\u0dd2_\u0dc3\u0dd9".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [\u0dc0\u0dd0\u0db1\u0dd2] dddd, a h:mm:ss"},calendar:{sameDay:"[\u0d85\u0daf] LT[\u0da7]",nextDay:"[\u0dc4\u0dd9\u0da7] LT[\u0da7]",nextWeek:"dddd LT[\u0da7]",lastDay:"[\u0d8a\u0dba\u0dda] LT[\u0da7]",lastWeek:"[\u0db4\u0dc3\u0dd4\u0d9c\u0dd2\u0dba] dddd LT[\u0da7]",sameElse:"L"},relativeTime:{future:"%s\u0d9a\u0dd2\u0db1\u0dca",past:"%s\u0d9a\u0da7 \u0db4\u0dd9\u0dbb",s:"\u0dad\u0dad\u0dca\u0db4\u0dbb \u0d9a\u0dd2\u0dc4\u0dd2\u0db4\u0dba",ss:"\u0dad\u0dad\u0dca\u0db4\u0dbb %d",m:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4\u0dc0",mm:"\u0db8\u0dd2\u0db1\u0dd2\u0dad\u0dca\u0dad\u0dd4 %d",h:"\u0db4\u0dd0\u0dba",hh:"\u0db4\u0dd0\u0dba %d",d:"\u0daf\u0dd2\u0db1\u0dba",dd:"\u0daf\u0dd2\u0db1 %d",M:"\u0db8\u0dcf\u0dc3\u0dba",MM:"\u0db8\u0dcf\u0dc3 %d",y:"\u0dc0\u0dc3\u0dbb",yy:"\u0dc0\u0dc3\u0dbb %d"},dayOfMonthOrdinalParse:/\d{1,2} \u0dc0\u0dd0\u0db1\u0dd2/,ordinal:function(e){return e+" \u0dc0\u0dd0\u0db1\u0dd2"},meridiemParse:/\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4|\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4|\u0db4\u0dd9.\u0dc0|\u0db4.\u0dc0./,isPM:function(e){return"\u0db4.\u0dc0."===e||"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4"===e},meridiem:function(e,a,t){return 11<e?t?"\u0db4.\u0dc0.":"\u0db4\u0dc3\u0dca \u0dc0\u0dbb\u0dd4":t?"\u0db4\u0dd9.\u0dc0.":"\u0db4\u0dd9\u0dbb \u0dc0\u0dbb\u0dd4"}});var Qn="janu\xe1r_febru\xe1r_marec_apr\xedl_m\xe1j_j\xfan_j\xfal_august_september_okt\xf3ber_november_december".split("_"),Xn="jan_feb_mar_apr_m\xe1j_j\xfan_j\xfal_aug_sep_okt_nov_dec".split("_");function ed(e){return 1<e&&e<5}function ad(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"p\xe1r sek\xfand":"p\xe1r sekundami";case"ss":return a||s?n+(ed(e)?"sekundy":"sek\xfand"):n+"sekundami";break;case"m":return a?"min\xfata":s?"min\xfatu":"min\xfatou";case"mm":return a||s?n+(ed(e)?"min\xfaty":"min\xfat"):n+"min\xfatami";break;case"h":return a?"hodina":s?"hodinu":"hodinou";case"hh":return a||s?n+(ed(e)?"hodiny":"hod\xedn"):n+"hodinami";break;case"d":return a||s?"de\u0148":"d\u0148om";case"dd":return a||s?n+(ed(e)?"dni":"dn\xed"):n+"d\u0148ami";break;case"M":return a||s?"mesiac":"mesiacom";case"MM":return a||s?n+(ed(e)?"mesiace":"mesiacov"):n+"mesiacmi";break;case"y":return a||s?"rok":"rokom";case"yy":return a||s?n+(ed(e)?"roky":"rokov"):n+"rokmi";break}}function td(e,a,t,s){var n=e+" ";switch(t){case"s":return a||s?"nekaj sekund":"nekaj sekundami";case"ss":return n+=1===e?a?"sekundo":"sekundi":2===e?a||s?"sekundi":"sekundah":e<5?a||s?"sekunde":"sekundah":"sekund";case"m":return a?"ena minuta":"eno minuto";case"mm":return n+=1===e?a?"minuta":"minuto":2===e?a||s?"minuti":"minutama":e<5?a||s?"minute":"minutami":a||s?"minut":"minutami";case"h":return a?"ena ura":"eno uro";case"hh":return n+=1===e?a?"ura":"uro":2===e?a||s?"uri":"urama":e<5?a||s?"ure":"urami":a||s?"ur":"urami";case"d":return a||s?"en dan":"enim dnem";case"dd":return n+=1===e?a||s?"dan":"dnem":2===e?a||s?"dni":"dnevoma":a||s?"dni":"dnevi";case"M":return a||s?"en mesec":"enim mesecem";case"MM":return n+=1===e?a||s?"mesec":"mesecem":2===e?a||s?"meseca":"mesecema":e<5?a||s?"mesece":"meseci":a||s?"mesecev":"meseci";case"y":return a||s?"eno leto":"enim letom";case"yy":return n+=1===e?a||s?"leto":"letom":2===e?a||s?"leti":"letoma":e<5?a||s?"leta":"leti":a||s?"let":"leti"}}l.defineLocale("sk",{months:Qn,monthsShort:Xn,weekdays:"nede\u013ea_pondelok_utorok_streda_\u0161tvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_\u0161t_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_\u0161t_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nede\u013eu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo \u0161tvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[v\u010dera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minul\xfa nede\u013eu o] LT";case 1:case 2:return"[minul\xfd] dddd [o] LT";case 3:return"[minul\xfa stredu o] LT";case 4:case 5:return"[minul\xfd] dddd [o] LT";case 6:return"[minul\xfa sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:ad,ss:ad,m:ad,mm:ad,h:ad,hh:ad,d:ad,dd:ad,M:ad,MM:ad,y:ad,yy:ad},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_\u010detrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._\u010det._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_\u010de_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[v\u010deraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prej\u0161njo] [nedeljo] [ob] LT";case 3:return"[prej\u0161njo] [sredo] [ob] LT";case 6:return"[prej\u0161njo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prej\u0161nji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"\u010dez %s",past:"pred %s",s:td,ss:td,m:td,mm:td,h:td,hh:td,d:td,dd:td,M:td,MM:td,y:td,yy:td},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_N\xebntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_N\xebn_Dhj".split("_"),weekdays:"E Diel_E H\xebn\xeb_E Mart\xeb_E M\xebrkur\xeb_E Enjte_E Premte_E Shtun\xeb".split("_"),weekdaysShort:"Die_H\xebn_Mar_M\xebr_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_M\xeb_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,a,t){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot n\xeb] LT",nextDay:"[Nes\xebr n\xeb] LT",nextWeek:"dddd [n\xeb] LT",lastDay:"[Dje n\xeb] LT",lastWeek:"dddd [e kaluar n\xeb] LT",sameElse:"L"},relativeTime:{future:"n\xeb %s",past:"%s m\xeb par\xeb",s:"disa sekonda",ss:"%d sekonda",m:"nj\xeb minut\xeb",mm:"%d minuta",h:"nj\xeb or\xeb",hh:"%d or\xeb",d:"nj\xeb dit\xeb",dd:"%d dit\xeb",M:"nj\xeb muaj",MM:"%d muaj",y:"nj\xeb vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var sd={words:{ss:["\u0441\u0435\u043a\u0443\u043d\u0434\u0430","\u0441\u0435\u043a\u0443\u043d\u0434\u0435","\u0441\u0435\u043a\u0443\u043d\u0434\u0438"],m:["\u0458\u0435\u0434\u0430\u043d \u043c\u0438\u043d\u0443\u0442","\u0458\u0435\u0434\u043d\u0435 \u043c\u0438\u043d\u0443\u0442\u0435"],mm:["\u043c\u0438\u043d\u0443\u0442","\u043c\u0438\u043d\u0443\u0442\u0435","\u043c\u0438\u043d\u0443\u0442\u0430"],h:["\u0458\u0435\u0434\u0430\u043d \u0441\u0430\u0442","\u0458\u0435\u0434\u043d\u043e\u0433 \u0441\u0430\u0442\u0430"],hh:["\u0441\u0430\u0442","\u0441\u0430\u0442\u0430","\u0441\u0430\u0442\u0438"],dd:["\u0434\u0430\u043d","\u0434\u0430\u043d\u0430","\u0434\u0430\u043d\u0430"],MM:["\u043c\u0435\u0441\u0435\u0446","\u043c\u0435\u0441\u0435\u0446\u0430","\u043c\u0435\u0441\u0435\u0446\u0438"],yy:["\u0433\u043e\u0434\u0438\u043d\u0430","\u0433\u043e\u0434\u0438\u043d\u0435","\u0433\u043e\u0434\u0438\u043d\u0430"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=sd.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+sd.correctGrammaticalCase(e,s)}};l.defineLocale("sr-cyrl",{months:"\u0458\u0430\u043d\u0443\u0430\u0440_\u0444\u0435\u0431\u0440\u0443\u0430\u0440_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0438\u043b_\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043f\u0442\u0435\u043c\u0431\u0430\u0440_\u043e\u043a\u0442\u043e\u0431\u0430\u0440_\u043d\u043e\u0432\u0435\u043c\u0431\u0430\u0440_\u0434\u0435\u0446\u0435\u043c\u0431\u0430\u0440".split("_"),monthsShort:"\u0458\u0430\u043d._\u0444\u0435\u0431._\u043c\u0430\u0440._\u0430\u043f\u0440._\u043c\u0430\u0458_\u0458\u0443\u043d_\u0458\u0443\u043b_\u0430\u0432\u0433._\u0441\u0435\u043f._\u043e\u043a\u0442._\u043d\u043e\u0432._\u0434\u0435\u0446.".split("_"),monthsParseExact:!0,weekdays:"\u043d\u0435\u0434\u0435\u0459\u0430_\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u0430\u043a_\u0443\u0442\u043e\u0440\u0430\u043a_\u0441\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0440\u0442\u0430\u043a_\u043f\u0435\u0442\u0430\u043a_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),weekdaysShort:"\u043d\u0435\u0434._\u043f\u043e\u043d._\u0443\u0442\u043e._\u0441\u0440\u0435._\u0447\u0435\u0442._\u043f\u0435\u0442._\u0441\u0443\u0431.".split("_"),weekdaysMin:"\u043d\u0435_\u043f\u043e_\u0443\u0442_\u0441\u0440_\u0447\u0435_\u043f\u0435_\u0441\u0443".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[\u0434\u0430\u043d\u0430\u0441 \u0443] LT",nextDay:"[\u0441\u0443\u0442\u0440\u0430 \u0443] LT",nextWeek:function(){switch(this.day()){case 0:return"[\u0443] [\u043d\u0435\u0434\u0435\u0459\u0443] [\u0443] LT";case 3:return"[\u0443] [\u0441\u0440\u0435\u0434\u0443] [\u0443] LT";case 6:return"[\u0443] [\u0441\u0443\u0431\u043e\u0442\u0443] [\u0443] LT";case 1:case 2:case 4:case 5:return"[\u0443] dddd [\u0443] LT"}},lastDay:"[\u0458\u0443\u0447\u0435 \u0443] LT",lastWeek:function(){return["[\u043f\u0440\u043e\u0448\u043b\u0435] [\u043d\u0435\u0434\u0435\u0459\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u043e\u043d\u0435\u0434\u0435\u0459\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0443\u0442\u043e\u0440\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0440\u0435\u0434\u0435] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u0447\u0435\u0442\u0432\u0440\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u043e\u0433] [\u043f\u0435\u0442\u043a\u0430] [\u0443] LT","[\u043f\u0440\u043e\u0448\u043b\u0435] [\u0441\u0443\u0431\u043e\u0442\u0435] [\u0443] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"\u043f\u0440\u0435 %s",s:"\u043d\u0435\u043a\u043e\u043b\u0438\u043a\u043e \u0441\u0435\u043a\u0443\u043d\u0434\u0438",ss:sd.translate,m:sd.translate,mm:sd.translate,h:sd.translate,hh:sd.translate,d:"\u0434\u0430\u043d",dd:sd.translate,M:"\u043c\u0435\u0441\u0435\u0446",MM:sd.translate,y:"\u0433\u043e\u0434\u0438\u043d\u0443",yy:sd.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}});var nd={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,a){return 1===e?a[0]:2<=e&&e<=4?a[1]:a[2]},translate:function(e,a,t){var s=nd.words[t];return 1===t.length?a?s[0]:s[1]:e+" "+nd.correctGrammaticalCase(e,s)}};l.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_\u010detvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._\u010det._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_\u010de_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[ju\u010de u] LT",lastWeek:function(){return["[pro\u0161le] [nedelje] [u] LT","[pro\u0161log] [ponedeljka] [u] LT","[pro\u0161log] [utorka] [u] LT","[pro\u0161le] [srede] [u] LT","[pro\u0161log] [\u010detvrtka] [u] LT","[pro\u0161log] [petka] [u] LT","[pro\u0161le] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:nd.translate,m:nd.translate,mm:nd.translate,h:nd.translate,hh:nd.translate,d:"dan",dd:nd.translate,M:"mesec",MM:nd.translate,y:"godinu",yy:nd.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}),l.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,a,t){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,a){return 12===e&&(e=0),"ekuseni"===a?e:"emini"===a?11<=e?e:e+12:"entsambama"===a||"ebusuku"===a?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}),l.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"s\xf6ndag_m\xe5ndag_tisdag_onsdag_torsdag_fredag_l\xf6rdag".split("_"),weekdaysShort:"s\xf6n_m\xe5n_tis_ons_tor_fre_l\xf6r".split("_"),weekdaysMin:"s\xf6_m\xe5_ti_on_to_fr_l\xf6".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Ig\xe5r] LT",nextWeek:"[P\xe5] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"f\xf6r %s sedan",s:"n\xe5gra sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en m\xe5nad",MM:"%d m\xe5nader",y:"ett \xe5r",yy:"%d \xe5r"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"e":1===a?"a":2===a?"a":"e")},week:{dow:1,doy:4}}),l.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}});var dd={1:"\u0be7",2:"\u0be8",3:"\u0be9",4:"\u0bea",5:"\u0beb",6:"\u0bec",7:"\u0bed",8:"\u0bee",9:"\u0bef",0:"\u0be6"},rd={"\u0be7":"1","\u0be8":"2","\u0be9":"3","\u0bea":"4","\u0beb":"5","\u0bec":"6","\u0bed":"7","\u0bee":"8","\u0bef":"9","\u0be6":"0"};l.defineLocale("ta",{months:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),monthsShort:"\u0b9c\u0ba9\u0bb5\u0bb0\u0bbf_\u0baa\u0bbf\u0baa\u0bcd\u0bb0\u0bb5\u0bb0\u0bbf_\u0bae\u0bbe\u0bb0\u0bcd\u0b9a\u0bcd_\u0b8f\u0baa\u0bcd\u0bb0\u0bb2\u0bcd_\u0bae\u0bc7_\u0b9c\u0bc2\u0ba9\u0bcd_\u0b9c\u0bc2\u0bb2\u0bc8_\u0b86\u0b95\u0bb8\u0bcd\u0b9f\u0bcd_\u0b9a\u0bc6\u0baa\u0bcd\u0b9f\u0bc6\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b85\u0b95\u0bcd\u0b9f\u0bc7\u0bbe\u0baa\u0bb0\u0bcd_\u0ba8\u0bb5\u0bae\u0bcd\u0baa\u0bb0\u0bcd_\u0b9f\u0bbf\u0b9a\u0bae\u0bcd\u0baa\u0bb0\u0bcd".split("_"),weekdays:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bcd\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0b9f\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8_\u0b9a\u0ba9\u0bbf\u0b95\u0bcd\u0b95\u0bbf\u0bb4\u0bae\u0bc8".split("_"),weekdaysShort:"\u0b9e\u0bbe\u0baf\u0bbf\u0bb1\u0bc1_\u0ba4\u0bbf\u0b99\u0bcd\u0b95\u0bb3\u0bcd_\u0b9a\u0bc6\u0bb5\u0bcd\u0bb5\u0bbe\u0baf\u0bcd_\u0baa\u0bc1\u0ba4\u0ba9\u0bcd_\u0bb5\u0bbf\u0baf\u0bbe\u0bb4\u0ba9\u0bcd_\u0bb5\u0bc6\u0bb3\u0bcd\u0bb3\u0bbf_\u0b9a\u0ba9\u0bbf".split("_"),weekdaysMin:"\u0b9e\u0bbe_\u0ba4\u0bbf_\u0b9a\u0bc6_\u0baa\u0bc1_\u0bb5\u0bbf_\u0bb5\u0bc6_\u0b9a".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[\u0b87\u0ba9\u0bcd\u0bb1\u0bc1] LT",nextDay:"[\u0ba8\u0bbe\u0bb3\u0bc8] LT",nextWeek:"dddd, LT",lastDay:"[\u0ba8\u0bc7\u0bb1\u0bcd\u0bb1\u0bc1] LT",lastWeek:"[\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbe\u0bb0\u0bae\u0bcd] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0b87\u0bb2\u0bcd",past:"%s \u0bae\u0bc1\u0ba9\u0bcd",s:"\u0b92\u0bb0\u0bc1 \u0b9a\u0bbf\u0bb2 \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",ss:"%d \u0bb5\u0bbf\u0ba8\u0bbe\u0b9f\u0bbf\u0b95\u0bb3\u0bcd",m:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0bae\u0bcd",mm:"%d \u0ba8\u0bbf\u0bae\u0bbf\u0b9f\u0b99\u0bcd\u0b95\u0bb3\u0bcd",h:"\u0b92\u0bb0\u0bc1 \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",hh:"%d \u0bae\u0ba3\u0bbf \u0ba8\u0bc7\u0bb0\u0bae\u0bcd",d:"\u0b92\u0bb0\u0bc1 \u0ba8\u0bbe\u0bb3\u0bcd",dd:"%d \u0ba8\u0bbe\u0b9f\u0bcd\u0b95\u0bb3\u0bcd",M:"\u0b92\u0bb0\u0bc1 \u0bae\u0bbe\u0ba4\u0bae\u0bcd",MM:"%d \u0bae\u0bbe\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd",y:"\u0b92\u0bb0\u0bc1 \u0bb5\u0bb0\u0bc1\u0b9f\u0bae\u0bcd",yy:"%d \u0b86\u0ba3\u0bcd\u0b9f\u0bc1\u0b95\u0bb3\u0bcd"},dayOfMonthOrdinalParse:/\d{1,2}\u0bb5\u0ba4\u0bc1/,ordinal:function(e){return e+"\u0bb5\u0ba4\u0bc1"},preparse:function(e){return e.replace(/[\u0be7\u0be8\u0be9\u0bea\u0beb\u0bec\u0bed\u0bee\u0bef\u0be6]/g,function(e){return rd[e]})},postformat:function(e){return e.replace(/\d/g,function(e){return dd[e]})},meridiemParse:/\u0baf\u0bbe\u0bae\u0bae\u0bcd|\u0bb5\u0bc8\u0b95\u0bb1\u0bc8|\u0b95\u0bbe\u0bb2\u0bc8|\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd|\u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1|\u0bae\u0bbe\u0bb2\u0bc8/,meridiem:function(e,a,t){return e<2?" \u0baf\u0bbe\u0bae\u0bae\u0bcd":e<6?" \u0bb5\u0bc8\u0b95\u0bb1\u0bc8":e<10?" \u0b95\u0bbe\u0bb2\u0bc8":e<14?" \u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd":e<18?" \u0b8e\u0bb1\u0bcd\u0baa\u0bbe\u0b9f\u0bc1":e<22?" \u0bae\u0bbe\u0bb2\u0bc8":" \u0baf\u0bbe\u0bae\u0bae\u0bcd"},meridiemHour:function(e,a){return 12===e&&(e=0),"\u0baf\u0bbe\u0bae\u0bae\u0bcd"===a?e<2?e:e+12:"\u0bb5\u0bc8\u0b95\u0bb1\u0bc8"===a||"\u0b95\u0bbe\u0bb2\u0bc8"===a?e:"\u0ba8\u0ba3\u0bcd\u0baa\u0b95\u0bb2\u0bcd"===a&&10<=e?e:e+12},week:{dow:0,doy:6}}),l.defineLocale("te",{months:"\u0c1c\u0c28\u0c35\u0c30\u0c3f_\u0c2b\u0c3f\u0c2c\u0c4d\u0c30\u0c35\u0c30\u0c3f_\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f\u0c32\u0c4d_\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17\u0c38\u0c4d\u0c1f\u0c41_\u0c38\u0c46\u0c2a\u0c4d\u0c1f\u0c46\u0c02\u0c2c\u0c30\u0c4d_\u0c05\u0c15\u0c4d\u0c1f\u0c4b\u0c2c\u0c30\u0c4d_\u0c28\u0c35\u0c02\u0c2c\u0c30\u0c4d_\u0c21\u0c3f\u0c38\u0c46\u0c02\u0c2c\u0c30\u0c4d".split("_"),monthsShort:"\u0c1c\u0c28._\u0c2b\u0c3f\u0c2c\u0c4d\u0c30._\u0c2e\u0c3e\u0c30\u0c4d\u0c1a\u0c3f_\u0c0f\u0c2a\u0c4d\u0c30\u0c3f._\u0c2e\u0c47_\u0c1c\u0c42\u0c28\u0c4d_\u0c1c\u0c41\u0c32\u0c48_\u0c06\u0c17._\u0c38\u0c46\u0c2a\u0c4d._\u0c05\u0c15\u0c4d\u0c1f\u0c4b._\u0c28\u0c35._\u0c21\u0c3f\u0c38\u0c46.".split("_"),monthsParseExact:!0,weekdays:"\u0c06\u0c26\u0c3f\u0c35\u0c3e\u0c30\u0c02_\u0c38\u0c4b\u0c2e\u0c35\u0c3e\u0c30\u0c02_\u0c2e\u0c02\u0c17\u0c33\u0c35\u0c3e\u0c30\u0c02_\u0c2c\u0c41\u0c27\u0c35\u0c3e\u0c30\u0c02_\u0c17\u0c41\u0c30\u0c41\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c41\u0c15\u0c4d\u0c30\u0c35\u0c3e\u0c30\u0c02_\u0c36\u0c28\u0c3f\u0c35\u0c3e\u0c30\u0c02".split("_"),weekdaysShort:"\u0c06\u0c26\u0c3f_\u0c38\u0c4b\u0c2e_\u0c2e\u0c02\u0c17\u0c33_\u0c2c\u0c41\u0c27_\u0c17\u0c41\u0c30\u0c41_\u0c36\u0c41\u0c15\u0c4d\u0c30_\u0c36\u0c28\u0c3f".split("_"),weekdaysMin:"\u0c06_\u0c38\u0c4b_\u0c2e\u0c02_\u0c2c\u0c41_\u0c17\u0c41_\u0c36\u0c41_\u0c36".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[\u0c28\u0c47\u0c21\u0c41] LT",nextDay:"[\u0c30\u0c47\u0c2a\u0c41] LT",nextWeek:"dddd, LT",lastDay:"[\u0c28\u0c3f\u0c28\u0c4d\u0c28] LT",lastWeek:"[\u0c17\u0c24] dddd, LT",sameElse:"L"},relativeTime:{future:"%s \u0c32\u0c4b",past:"%s \u0c15\u0c4d\u0c30\u0c3f\u0c24\u0c02",s:"\u0c15\u0c4a\u0c28\u0c4d\u0c28\u0c3f \u0c15\u0c4d\u0c37\u0c23\u0c3e\u0c32\u0c41",ss:"%d \u0c38\u0c46\u0c15\u0c28\u0c4d\u0c32\u0c41",m:"\u0c12\u0c15 \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c02",mm:"%d \u0c28\u0c3f\u0c2e\u0c3f\u0c37\u0c3e\u0c32\u0c41",h:"\u0c12\u0c15 \u0c17\u0c02\u0c1f",hh:"%d \u0c17\u0c02\u0c1f\u0c32\u0c41",d:"\u0c12\u0c15 \u0c30\u0c4b\u0c1c\u0c41",dd:"%d \u0c30\u0c4b\u0c1c\u0c41\u0c32\u0c41",M:"\u0c12\u0c15 \u0c28\u0c46\u0c32",MM:"%d \u0c28\u0c46\u0c32\u0c32\u0c41",y:"\u0c12\u0c15 \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c02",yy:"%d \u0c38\u0c02\u0c35\u0c24\u0c4d\u0c38\u0c30\u0c3e\u0c32\u0c41"},dayOfMonthOrdinalParse:/\d{1,2}\u0c35/,ordinal:"%d\u0c35",meridiemParse:/\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f|\u0c09\u0c26\u0c2f\u0c02|\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02|\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"===a?e<4?e:e+12:"\u0c09\u0c26\u0c2f\u0c02"===a?e:"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02"===a?10<=e?e:e+12:"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f":e<10?"\u0c09\u0c26\u0c2f\u0c02":e<17?"\u0c2e\u0c27\u0c4d\u0c2f\u0c3e\u0c39\u0c4d\u0c28\u0c02":e<20?"\u0c38\u0c3e\u0c2f\u0c02\u0c24\u0c4d\u0c30\u0c02":"\u0c30\u0c3e\u0c24\u0c4d\u0c30\u0c3f"},week:{dow:0,doy:6}}),l.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Ju\xf1u_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}});var _d={0:"-\u0443\u043c",1:"-\u0443\u043c",2:"-\u044e\u043c",3:"-\u044e\u043c",4:"-\u0443\u043c",5:"-\u0443\u043c",6:"-\u0443\u043c",7:"-\u0443\u043c",8:"-\u0443\u043c",9:"-\u0443\u043c",10:"-\u0443\u043c",12:"-\u0443\u043c",13:"-\u0443\u043c",20:"-\u0443\u043c",30:"-\u044e\u043c",40:"-\u0443\u043c",50:"-\u0443\u043c",60:"-\u0443\u043c",70:"-\u0443\u043c",80:"-\u0443\u043c",90:"-\u0443\u043c",100:"-\u0443\u043c"};l.defineLocale("tg",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u044f\u043a\u0448\u0430\u043d\u0431\u0435_\u0434\u0443\u0448\u0430\u043d\u0431\u0435_\u0441\u0435\u0448\u0430\u043d\u0431\u0435_\u0447\u043e\u0440\u0448\u0430\u043d\u0431\u0435_\u043f\u0430\u043d\u04b7\u0448\u0430\u043d\u0431\u0435_\u04b7\u0443\u043c\u044a\u0430_\u0448\u0430\u043d\u0431\u0435".split("_"),weekdaysShort:"\u044f\u0448\u0431_\u0434\u0448\u0431_\u0441\u0448\u0431_\u0447\u0448\u0431_\u043f\u0448\u0431_\u04b7\u0443\u043c_\u0448\u043d\u0431".split("_"),weekdaysMin:"\u044f\u0448_\u0434\u0448_\u0441\u0448_\u0447\u0448_\u043f\u0448_\u04b7\u043c_\u0448\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u0418\u043c\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextDay:"[\u041f\u0430\u0433\u043e\u04b3 \u0441\u043e\u0430\u0442\u0438] LT",lastDay:"[\u0414\u0438\u0440\u04ef\u0437 \u0441\u043e\u0430\u0442\u0438] LT",nextWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u043e\u044f\u043d\u0434\u0430 \u0441\u043e\u0430\u0442\u0438] LT",lastWeek:"dddd[\u0438] [\u04b3\u0430\u0444\u0442\u0430\u0438 \u0433\u0443\u0437\u0430\u0448\u0442\u0430 \u0441\u043e\u0430\u0442\u0438] LT",sameElse:"L"},relativeTime:{future:"\u0431\u0430\u044a\u0434\u0438 %s",past:"%s \u043f\u0435\u0448",s:"\u044f\u043a\u0447\u0430\u043d\u0434 \u0441\u043e\u043d\u0438\u044f",m:"\u044f\u043a \u0434\u0430\u049b\u0438\u049b\u0430",mm:"%d \u0434\u0430\u049b\u0438\u049b\u0430",h:"\u044f\u043a \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u044f\u043a \u0440\u04ef\u0437",dd:"%d \u0440\u04ef\u0437",M:"\u044f\u043a \u043c\u043e\u04b3",MM:"%d \u043c\u043e\u04b3",y:"\u044f\u043a \u0441\u043e\u043b",yy:"%d \u0441\u043e\u043b"},meridiemParse:/\u0448\u0430\u0431|\u0441\u0443\u0431\u04b3|\u0440\u04ef\u0437|\u0431\u0435\u0433\u043e\u04b3/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u0448\u0430\u0431"===a?e<4?e:e+12:"\u0441\u0443\u0431\u04b3"===a?e:"\u0440\u04ef\u0437"===a?11<=e?e:e+12:"\u0431\u0435\u0433\u043e\u04b3"===a?e+12:void 0},meridiem:function(e,a,t){return e<4?"\u0448\u0430\u0431":e<11?"\u0441\u0443\u0431\u04b3":e<16?"\u0440\u04ef\u0437":e<19?"\u0431\u0435\u0433\u043e\u04b3":"\u0448\u0430\u0431"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0443\u043c|\u044e\u043c)/,ordinal:function(e){return e+(_d[e]||_d[e%10]||_d[100<=e?100:null])},week:{dow:1,doy:7}}),l.defineLocale("th",{months:"\u0e21\u0e01\u0e23\u0e32\u0e04\u0e21_\u0e01\u0e38\u0e21\u0e20\u0e32\u0e1e\u0e31\u0e19\u0e18\u0e4c_\u0e21\u0e35\u0e19\u0e32\u0e04\u0e21_\u0e40\u0e21\u0e29\u0e32\u0e22\u0e19_\u0e1e\u0e24\u0e29\u0e20\u0e32\u0e04\u0e21_\u0e21\u0e34\u0e16\u0e38\u0e19\u0e32\u0e22\u0e19_\u0e01\u0e23\u0e01\u0e0e\u0e32\u0e04\u0e21_\u0e2a\u0e34\u0e07\u0e2b\u0e32\u0e04\u0e21_\u0e01\u0e31\u0e19\u0e22\u0e32\u0e22\u0e19_\u0e15\u0e38\u0e25\u0e32\u0e04\u0e21_\u0e1e\u0e24\u0e28\u0e08\u0e34\u0e01\u0e32\u0e22\u0e19_\u0e18\u0e31\u0e19\u0e27\u0e32\u0e04\u0e21".split("_"),monthsShort:"\u0e21.\u0e04._\u0e01.\u0e1e._\u0e21\u0e35.\u0e04._\u0e40\u0e21.\u0e22._\u0e1e.\u0e04._\u0e21\u0e34.\u0e22._\u0e01.\u0e04._\u0e2a.\u0e04._\u0e01.\u0e22._\u0e15.\u0e04._\u0e1e.\u0e22._\u0e18.\u0e04.".split("_"),monthsParseExact:!0,weekdays:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a\u0e1a\u0e14\u0e35_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysShort:"\u0e2d\u0e32\u0e17\u0e34\u0e15\u0e22\u0e4c_\u0e08\u0e31\u0e19\u0e17\u0e23\u0e4c_\u0e2d\u0e31\u0e07\u0e04\u0e32\u0e23_\u0e1e\u0e38\u0e18_\u0e1e\u0e24\u0e2b\u0e31\u0e2a_\u0e28\u0e38\u0e01\u0e23\u0e4c_\u0e40\u0e2a\u0e32\u0e23\u0e4c".split("_"),weekdaysMin:"\u0e2d\u0e32._\u0e08._\u0e2d._\u0e1e._\u0e1e\u0e24._\u0e28._\u0e2a.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm",LLLL:"\u0e27\u0e31\u0e19dddd\u0e17\u0e35\u0e48 D MMMM YYYY \u0e40\u0e27\u0e25\u0e32 H:mm"},meridiemParse:/\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07|\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07/,isPM:function(e){return"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"===e},meridiem:function(e,a,t){return e<12?"\u0e01\u0e48\u0e2d\u0e19\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07":"\u0e2b\u0e25\u0e31\u0e07\u0e40\u0e17\u0e35\u0e48\u0e22\u0e07"},calendar:{sameDay:"[\u0e27\u0e31\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextDay:"[\u0e1e\u0e23\u0e38\u0e48\u0e07\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",nextWeek:"dddd[\u0e2b\u0e19\u0e49\u0e32 \u0e40\u0e27\u0e25\u0e32] LT",lastDay:"[\u0e40\u0e21\u0e37\u0e48\u0e2d\u0e27\u0e32\u0e19\u0e19\u0e35\u0e49 \u0e40\u0e27\u0e25\u0e32] LT",lastWeek:"[\u0e27\u0e31\u0e19]dddd[\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27 \u0e40\u0e27\u0e25\u0e32] LT",sameElse:"L"},relativeTime:{future:"\u0e2d\u0e35\u0e01 %s",past:"%s\u0e17\u0e35\u0e48\u0e41\u0e25\u0e49\u0e27",s:"\u0e44\u0e21\u0e48\u0e01\u0e35\u0e48\u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",ss:"%d \u0e27\u0e34\u0e19\u0e32\u0e17\u0e35",m:"1 \u0e19\u0e32\u0e17\u0e35",mm:"%d \u0e19\u0e32\u0e17\u0e35",h:"1 \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",hh:"%d \u0e0a\u0e31\u0e48\u0e27\u0e42\u0e21\u0e07",d:"1 \u0e27\u0e31\u0e19",dd:"%d \u0e27\u0e31\u0e19",M:"1 \u0e40\u0e14\u0e37\u0e2d\u0e19",MM:"%d \u0e40\u0e14\u0e37\u0e2d\u0e19",y:"1 \u0e1b\u0e35",yy:"%d \u0e1b\u0e35"}}),l.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}});var id="pagh_wa\u2019_cha\u2019_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function od(e,a,t,s){var n=function(e){var a=Math.floor(e%1e3/100),t=Math.floor(e%100/10),s=e%10,n="";0<a&&(n+=id[a]+"vatlh");0<t&&(n+=(""!==n?" ":"")+id[t]+"maH");0<s&&(n+=(""!==n?" ":"")+id[s]);return""===n?"pagh":n}(e);switch(t){case"ss":return n+" lup";case"mm":return n+" tup";case"hh":return n+" rep";case"dd":return n+" jaj";case"MM":return n+" jar";case"yy":return n+" DIS"}}l.defineLocale("tlh",{months:"tera\u2019 jar wa\u2019_tera\u2019 jar cha\u2019_tera\u2019 jar wej_tera\u2019 jar loS_tera\u2019 jar vagh_tera\u2019 jar jav_tera\u2019 jar Soch_tera\u2019 jar chorgh_tera\u2019 jar Hut_tera\u2019 jar wa\u2019maH_tera\u2019 jar wa\u2019maH wa\u2019_tera\u2019 jar wa\u2019maH cha\u2019".split("_"),monthsShort:"jar wa\u2019_jar cha\u2019_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa\u2019maH_jar wa\u2019maH wa\u2019_jar wa\u2019maH cha\u2019".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa\u2019leS] LT",nextWeek:"LLL",lastDay:"[wa\u2019Hu\u2019] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"leS":-1!==e.indexOf("jar")?a.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?a.slice(0,-3)+"nem":a+" pIq"},past:function(e){var a=e;return a=-1!==e.indexOf("jaj")?a.slice(0,-3)+"Hu\u2019":-1!==e.indexOf("jar")?a.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?a.slice(0,-3)+"ben":a+" ret"},s:"puS lup",ss:od,m:"wa\u2019 tup",mm:od,h:"wa\u2019 rep",hh:od,d:"wa\u2019 jaj",dd:od,M:"wa\u2019 jar",MM:od,y:"wa\u2019 DIS",yy:od},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var md={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'\xfcnc\xfc",4:"'\xfcnc\xfc",100:"'\xfcnc\xfc",6:"'nc\u0131",9:"'uncu",10:"'uncu",30:"'uncu",60:"'\u0131nc\u0131",90:"'\u0131nc\u0131"};function ud(e,a,t,s){var n={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n m\xedut","'iens m\xedut"],mm:[e+" m\xeduts",e+" m\xeduts"],h:["'n \xfeora","'iensa \xfeora"],hh:[e+" \xfeoras",e+" \xfeoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return s?n[t][0]:a?n[t][0]:n[t][1]}function ld(e,a,t){var s,n;return"m"===t?a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443":"h"===t?a?"\u0433\u043e\u0434\u0438\u043d\u0430":"\u0433\u043e\u0434\u0438\u043d\u0443":e+" "+(s=+e,n={ss:a?"\u0441\u0435\u043a\u0443\u043d\u0434\u0430_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434":"\u0441\u0435\u043a\u0443\u043d\u0434\u0443_\u0441\u0435\u043a\u0443\u043d\u0434\u0438_\u0441\u0435\u043a\u0443\u043d\u0434",mm:a?"\u0445\u0432\u0438\u043b\u0438\u043d\u0430_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d":"\u0445\u0432\u0438\u043b\u0438\u043d\u0443_\u0445\u0432\u0438\u043b\u0438\u043d\u0438_\u0445\u0432\u0438\u043b\u0438\u043d",hh:a?"\u0433\u043e\u0434\u0438\u043d\u0430_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d":"\u0433\u043e\u0434\u0438\u043d\u0443_\u0433\u043e\u0434\u0438\u043d\u0438_\u0433\u043e\u0434\u0438\u043d",dd:"\u0434\u0435\u043d\u044c_\u0434\u043d\u0456_\u0434\u043d\u0456\u0432",MM:"\u043c\u0456\u0441\u044f\u0446\u044c_\u043c\u0456\u0441\u044f\u0446\u0456_\u043c\u0456\u0441\u044f\u0446\u0456\u0432",yy:"\u0440\u0456\u043a_\u0440\u043e\u043a\u0438_\u0440\u043e\u043a\u0456\u0432"}[t].split("_"),s%10==1&&s%100!=11?n[0]:2<=s%10&&s%10<=4&&(s%100<10||20<=s%100)?n[1]:n[2])}function Md(e){return function(){return e+"\u043e"+(11===this.hours()?"\u0431":"")+"] LT"}}l.defineLocale("tr",{months:"Ocak_\u015eubat_Mart_Nisan_May\u0131s_Haziran_Temmuz_A\u011fustos_Eyl\xfcl_Ekim_Kas\u0131m_Aral\u0131k".split("_"),monthsShort:"Oca_\u015eub_Mar_Nis_May_Haz_Tem_A\u011fu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Sal\u0131_\xc7ar\u015famba_Per\u015fembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_\xc7ar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_\xc7a_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bug\xfcn saat] LT",nextDay:"[yar\u0131n saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[d\xfcn] LT",lastWeek:"[ge\xe7en] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s \xf6nce",s:"birka\xe7 saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir g\xfcn",dd:"%d g\xfcn",M:"bir ay",MM:"%d ay",y:"bir y\u0131l",yy:"%d y\u0131l"},ordinal:function(e,a){switch(a){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'\u0131nc\u0131";var t=e%10;return e+(md[t]||md[e%100-t]||md[100<=e?100:null])}},week:{dow:1,doy:7}}),l.defineLocale("tzl",{months:"Januar_Fevraglh_Mar\xe7_Avr\xefu_Mai_G\xfcn_Julia_Guscht_Setemvar_Listop\xe4ts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_G\xfcn_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"S\xfaladi_L\xfane\xe7i_Maitzi_M\xe1rcuri_Xh\xfaadi_Vi\xe9ner\xe7i_S\xe1turi".split("_"),weekdaysShort:"S\xfal_L\xfan_Mai_M\xe1r_Xh\xfa_Vi\xe9_S\xe1t".split("_"),weekdaysMin:"S\xfa_L\xfa_Ma_M\xe1_Xh_Vi_S\xe1".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,a,t){return 11<e?t?"d'o":"D'O":t?"d'a":"D'A"},calendar:{sameDay:"[oxhi \xe0] LT",nextDay:"[dem\xe0 \xe0] LT",nextWeek:"dddd [\xe0] LT",lastDay:"[ieiri \xe0] LT",lastWeek:"[s\xfcr el] dddd [lasteu \xe0] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:ud,ss:ud,m:ud,mm:ud,h:ud,hh:ud,d:ud,dd:ud,M:ud,MM:ud,y:ud,yy:ud},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),l.defineLocale("tzm-latn",{months:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_br\u02e4ayr\u02e4_mar\u02e4s\u02e4_ibrir_mayyw_ywnyw_ywlywz_\u0263w\u0161t_\u0161wtanbir_kt\u02e4wbr\u02e4_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asi\u1e0dyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minu\u1e0d",mm:"%d minu\u1e0d",h:"sa\u025ba",hh:"%d tassa\u025bin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}),l.defineLocale("tzm",{months:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),monthsShort:"\u2d49\u2d4f\u2d4f\u2d30\u2d62\u2d54_\u2d31\u2d55\u2d30\u2d62\u2d55_\u2d4e\u2d30\u2d55\u2d5a_\u2d49\u2d31\u2d54\u2d49\u2d54_\u2d4e\u2d30\u2d62\u2d62\u2d53_\u2d62\u2d53\u2d4f\u2d62\u2d53_\u2d62\u2d53\u2d4d\u2d62\u2d53\u2d63_\u2d56\u2d53\u2d5b\u2d5c_\u2d5b\u2d53\u2d5c\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d3d\u2d5f\u2d53\u2d31\u2d55_\u2d4f\u2d53\u2d61\u2d30\u2d4f\u2d31\u2d49\u2d54_\u2d37\u2d53\u2d4a\u2d4f\u2d31\u2d49\u2d54".split("_"),weekdays:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysShort:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),weekdaysMin:"\u2d30\u2d59\u2d30\u2d4e\u2d30\u2d59_\u2d30\u2d62\u2d4f\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4f\u2d30\u2d59_\u2d30\u2d3d\u2d54\u2d30\u2d59_\u2d30\u2d3d\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d4e\u2d61\u2d30\u2d59_\u2d30\u2d59\u2d49\u2d39\u2d62\u2d30\u2d59".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[\u2d30\u2d59\u2d37\u2d45 \u2d34] LT",nextDay:"[\u2d30\u2d59\u2d3d\u2d30 \u2d34] LT",nextWeek:"dddd [\u2d34] LT",lastDay:"[\u2d30\u2d5a\u2d30\u2d4f\u2d5c \u2d34] LT",lastWeek:"dddd [\u2d34] LT",sameElse:"L"},relativeTime:{future:"\u2d37\u2d30\u2d37\u2d45 \u2d59 \u2d62\u2d30\u2d4f %s",past:"\u2d62\u2d30\u2d4f %s",s:"\u2d49\u2d4e\u2d49\u2d3d",ss:"%d \u2d49\u2d4e\u2d49\u2d3d",m:"\u2d4e\u2d49\u2d4f\u2d53\u2d3a",mm:"%d \u2d4e\u2d49\u2d4f\u2d53\u2d3a",h:"\u2d59\u2d30\u2d44\u2d30",hh:"%d \u2d5c\u2d30\u2d59\u2d59\u2d30\u2d44\u2d49\u2d4f",d:"\u2d30\u2d59\u2d59",dd:"%d o\u2d59\u2d59\u2d30\u2d4f",M:"\u2d30\u2d62o\u2d53\u2d54",MM:"%d \u2d49\u2d62\u2d62\u2d49\u2d54\u2d4f",y:"\u2d30\u2d59\u2d33\u2d30\u2d59",yy:"%d \u2d49\u2d59\u2d33\u2d30\u2d59\u2d4f"},week:{dow:6,doy:12}}),l.defineLocale("ug-cn",{months:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),monthsShort:"\u064a\u0627\u0646\u06cb\u0627\u0631_\u0641\u06d0\u06cb\u0631\u0627\u0644_\u0645\u0627\u0631\u062a_\u0626\u0627\u067e\u0631\u06d0\u0644_\u0645\u0627\u064a_\u0626\u0649\u064a\u06c7\u0646_\u0626\u0649\u064a\u06c7\u0644_\u0626\u0627\u06cb\u063a\u06c7\u0633\u062a_\u0633\u06d0\u0646\u062a\u06d5\u0628\u0649\u0631_\u0626\u06c6\u0643\u062a\u06d5\u0628\u0649\u0631_\u0646\u0648\u064a\u0627\u0628\u0649\u0631_\u062f\u06d0\u0643\u0627\u0628\u0649\u0631".split("_"),weekdays:"\u064a\u06d5\u0643\u0634\u06d5\u0646\u0628\u06d5_\u062f\u06c8\u0634\u06d5\u0646\u0628\u06d5_\u0633\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u0686\u0627\u0631\u0634\u06d5\u0646\u0628\u06d5_\u067e\u06d5\u064a\u0634\u06d5\u0646\u0628\u06d5_\u062c\u06c8\u0645\u06d5_\u0634\u06d5\u0646\u0628\u06d5".split("_"),weekdaysShort:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),weekdaysMin:"\u064a\u06d5_\u062f\u06c8_\u0633\u06d5_\u0686\u0627_\u067e\u06d5_\u062c\u06c8_\u0634\u06d5".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649",LLL:"YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm",LLLL:"dddd\u060c YYYY-\u064a\u0649\u0644\u0649M-\u0626\u0627\u064a\u0646\u0649\u06adD-\u0643\u06c8\u0646\u0649\u060c HH:mm"},meridiemParse:/\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5|\u0633\u06d5\u06be\u06d5\u0631|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646|\u0686\u06c8\u0634|\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646|\u0643\u06d5\u0686/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5"===a||"\u0633\u06d5\u06be\u06d5\u0631"===a||"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646"===a?e:"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646"===a||"\u0643\u06d5\u0686"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u064a\u06d0\u0631\u0649\u0645 \u0643\u06d0\u0686\u06d5":s<900?"\u0633\u06d5\u06be\u06d5\u0631":s<1130?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0628\u06c7\u0631\u06c7\u0646":s<1230?"\u0686\u06c8\u0634":s<1800?"\u0686\u06c8\u0634\u062a\u0649\u0646 \u0643\u06d0\u064a\u0649\u0646":"\u0643\u06d5\u0686"},calendar:{sameDay:"[\u0628\u06c8\u06af\u06c8\u0646 \u0633\u0627\u0626\u06d5\u062a] LT",nextDay:"[\u0626\u06d5\u062a\u06d5 \u0633\u0627\u0626\u06d5\u062a] LT",nextWeek:"[\u0643\u06d0\u0644\u06d5\u0631\u0643\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",lastDay:"[\u062a\u06c6\u0646\u06c8\u06af\u06c8\u0646] LT",lastWeek:"[\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649] dddd [\u0633\u0627\u0626\u06d5\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0643\u06d0\u064a\u0649\u0646",past:"%s \u0628\u06c7\u0631\u06c7\u0646",s:"\u0646\u06d5\u0686\u0686\u06d5 \u0633\u06d0\u0643\u0648\u0646\u062a",ss:"%d \u0633\u06d0\u0643\u0648\u0646\u062a",m:"\u0628\u0649\u0631 \u0645\u0649\u0646\u06c7\u062a",mm:"%d \u0645\u0649\u0646\u06c7\u062a",h:"\u0628\u0649\u0631 \u0633\u0627\u0626\u06d5\u062a",hh:"%d \u0633\u0627\u0626\u06d5\u062a",d:"\u0628\u0649\u0631 \u0643\u06c8\u0646",dd:"%d \u0643\u06c8\u0646",M:"\u0628\u0649\u0631 \u0626\u0627\u064a",MM:"%d \u0626\u0627\u064a",y:"\u0628\u0649\u0631 \u064a\u0649\u0644",yy:"%d \u064a\u0649\u0644"},dayOfMonthOrdinalParse:/\d{1,2}(-\u0643\u06c8\u0646\u0649|-\u0626\u0627\u064a|-\u06be\u06d5\u067e\u062a\u06d5)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"-\u0643\u06c8\u0646\u0649";case"w":case"W":return e+"-\u06be\u06d5\u067e\u062a\u06d5";default:return e}},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:7}}),l.defineLocale("uk",{months:{format:"\u0441\u0456\u0447\u043d\u044f_\u043b\u044e\u0442\u043e\u0433\u043e_\u0431\u0435\u0440\u0435\u0437\u043d\u044f_\u043a\u0432\u0456\u0442\u043d\u044f_\u0442\u0440\u0430\u0432\u043d\u044f_\u0447\u0435\u0440\u0432\u043d\u044f_\u043b\u0438\u043f\u043d\u044f_\u0441\u0435\u0440\u043f\u043d\u044f_\u0432\u0435\u0440\u0435\u0441\u043d\u044f_\u0436\u043e\u0432\u0442\u043d\u044f_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434\u0430_\u0433\u0440\u0443\u0434\u043d\u044f".split("_"),standalone:"\u0441\u0456\u0447\u0435\u043d\u044c_\u043b\u044e\u0442\u0438\u0439_\u0431\u0435\u0440\u0435\u0437\u0435\u043d\u044c_\u043a\u0432\u0456\u0442\u0435\u043d\u044c_\u0442\u0440\u0430\u0432\u0435\u043d\u044c_\u0447\u0435\u0440\u0432\u0435\u043d\u044c_\u043b\u0438\u043f\u0435\u043d\u044c_\u0441\u0435\u0440\u043f\u0435\u043d\u044c_\u0432\u0435\u0440\u0435\u0441\u0435\u043d\u044c_\u0436\u043e\u0432\u0442\u0435\u043d\u044c_\u043b\u0438\u0441\u0442\u043e\u043f\u0430\u0434_\u0433\u0440\u0443\u0434\u0435\u043d\u044c".split("_")},monthsShort:"\u0441\u0456\u0447_\u043b\u044e\u0442_\u0431\u0435\u0440_\u043a\u0432\u0456\u0442_\u0442\u0440\u0430\u0432_\u0447\u0435\u0440\u0432_\u043b\u0438\u043f_\u0441\u0435\u0440\u043f_\u0432\u0435\u0440_\u0436\u043e\u0432\u0442_\u043b\u0438\u0441\u0442_\u0433\u0440\u0443\u0434".split("_"),weekdays:function(e,a){var t={nominative:"\u043d\u0435\u0434\u0456\u043b\u044f_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0430_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044f_\u0441\u0443\u0431\u043e\u0442\u0430".split("_"),accusative:"\u043d\u0435\u0434\u0456\u043b\u044e_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043e\u043a_\u0432\u0456\u0432\u0442\u043e\u0440\u043e\u043a_\u0441\u0435\u0440\u0435\u0434\u0443_\u0447\u0435\u0442\u0432\u0435\u0440_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u044e_\u0441\u0443\u0431\u043e\u0442\u0443".split("_"),genitive:"\u043d\u0435\u0434\u0456\u043b\u0456_\u043f\u043e\u043d\u0435\u0434\u0456\u043b\u043a\u0430_\u0432\u0456\u0432\u0442\u043e\u0440\u043a\u0430_\u0441\u0435\u0440\u0435\u0434\u0438_\u0447\u0435\u0442\u0432\u0435\u0440\u0433\u0430_\u043f\u2019\u044f\u0442\u043d\u0438\u0446\u0456_\u0441\u0443\u0431\u043e\u0442\u0438".split("_")};return!0===e?t.nominative.slice(1,7).concat(t.nominative.slice(0,1)):e?t[/(\[[\u0412\u0432\u0423\u0443]\]) ?dddd/.test(a)?"accusative":/\[?(?:\u043c\u0438\u043d\u0443\u043b\u043e\u0457|\u043d\u0430\u0441\u0442\u0443\u043f\u043d\u043e\u0457)? ?\] ?dddd/.test(a)?"genitive":"nominative"][e.day()]:t.nominative},weekdaysShort:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),weekdaysMin:"\u043d\u0434_\u043f\u043d_\u0432\u0442_\u0441\u0440_\u0447\u0442_\u043f\u0442_\u0441\u0431".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY \u0440.",LLL:"D MMMM YYYY \u0440., HH:mm",LLLL:"dddd, D MMMM YYYY \u0440., HH:mm"},calendar:{sameDay:Md("[\u0421\u044c\u043e\u0433\u043e\u0434\u043d\u0456 "),nextDay:Md("[\u0417\u0430\u0432\u0442\u0440\u0430 "),lastDay:Md("[\u0412\u0447\u043e\u0440\u0430 "),nextWeek:Md("[\u0423] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return Md("[\u041c\u0438\u043d\u0443\u043b\u043e\u0457] dddd [").call(this);case 1:case 2:case 4:return Md("[\u041c\u0438\u043d\u0443\u043b\u043e\u0433\u043e] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"\u0437\u0430 %s",past:"%s \u0442\u043e\u043c\u0443",s:"\u0434\u0435\u043a\u0456\u043b\u044c\u043a\u0430 \u0441\u0435\u043a\u0443\u043d\u0434",ss:ld,m:ld,mm:ld,h:"\u0433\u043e\u0434\u0438\u043d\u0443",hh:ld,d:"\u0434\u0435\u043d\u044c",dd:ld,M:"\u043c\u0456\u0441\u044f\u0446\u044c",MM:ld,y:"\u0440\u0456\u043a",yy:ld},meridiemParse:/\u043d\u043e\u0447\u0456|\u0440\u0430\u043d\u043a\u0443|\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430/,isPM:function(e){return/^(\u0434\u043d\u044f|\u0432\u0435\u0447\u043e\u0440\u0430)$/.test(e)},meridiem:function(e,a,t){return e<4?"\u043d\u043e\u0447\u0456":e<12?"\u0440\u0430\u043d\u043a\u0443":e<17?"\u0434\u043d\u044f":"\u0432\u0435\u0447\u043e\u0440\u0430"},dayOfMonthOrdinalParse:/\d{1,2}-(\u0439|\u0433\u043e)/,ordinal:function(e,a){switch(a){case"M":case"d":case"DDD":case"w":case"W":return e+"-\u0439";case"D":return e+"-\u0433\u043e";default:return e}},week:{dow:1,doy:7}});var hd=["\u062c\u0646\u0648\u0631\u06cc","\u0641\u0631\u0648\u0631\u06cc","\u0645\u0627\u0631\u0686","\u0627\u067e\u0631\u06cc\u0644","\u0645\u0626\u06cc","\u062c\u0648\u0646","\u062c\u0648\u0644\u0627\u0626\u06cc","\u0627\u06af\u0633\u062a","\u0633\u062a\u0645\u0628\u0631","\u0627\u06a9\u062a\u0648\u0628\u0631","\u0646\u0648\u0645\u0628\u0631","\u062f\u0633\u0645\u0628\u0631"],Ld=["\u0627\u062a\u0648\u0627\u0631","\u067e\u06cc\u0631","\u0645\u0646\u06af\u0644","\u0628\u062f\u06be","\u062c\u0645\u0639\u0631\u0627\u062a","\u062c\u0645\u0639\u06c1","\u06c1\u0641\u062a\u06c1"];return l.defineLocale("ur",{months:hd,monthsShort:hd,weekdays:Ld,weekdaysShort:Ld,weekdaysMin:Ld,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd\u060c D MMMM YYYY HH:mm"},meridiemParse:/\u0635\u0628\u062d|\u0634\u0627\u0645/,isPM:function(e){return"\u0634\u0627\u0645"===e},meridiem:function(e,a,t){return e<12?"\u0635\u0628\u062d":"\u0634\u0627\u0645"},calendar:{sameDay:"[\u0622\u062c \u0628\u0648\u0642\u062a] LT",nextDay:"[\u06a9\u0644 \u0628\u0648\u0642\u062a] LT",nextWeek:"dddd [\u0628\u0648\u0642\u062a] LT",lastDay:"[\u06af\u0630\u0634\u062a\u06c1 \u0631\u0648\u0632 \u0628\u0648\u0642\u062a] LT",lastWeek:"[\u06af\u0630\u0634\u062a\u06c1] dddd [\u0628\u0648\u0642\u062a] LT",sameElse:"L"},relativeTime:{future:"%s \u0628\u0639\u062f",past:"%s \u0642\u0628\u0644",s:"\u0686\u0646\u062f \u0633\u06cc\u06a9\u0646\u0688",ss:"%d \u0633\u06cc\u06a9\u0646\u0688",m:"\u0627\u06cc\u06a9 \u0645\u0646\u0679",mm:"%d \u0645\u0646\u0679",h:"\u0627\u06cc\u06a9 \u06af\u06be\u0646\u0679\u06c1",hh:"%d \u06af\u06be\u0646\u0679\u06d2",d:"\u0627\u06cc\u06a9 \u062f\u0646",dd:"%d \u062f\u0646",M:"\u0627\u06cc\u06a9 \u0645\u0627\u06c1",MM:"%d \u0645\u0627\u06c1",y:"\u0627\u06cc\u06a9 \u0633\u0627\u0644",yy:"%d \u0633\u0627\u0644"},preparse:function(e){return e.replace(/\u060c/g,",")},postformat:function(e){return e.replace(/,/g,"\u060c")},week:{dow:1,doy:4}}),l.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}),l.defineLocale("uz",{months:"\u044f\u043d\u0432\u0430\u0440_\u0444\u0435\u0432\u0440\u0430\u043b_\u043c\u0430\u0440\u0442_\u0430\u043f\u0440\u0435\u043b_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433\u0443\u0441\u0442_\u0441\u0435\u043d\u0442\u044f\u0431\u0440_\u043e\u043a\u0442\u044f\u0431\u0440_\u043d\u043e\u044f\u0431\u0440_\u0434\u0435\u043a\u0430\u0431\u0440".split("_"),monthsShort:"\u044f\u043d\u0432_\u0444\u0435\u0432_\u043c\u0430\u0440_\u0430\u043f\u0440_\u043c\u0430\u0439_\u0438\u044e\u043d_\u0438\u044e\u043b_\u0430\u0432\u0433_\u0441\u0435\u043d_\u043e\u043a\u0442_\u043d\u043e\u044f_\u0434\u0435\u043a".split("_"),weekdays:"\u042f\u043a\u0448\u0430\u043d\u0431\u0430_\u0414\u0443\u0448\u0430\u043d\u0431\u0430_\u0421\u0435\u0448\u0430\u043d\u0431\u0430_\u0427\u043e\u0440\u0448\u0430\u043d\u0431\u0430_\u041f\u0430\u0439\u0448\u0430\u043d\u0431\u0430_\u0416\u0443\u043c\u0430_\u0428\u0430\u043d\u0431\u0430".split("_"),weekdaysShort:"\u042f\u043a\u0448_\u0414\u0443\u0448_\u0421\u0435\u0448_\u0427\u043e\u0440_\u041f\u0430\u0439_\u0416\u0443\u043c_\u0428\u0430\u043d".split("_"),weekdaysMin:"\u042f\u043a_\u0414\u0443_\u0421\u0435_\u0427\u043e_\u041f\u0430_\u0416\u0443_\u0428\u0430".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[\u0411\u0443\u0433\u0443\u043d \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",nextDay:"[\u042d\u0440\u0442\u0430\u0433\u0430] LT [\u0434\u0430]",nextWeek:"dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastDay:"[\u041a\u0435\u0447\u0430 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",lastWeek:"[\u0423\u0442\u0433\u0430\u043d] dddd [\u043a\u0443\u043d\u0438 \u0441\u043e\u0430\u0442] LT [\u0434\u0430]",sameElse:"L"},relativeTime:{future:"\u042f\u043a\u0438\u043d %s \u0438\u0447\u0438\u0434\u0430",past:"\u0411\u0438\u0440 \u043d\u0435\u0447\u0430 %s \u043e\u043b\u0434\u0438\u043d",s:"\u0444\u0443\u0440\u0441\u0430\u0442",ss:"%d \u0444\u0443\u0440\u0441\u0430\u0442",m:"\u0431\u0438\u0440 \u0434\u0430\u043a\u0438\u043a\u0430",mm:"%d \u0434\u0430\u043a\u0438\u043a\u0430",h:"\u0431\u0438\u0440 \u0441\u043e\u0430\u0442",hh:"%d \u0441\u043e\u0430\u0442",d:"\u0431\u0438\u0440 \u043a\u0443\u043d",dd:"%d \u043a\u0443\u043d",M:"\u0431\u0438\u0440 \u043e\u0439",MM:"%d \u043e\u0439",y:"\u0431\u0438\u0440 \u0439\u0438\u043b",yy:"%d \u0439\u0438\u043b"},week:{dow:1,doy:7}}),l.defineLocale("vi",{months:"th\xe1ng 1_th\xe1ng 2_th\xe1ng 3_th\xe1ng 4_th\xe1ng 5_th\xe1ng 6_th\xe1ng 7_th\xe1ng 8_th\xe1ng 9_th\xe1ng 10_th\xe1ng 11_th\xe1ng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"ch\u1ee7 nh\u1eadt_th\u1ee9 hai_th\u1ee9 ba_th\u1ee9 t\u01b0_th\u1ee9 n\u0103m_th\u1ee9 s\xe1u_th\u1ee9 b\u1ea3y".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,a,t){return e<12?t?"sa":"SA":t?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [n\u0103m] YYYY",LLL:"D MMMM [n\u0103m] YYYY HH:mm",LLLL:"dddd, D MMMM [n\u0103m] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[H\xf4m nay l\xfac] LT",nextDay:"[Ng\xe0y mai l\xfac] LT",nextWeek:"dddd [tu\u1ea7n t\u1edbi l\xfac] LT",lastDay:"[H\xf4m qua l\xfac] LT",lastWeek:"dddd [tu\u1ea7n r\u1ed3i l\xfac] LT",sameElse:"L"},relativeTime:{future:"%s t\u1edbi",past:"%s tr\u01b0\u1edbc",s:"v\xe0i gi\xe2y",ss:"%d gi\xe2y",m:"m\u1ed9t ph\xfat",mm:"%d ph\xfat",h:"m\u1ed9t gi\u1edd",hh:"%d gi\u1edd",d:"m\u1ed9t ng\xe0y",dd:"%d ng\xe0y",M:"m\u1ed9t th\xe1ng",MM:"%d th\xe1ng",y:"m\u1ed9t n\u0103m",yy:"%d n\u0103m"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}),l.defineLocale("x-pseudo",{months:"J~\xe1\xf1\xfa\xe1~r\xfd_F~\xe9br\xfa~\xe1r\xfd_~M\xe1rc~h_\xc1p~r\xedl_~M\xe1\xfd_~J\xfa\xf1\xe9~_J\xfal~\xfd_\xc1\xfa~g\xfast~_S\xe9p~t\xe9mb~\xe9r_\xd3~ct\xf3b~\xe9r_\xd1~\xf3v\xe9m~b\xe9r_~D\xe9c\xe9~mb\xe9r".split("_"),monthsShort:"J~\xe1\xf1_~F\xe9b_~M\xe1r_~\xc1pr_~M\xe1\xfd_~J\xfa\xf1_~J\xfal_~\xc1\xfag_~S\xe9p_~\xd3ct_~\xd1\xf3v_~D\xe9c".split("_"),monthsParseExact:!0,weekdays:"S~\xfa\xf1d\xe1~\xfd_M\xf3~\xf1d\xe1\xfd~_T\xfa\xe9~sd\xe1\xfd~_W\xe9d~\xf1\xe9sd~\xe1\xfd_T~h\xfars~d\xe1\xfd_~Fr\xedd~\xe1\xfd_S~\xe1t\xfar~d\xe1\xfd".split("_"),weekdaysShort:"S~\xfa\xf1_~M\xf3\xf1_~T\xfa\xe9_~W\xe9d_~Th\xfa_~Fr\xed_~S\xe1t".split("_"),weekdaysMin:"S~\xfa_M\xf3~_T\xfa_~W\xe9_T~h_Fr~_S\xe1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~\xf3d\xe1~\xfd \xe1t] LT",nextDay:"[T~\xf3m\xf3~rr\xf3~w \xe1t] LT",nextWeek:"dddd [\xe1t] LT",lastDay:"[\xdd~\xe9st~\xe9rd\xe1~\xfd \xe1t] LT",lastWeek:"[L~\xe1st] dddd [\xe1t] LT",sameElse:"L"},relativeTime:{future:"\xed~\xf1 %s",past:"%s \xe1~g\xf3",s:"\xe1 ~f\xe9w ~s\xe9c\xf3~\xf1ds",ss:"%d s~\xe9c\xf3\xf1~ds",m:"\xe1 ~m\xed\xf1~\xfat\xe9",mm:"%d m~\xed\xf1\xfa~t\xe9s",h:"\xe1~\xf1 h\xf3~\xfar",hh:"%d h~\xf3\xfars",d:"\xe1 ~d\xe1\xfd",dd:"%d d~\xe1\xfds",M:"\xe1 ~m\xf3\xf1~th",MM:"%d m~\xf3\xf1t~hs",y:"\xe1 ~\xfd\xe9\xe1r",yy:"%d \xfd~\xe9\xe1rs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var a=e%10;return e+(1==~~(e%100/10)?"th":1===a?"st":2===a?"nd":3===a?"rd":"th")},week:{dow:1,doy:4}}),l.defineLocale("yo",{months:"S\u1eb9\u0301r\u1eb9\u0301_E\u0300re\u0300le\u0300_\u1eb8r\u1eb9\u0300na\u0300_I\u0300gbe\u0301_E\u0300bibi_O\u0300ku\u0300du_Ag\u1eb9mo_O\u0300gu\u0301n_Owewe_\u1ecc\u0300wa\u0300ra\u0300_Be\u0301lu\u0301_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),monthsShort:"S\u1eb9\u0301r_E\u0300rl_\u1eb8rn_I\u0300gb_E\u0300bi_O\u0300ku\u0300_Ag\u1eb9_O\u0300gu\u0301_Owe_\u1ecc\u0300wa\u0300_Be\u0301l_\u1ecc\u0300p\u1eb9\u0300\u0300".split("_"),weekdays:"A\u0300i\u0300ku\u0301_Aje\u0301_I\u0300s\u1eb9\u0301gun_\u1eccj\u1ecd\u0301ru\u0301_\u1eccj\u1ecd\u0301b\u1ecd_\u1eb8ti\u0300_A\u0300ba\u0301m\u1eb9\u0301ta".split("_"),weekdaysShort:"A\u0300i\u0300k_Aje\u0301_I\u0300s\u1eb9\u0301_\u1eccjr_\u1eccjb_\u1eb8ti\u0300_A\u0300ba\u0301".split("_"),weekdaysMin:"A\u0300i\u0300_Aj_I\u0300s_\u1eccr_\u1eccb_\u1eb8t_A\u0300b".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[O\u0300ni\u0300 ni] LT",nextDay:"[\u1ecc\u0300la ni] LT",nextWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301n'b\u1ecd] [ni] LT",lastDay:"[A\u0300na ni] LT",lastWeek:"dddd [\u1eccs\u1eb9\u0300 to\u0301l\u1ecd\u0301] [ni] LT",sameElse:"L"},relativeTime:{future:"ni\u0301 %s",past:"%s k\u1ecdja\u0301",s:"i\u0300s\u1eb9ju\u0301 aaya\u0301 die",ss:"aaya\u0301 %d",m:"i\u0300s\u1eb9ju\u0301 kan",mm:"i\u0300s\u1eb9ju\u0301 %d",h:"wa\u0301kati kan",hh:"wa\u0301kati %d",d:"\u1ecdj\u1ecd\u0301 kan",dd:"\u1ecdj\u1ecd\u0301 %d",M:"osu\u0300 kan",MM:"osu\u0300 %d",y:"\u1ecddu\u0301n kan",yy:"\u1ecddu\u0301n %d"},dayOfMonthOrdinalParse:/\u1ecdj\u1ecd\u0301\s\d{1,2}/,ordinal:"\u1ecdj\u1ecd\u0301 %d",week:{dow:1,doy:4}}),l.defineLocale("zh-cn",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u5468\u65e5_\u5468\u4e00_\u5468\u4e8c_\u5468\u4e09_\u5468\u56db_\u5468\u4e94_\u5468\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5Ah\u70b9mm\u5206",LLLL:"YYYY\u5e74M\u6708D\u65e5ddddAh\u70b9mm\u5206",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:11<=e?e:e+12},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u5468)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u5468";default:return e}},relativeTime:{future:"%s\u5185",past:"%s\u524d",s:"\u51e0\u79d2",ss:"%d \u79d2",m:"1 \u5206\u949f",mm:"%d \u5206\u949f",h:"1 \u5c0f\u65f6",hh:"%d \u5c0f\u65f6",d:"1 \u5929",dd:"%d \u5929",M:"1 \u4e2a\u6708",MM:"%d \u4e2a\u6708",y:"1 \u5e74",yy:"%d \u5e74"},week:{dow:1,doy:4}}),l.defineLocale("zh-hk",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929]LT",nextDay:"[\u660e\u5929]LT",nextWeek:"[\u4e0b]ddddLT",lastDay:"[\u6628\u5929]LT",lastWeek:"[\u4e0a]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),l.defineLocale("zh-tw",{months:"\u4e00\u6708_\u4e8c\u6708_\u4e09\u6708_\u56db\u6708_\u4e94\u6708_\u516d\u6708_\u4e03\u6708_\u516b\u6708_\u4e5d\u6708_\u5341\u6708_\u5341\u4e00\u6708_\u5341\u4e8c\u6708".split("_"),monthsShort:"1\u6708_2\u6708_3\u6708_4\u6708_5\u6708_6\u6708_7\u6708_8\u6708_9\u6708_10\u6708_11\u6708_12\u6708".split("_"),weekdays:"\u661f\u671f\u65e5_\u661f\u671f\u4e00_\u661f\u671f\u4e8c_\u661f\u671f\u4e09_\u661f\u671f\u56db_\u661f\u671f\u4e94_\u661f\u671f\u516d".split("_"),weekdaysShort:"\u9031\u65e5_\u9031\u4e00_\u9031\u4e8c_\u9031\u4e09_\u9031\u56db_\u9031\u4e94_\u9031\u516d".split("_"),weekdaysMin:"\u65e5_\u4e00_\u4e8c_\u4e09_\u56db_\u4e94_\u516d".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY\u5e74M\u6708D\u65e5",LLL:"YYYY\u5e74M\u6708D\u65e5 HH:mm",LLLL:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm",l:"YYYY/M/D",ll:"YYYY\u5e74M\u6708D\u65e5",lll:"YYYY\u5e74M\u6708D\u65e5 HH:mm",llll:"YYYY\u5e74M\u6708D\u65e5dddd HH:mm"},meridiemParse:/\u51cc\u6668|\u65e9\u4e0a|\u4e0a\u5348|\u4e2d\u5348|\u4e0b\u5348|\u665a\u4e0a/,meridiemHour:function(e,a){return 12===e&&(e=0),"\u51cc\u6668"===a||"\u65e9\u4e0a"===a||"\u4e0a\u5348"===a?e:"\u4e2d\u5348"===a?11<=e?e:e+12:"\u4e0b\u5348"===a||"\u665a\u4e0a"===a?e+12:void 0},meridiem:function(e,a,t){var s=100*e+a;return s<600?"\u51cc\u6668":s<900?"\u65e9\u4e0a":s<1130?"\u4e0a\u5348":s<1230?"\u4e2d\u5348":s<1800?"\u4e0b\u5348":"\u665a\u4e0a"},calendar:{sameDay:"[\u4eca\u5929] LT",nextDay:"[\u660e\u5929] LT",nextWeek:"[\u4e0b]dddd LT",lastDay:"[\u6628\u5929] LT",lastWeek:"[\u4e0a]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(\u65e5|\u6708|\u9031)/,ordinal:function(e,a){switch(a){case"d":case"D":case"DDD":return e+"\u65e5";case"M":return e+"\u6708";case"w":case"W":return e+"\u9031";default:return e}},relativeTime:{future:"%s\u5167",past:"%s\u524d",s:"\u5e7e\u79d2",ss:"%d \u79d2",m:"1 \u5206\u9418",mm:"%d \u5206\u9418",h:"1 \u5c0f\u6642",hh:"%d \u5c0f\u6642",d:"1 \u5929",dd:"%d \u5929",M:"1 \u500b\u6708",MM:"%d \u500b\u6708",y:"1 \u5e74",yy:"%d \u5e74"}}),l.locale("en"),l});
\ No newline at end of file
diff --git a/public/bower_components/moment/min/moment.min.js b/public/bower_components/moment/min/moment.min.js
new file mode 100644
index 0000000..5787a40
--- /dev/null
+++ b/public/bower_components/moment/min/moment.min.js
@@ -0,0 +1 @@
+!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.moment=t()}(this,function(){"use strict";var e,i;function c(){return e.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function u(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function l(e){return void 0===e}function h(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function f(e,t){var n,s=[];for(n=0;n<e.length;++n)s.push(t(e[n],n));return s}function m(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function _(e,t){for(var n in t)m(t,n)&&(e[n]=t[n]);return m(t,"toString")&&(e.toString=t.toString),m(t,"valueOf")&&(e.valueOf=t.valueOf),e}function y(e,t,n,s){return Tt(e,t,n,s,!0).utc()}function g(e){return null==e._pf&&(e._pf={empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1,parsedDateParts:[],meridiem:null,rfc2822:!1,weekdayMismatch:!1}),e._pf}function v(e){if(null==e._isValid){var t=g(e),n=i.call(t.parsedDateParts,function(e){return null!=e}),s=!isNaN(e._d.getTime())&&t.overflow<0&&!t.empty&&!t.invalidMonth&&!t.invalidWeekday&&!t.weekdayMismatch&&!t.nullInput&&!t.invalidFormat&&!t.userInvalidated&&(!t.meridiem||t.meridiem&&n);if(e._strict&&(s=s&&0===t.charsLeftOver&&0===t.unusedTokens.length&&void 0===t.bigHour),null!=Object.isFrozen&&Object.isFrozen(e))return s;e._isValid=s}return e._isValid}function p(e){var t=y(NaN);return null!=e?_(g(t),e):g(t).userInvalidated=!0,t}i=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,s=0;s<n;s++)if(s in t&&e.call(this,t[s],s,t))return!0;return!1};var r=c.momentProperties=[];function w(e,t){var n,s,i;if(l(t._isAMomentObject)||(e._isAMomentObject=t._isAMomentObject),l(t._i)||(e._i=t._i),l(t._f)||(e._f=t._f),l(t._l)||(e._l=t._l),l(t._strict)||(e._strict=t._strict),l(t._tzm)||(e._tzm=t._tzm),l(t._isUTC)||(e._isUTC=t._isUTC),l(t._offset)||(e._offset=t._offset),l(t._pf)||(e._pf=g(t)),l(t._locale)||(e._locale=t._locale),0<r.length)for(n=0;n<r.length;n++)l(i=t[s=r[n]])||(e[s]=i);return e}var t=!1;function M(e){w(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),!1===t&&(t=!0,c.updateOffset(this),t=!1)}function k(e){return e instanceof M||null!=e&&null!=e._isAMomentObject}function S(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function D(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=S(t)),n}function a(e,t,n){var s,i=Math.min(e.length,t.length),r=Math.abs(e.length-t.length),a=0;for(s=0;s<i;s++)(n&&e[s]!==t[s]||!n&&D(e[s])!==D(t[s]))&&a++;return a+r}function Y(e){!1===c.suppressDeprecationWarnings&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function n(i,r){var a=!0;return _(function(){if(null!=c.deprecationHandler&&c.deprecationHandler(null,i),a){for(var e,t=[],n=0;n<arguments.length;n++){if(e="","object"==typeof arguments[n]){for(var s in e+="\n["+n+"] ",arguments[0])e+=s+": "+arguments[0][s]+", ";e=e.slice(0,-2)}else e=arguments[n];t.push(e)}Y(i+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack),a=!1}return r.apply(this,arguments)},r)}var s,O={};function T(e,t){null!=c.deprecationHandler&&c.deprecationHandler(e,t),O[e]||(Y(t),O[e]=!0)}function b(e){return e instanceof Function||"[object Function]"===Object.prototype.toString.call(e)}function x(e,t){var n,s=_({},e);for(n in t)m(t,n)&&(u(e[n])&&u(t[n])?(s[n]={},_(s[n],e[n]),_(s[n],t[n])):null!=t[n]?s[n]=t[n]:delete s[n]);for(n in e)m(e,n)&&!m(t,n)&&u(e[n])&&(s[n]=_({},s[n]));return s}function P(e){null!=e&&this.set(e)}c.suppressDeprecationWarnings=!1,c.deprecationHandler=null,s=Object.keys?Object.keys:function(e){var t,n=[];for(t in e)m(e,t)&&n.push(t);return n};var W={};function C(e,t){var n=e.toLowerCase();W[n]=W[n+"s"]=W[t]=e}function H(e){return"string"==typeof e?W[e]||W[e.toLowerCase()]:void 0}function R(e){var t,n,s={};for(n in e)m(e,n)&&(t=H(n))&&(s[t]=e[n]);return s}var U={};function F(e,t){U[e]=t}function L(e,t,n){var s=""+Math.abs(e),i=t-s.length;return(0<=e?n?"+":"":"-")+Math.pow(10,Math.max(0,i)).toString().substr(1)+s}var N=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,G=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,V={},E={};function I(e,t,n,s){var i=s;"string"==typeof s&&(i=function(){return this[s]()}),e&&(E[e]=i),t&&(E[t[0]]=function(){return L(i.apply(this,arguments),t[1],t[2])}),n&&(E[n]=function(){return this.localeData().ordinal(i.apply(this,arguments),e)})}function A(e,t){return e.isValid()?(t=j(t,e.localeData()),V[t]=V[t]||function(s){var e,i,t,r=s.match(N);for(e=0,i=r.length;e<i;e++)E[r[e]]?r[e]=E[r[e]]:r[e]=(t=r[e]).match(/\[[\s\S]/)?t.replace(/^\[|\]$/g,""):t.replace(/\\/g,"");return function(e){var t,n="";for(t=0;t<i;t++)n+=b(r[t])?r[t].call(e,s):r[t];return n}}(t),V[t](e)):e.localeData().invalidDate()}function j(e,t){var n=5;function s(e){return t.longDateFormat(e)||e}for(G.lastIndex=0;0<=n&&G.test(e);)e=e.replace(G,s),G.lastIndex=0,n-=1;return e}var Z=/\d/,z=/\d\d/,$=/\d{3}/,q=/\d{4}/,J=/[+-]?\d{6}/,B=/\d\d?/,Q=/\d\d\d\d?/,X=/\d\d\d\d\d\d?/,K=/\d{1,3}/,ee=/\d{1,4}/,te=/[+-]?\d{1,6}/,ne=/\d+/,se=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,re=/Z|[+-]\d\d(?::?\d\d)?/gi,ae=/[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,oe={};function ue(e,n,s){oe[e]=b(n)?n:function(e,t){return e&&s?s:n}}function le(e,t){return m(oe,e)?oe[e](t._strict,t._locale):new RegExp(he(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,s,i){return t||n||s||i})))}function he(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var de={};function ce(e,n){var t,s=n;for("string"==typeof e&&(e=[e]),h(n)&&(s=function(e,t){t[n]=D(e)}),t=0;t<e.length;t++)de[e[t]]=s}function fe(e,i){ce(e,function(e,t,n,s){n._w=n._w||{},i(e,n._w,n,s)})}var me=0,_e=1,ye=2,ge=3,ve=4,pe=5,we=6,Me=7,ke=8;function Se(e){return De(e)?366:365}function De(e){return e%4==0&&e%100!=0||e%400==0}I("Y",0,0,function(){var e=this.year();return e<=9999?""+e:"+"+e}),I(0,["YY",2],0,function(){return this.year()%100}),I(0,["YYYY",4],0,"year"),I(0,["YYYYY",5],0,"year"),I(0,["YYYYYY",6,!0],0,"year"),C("year","y"),F("year",1),ue("Y",se),ue("YY",B,z),ue("YYYY",ee,q),ue("YYYYY",te,J),ue("YYYYYY",te,J),ce(["YYYYY","YYYYYY"],me),ce("YYYY",function(e,t){t[me]=2===e.length?c.parseTwoDigitYear(e):D(e)}),ce("YY",function(e,t){t[me]=c.parseTwoDigitYear(e)}),ce("Y",function(e,t){t[me]=parseInt(e,10)}),c.parseTwoDigitYear=function(e){return D(e)+(68<D(e)?1900:2e3)};var Ye,Oe=Te("FullYear",!0);function Te(t,n){return function(e){return null!=e?(xe(this,t,e),c.updateOffset(this,n),this):be(this,t)}}function be(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function xe(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&De(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Pe(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Pe(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,s=(t%(n=12)+n)%n;return e+=(t-s)/12,1===s?De(e)?29:28:31-s%7%2}Ye=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1},I("M",["MM",2],"Mo",function(){return this.month()+1}),I("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),I("MMMM",0,0,function(e){return this.localeData().months(this,e)}),C("month","M"),F("month",8),ue("M",B),ue("MM",B,z),ue("MMM",function(e,t){return t.monthsShortRegex(e)}),ue("MMMM",function(e,t){return t.monthsRegex(e)}),ce(["M","MM"],function(e,t){t[_e]=D(e)-1}),ce(["MMM","MMMM"],function(e,t,n,s){var i=n._locale.monthsParse(e,s,n._strict);null!=i?t[_e]=i:g(n).invalidMonth=e});var We=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,Ce="January_February_March_April_May_June_July_August_September_October_November_December".split("_");var He="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_");function Re(e,t){var n;if(!e.isValid())return e;if("string"==typeof t)if(/^\d+$/.test(t))t=D(t);else if(!h(t=e.localeData().monthsParse(t)))return e;return n=Math.min(e.date(),Pe(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,n),e}function Ue(e){return null!=e?(Re(this,e),c.updateOffset(this,!0),this):be(this,"Month")}var Fe=ae;var Le=ae;function Ne(){function e(e,t){return t.length-e.length}var t,n,s=[],i=[],r=[];for(t=0;t<12;t++)n=y([2e3,t]),s.push(this.monthsShort(n,"")),i.push(this.months(n,"")),r.push(this.months(n,"")),r.push(this.monthsShort(n,""));for(s.sort(e),i.sort(e),r.sort(e),t=0;t<12;t++)s[t]=he(s[t]),i[t]=he(i[t]);for(t=0;t<24;t++)r[t]=he(r[t]);this._monthsRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+i.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+s.join("|")+")","i")}function Ge(e){var t;if(e<100&&0<=e){var n=Array.prototype.slice.call(arguments);n[0]=e+400,t=new Date(Date.UTC.apply(null,n)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)}else t=new Date(Date.UTC.apply(null,arguments));return t}function Ve(e,t,n){var s=7+t-n;return-((7+Ge(e,0,s).getUTCDay()-t)%7)+s-1}function Ee(e,t,n,s,i){var r,a,o=1+7*(t-1)+(7+n-s)%7+Ve(e,s,i);return a=o<=0?Se(r=e-1)+o:o>Se(e)?(r=e+1,o-Se(e)):(r=e,o),{year:r,dayOfYear:a}}function Ie(e,t,n){var s,i,r=Ve(e.year(),t,n),a=Math.floor((e.dayOfYear()-r-1)/7)+1;return a<1?s=a+Ae(i=e.year()-1,t,n):a>Ae(e.year(),t,n)?(s=a-Ae(e.year(),t,n),i=e.year()+1):(i=e.year(),s=a),{week:s,year:i}}function Ae(e,t,n){var s=Ve(e,t,n),i=Ve(e+1,t,n);return(Se(e)-s+i)/7}I("w",["ww",2],"wo","week"),I("W",["WW",2],"Wo","isoWeek"),C("week","w"),C("isoWeek","W"),F("week",5),F("isoWeek",5),ue("w",B),ue("ww",B,z),ue("W",B),ue("WW",B,z),fe(["w","ww","W","WW"],function(e,t,n,s){t[s.substr(0,1)]=D(e)});function je(e,t){return e.slice(t,7).concat(e.slice(0,t))}I("d",0,"do","day"),I("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),I("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),I("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),I("e",0,0,"weekday"),I("E",0,0,"isoWeekday"),C("day","d"),C("weekday","e"),C("isoWeekday","E"),F("day",11),F("weekday",11),F("isoWeekday",11),ue("d",B),ue("e",B),ue("E",B),ue("dd",function(e,t){return t.weekdaysMinRegex(e)}),ue("ddd",function(e,t){return t.weekdaysShortRegex(e)}),ue("dddd",function(e,t){return t.weekdaysRegex(e)}),fe(["dd","ddd","dddd"],function(e,t,n,s){var i=n._locale.weekdaysParse(e,s,n._strict);null!=i?t.d=i:g(n).invalidWeekday=e}),fe(["d","e","E"],function(e,t,n,s){t[s]=D(e)});var Ze="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_");var ze="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_");var $e="Su_Mo_Tu_We_Th_Fr_Sa".split("_");var qe=ae;var Je=ae;var Be=ae;function Qe(){function e(e,t){return t.length-e.length}var t,n,s,i,r,a=[],o=[],u=[],l=[];for(t=0;t<7;t++)n=y([2e3,1]).day(t),s=this.weekdaysMin(n,""),i=this.weekdaysShort(n,""),r=this.weekdays(n,""),a.push(s),o.push(i),u.push(r),l.push(s),l.push(i),l.push(r);for(a.sort(e),o.sort(e),u.sort(e),l.sort(e),t=0;t<7;t++)o[t]=he(o[t]),u[t]=he(u[t]),l[t]=he(l[t]);this._weekdaysRegex=new RegExp("^("+l.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+o.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+a.join("|")+")","i")}function Xe(){return this.hours()%12||12}function Ke(e,t){I(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function et(e,t){return t._meridiemParse}I("H",["HH",2],0,"hour"),I("h",["hh",2],0,Xe),I("k",["kk",2],0,function(){return this.hours()||24}),I("hmm",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)}),I("hmmss",0,0,function(){return""+Xe.apply(this)+L(this.minutes(),2)+L(this.seconds(),2)}),I("Hmm",0,0,function(){return""+this.hours()+L(this.minutes(),2)}),I("Hmmss",0,0,function(){return""+this.hours()+L(this.minutes(),2)+L(this.seconds(),2)}),Ke("a",!0),Ke("A",!1),C("hour","h"),F("hour",13),ue("a",et),ue("A",et),ue("H",B),ue("h",B),ue("k",B),ue("HH",B,z),ue("hh",B,z),ue("kk",B,z),ue("hmm",Q),ue("hmmss",X),ue("Hmm",Q),ue("Hmmss",X),ce(["H","HH"],ge),ce(["k","kk"],function(e,t,n){var s=D(e);t[ge]=24===s?0:s}),ce(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ce(["h","hh"],function(e,t,n){t[ge]=D(e),g(n).bigHour=!0}),ce("hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s)),g(n).bigHour=!0}),ce("hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i)),g(n).bigHour=!0}),ce("Hmm",function(e,t,n){var s=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s))}),ce("Hmmss",function(e,t,n){var s=e.length-4,i=e.length-2;t[ge]=D(e.substr(0,s)),t[ve]=D(e.substr(s,2)),t[pe]=D(e.substr(i))});var tt,nt=Te("Hours",!0),st={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:Ce,monthsShort:He,week:{dow:0,doy:6},weekdays:Ze,weekdaysMin:$e,weekdaysShort:ze,meridiemParse:/[ap]\.?m?\.?/i},it={},rt={};function at(e){return e?e.toLowerCase().replace("_","-"):e}function ot(e){var t=null;if(!it[e]&&"undefined"!=typeof module&&module&&module.exports)try{t=tt._abbr,require("./locale/"+e),ut(t)}catch(e){}return it[e]}function ut(e,t){var n;return e&&((n=l(t)?ht(e):lt(e,t))?tt=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),tt._abbr}function lt(e,t){if(null===t)return delete it[e],null;var n,s=st;if(t.abbr=e,null!=it[e])T("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),s=it[e]._config;else if(null!=t.parentLocale)if(null!=it[t.parentLocale])s=it[t.parentLocale]._config;else{if(null==(n=ot(t.parentLocale)))return rt[t.parentLocale]||(rt[t.parentLocale]=[]),rt[t.parentLocale].push({name:e,config:t}),null;s=n._config}return it[e]=new P(x(s,t)),rt[e]&&rt[e].forEach(function(e){lt(e.name,e.config)}),ut(e),it[e]}function ht(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return tt;if(!o(e)){if(t=ot(e))return t;e=[e]}return function(e){for(var t,n,s,i,r=0;r<e.length;){for(t=(i=at(e[r]).split("-")).length,n=(n=at(e[r+1]))?n.split("-"):null;0<t;){if(s=ot(i.slice(0,t).join("-")))return s;if(n&&n.length>=t&&a(i,n,!0)>=t-1)break;t--}r++}return tt}(e)}function dt(e){var t,n=e._a;return n&&-2===g(e).overflow&&(t=n[_e]<0||11<n[_e]?_e:n[ye]<1||n[ye]>Pe(n[me],n[_e])?ye:n[ge]<0||24<n[ge]||24===n[ge]&&(0!==n[ve]||0!==n[pe]||0!==n[we])?ge:n[ve]<0||59<n[ve]?ve:n[pe]<0||59<n[pe]?pe:n[we]<0||999<n[we]?we:-1,g(e)._overflowDayOfYear&&(t<me||ye<t)&&(t=ye),g(e)._overflowWeeks&&-1===t&&(t=Me),g(e)._overflowWeekday&&-1===t&&(t=ke),g(e).overflow=t),e}function ct(e,t,n){return null!=e?e:null!=t?t:n}function ft(e){var t,n,s,i,r,a=[];if(!e._d){var o,u;for(o=e,u=new Date(c.now()),s=o._useUTC?[u.getUTCFullYear(),u.getUTCMonth(),u.getUTCDate()]:[u.getFullYear(),u.getMonth(),u.getDate()],e._w&&null==e._a[ye]&&null==e._a[_e]&&function(e){var t,n,s,i,r,a,o,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)r=1,a=4,n=ct(t.GG,e._a[me],Ie(bt(),1,4).year),s=ct(t.W,1),((i=ct(t.E,1))<1||7<i)&&(u=!0);else{r=e._locale._week.dow,a=e._locale._week.doy;var l=Ie(bt(),r,a);n=ct(t.gg,e._a[me],l.year),s=ct(t.w,l.week),null!=t.d?((i=t.d)<0||6<i)&&(u=!0):null!=t.e?(i=t.e+r,(t.e<0||6<t.e)&&(u=!0)):i=r}s<1||s>Ae(n,r,a)?g(e)._overflowWeeks=!0:null!=u?g(e)._overflowWeekday=!0:(o=Ee(n,s,i,r,a),e._a[me]=o.year,e._dayOfYear=o.dayOfYear)}(e),null!=e._dayOfYear&&(r=ct(e._a[me],s[me]),(e._dayOfYear>Se(r)||0===e._dayOfYear)&&(g(e)._overflowDayOfYear=!0),n=Ge(r,0,e._dayOfYear),e._a[_e]=n.getUTCMonth(),e._a[ye]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=a[t]=s[t];for(;t<7;t++)e._a[t]=a[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[ge]&&0===e._a[ve]&&0===e._a[pe]&&0===e._a[we]&&(e._nextDay=!0,e._a[ge]=0),e._d=(e._useUTC?Ge:function(e,t,n,s,i,r,a){var o;return e<100&&0<=e?(o=new Date(e+400,t,n,s,i,r,a),isFinite(o.getFullYear())&&o.setFullYear(e)):o=new Date(e,t,n,s,i,r,a),o}).apply(null,a),i=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[ge]=24),e._w&&void 0!==e._w.d&&e._w.d!==i&&(g(e).weekdayMismatch=!0)}}var mt=/^\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)?)?$/,_t=/^\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)?)?$/,yt=/Z|[+-]\d\d(?::?\d\d)?/,gt=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],vt=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function wt(e){var t,n,s,i,r,a,o=e._i,u=mt.exec(o)||_t.exec(o);if(u){for(g(e).iso=!0,t=0,n=gt.length;t<n;t++)if(gt[t][1].exec(u[1])){i=gt[t][0],s=!1!==gt[t][2];break}if(null==i)return void(e._isValid=!1);if(u[3]){for(t=0,n=vt.length;t<n;t++)if(vt[t][1].exec(u[3])){r=(u[2]||" ")+vt[t][0];break}if(null==r)return void(e._isValid=!1)}if(!s&&null!=r)return void(e._isValid=!1);if(u[4]){if(!yt.exec(u[4]))return void(e._isValid=!1);a="Z"}e._f=i+(r||"")+(a||""),Yt(e)}else e._isValid=!1}var Mt=/^(?:(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}))$/;function kt(e,t,n,s,i,r){var a=[function(e){var t=parseInt(e,10);{if(t<=49)return 2e3+t;if(t<=999)return 1900+t}return t}(e),He.indexOf(t),parseInt(n,10),parseInt(s,10),parseInt(i,10)];return r&&a.push(parseInt(r,10)),a}var St={UT:0,GMT:0,EDT:-240,EST:-300,CDT:-300,CST:-360,MDT:-360,MST:-420,PDT:-420,PST:-480};function Dt(e){var t,n,s,i=Mt.exec(e._i.replace(/\([^)]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,""));if(i){var r=kt(i[4],i[3],i[2],i[5],i[6],i[7]);if(t=i[1],n=r,s=e,t&&ze.indexOf(t)!==new Date(n[0],n[1],n[2]).getDay()&&(g(s).weekdayMismatch=!0,!(s._isValid=!1)))return;e._a=r,e._tzm=function(e,t,n){if(e)return St[e];if(t)return 0;var s=parseInt(n,10),i=s%100;return(s-i)/100*60+i}(i[8],i[9],i[10]),e._d=Ge.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),g(e).rfc2822=!0}else e._isValid=!1}function Yt(e){if(e._f!==c.ISO_8601)if(e._f!==c.RFC_2822){e._a=[],g(e).empty=!0;var t,n,s,i,r,a,o,u,l=""+e._i,h=l.length,d=0;for(s=j(e._f,e._locale).match(N)||[],t=0;t<s.length;t++)i=s[t],(n=(l.match(le(i,e))||[])[0])&&(0<(r=l.substr(0,l.indexOf(n))).length&&g(e).unusedInput.push(r),l=l.slice(l.indexOf(n)+n.length),d+=n.length),E[i]?(n?g(e).empty=!1:g(e).unusedTokens.push(i),a=i,u=e,null!=(o=n)&&m(de,a)&&de[a](o,u._a,u,a)):e._strict&&!n&&g(e).unusedTokens.push(i);g(e).charsLeftOver=h-d,0<l.length&&g(e).unusedInput.push(l),e._a[ge]<=12&&!0===g(e).bigHour&&0<e._a[ge]&&(g(e).bigHour=void 0),g(e).parsedDateParts=e._a.slice(0),g(e).meridiem=e._meridiem,e._a[ge]=function(e,t,n){var s;if(null==n)return t;return null!=e.meridiemHour?e.meridiemHour(t,n):(null!=e.isPM&&((s=e.isPM(n))&&t<12&&(t+=12),s||12!==t||(t=0)),t)}(e._locale,e._a[ge],e._meridiem),ft(e),dt(e)}else Dt(e);else wt(e)}function Ot(e){var t,n,s,i,r=e._i,a=e._f;return e._locale=e._locale||ht(e._l),null===r||void 0===a&&""===r?p({nullInput:!0}):("string"==typeof r&&(e._i=r=e._locale.preparse(r)),k(r)?new M(dt(r)):(d(r)?e._d=r:o(a)?function(e){var t,n,s,i,r;if(0===e._f.length)return g(e).invalidFormat=!0,e._d=new Date(NaN);for(i=0;i<e._f.length;i++)r=0,t=w({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._f=e._f[i],Yt(t),v(t)&&(r+=g(t).charsLeftOver,r+=10*g(t).unusedTokens.length,g(t).score=r,(null==s||r<s)&&(s=r,n=t));_(e,n||t)}(e):a?Yt(e):l(n=(t=e)._i)?t._d=new Date(c.now()):d(n)?t._d=new Date(n.valueOf()):"string"==typeof n?(s=t,null===(i=pt.exec(s._i))?(wt(s),!1===s._isValid&&(delete s._isValid,Dt(s),!1===s._isValid&&(delete s._isValid,c.createFromInputFallback(s)))):s._d=new Date(+i[1])):o(n)?(t._a=f(n.slice(0),function(e){return parseInt(e,10)}),ft(t)):u(n)?function(e){if(!e._d){var t=R(e._i);e._a=f([t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],function(e){return e&&parseInt(e,10)}),ft(e)}}(t):h(n)?t._d=new Date(n):c.createFromInputFallback(t),v(e)||(e._d=null),e))}function Tt(e,t,n,s,i){var r,a={};return!0!==n&&!1!==n||(s=n,n=void 0),(u(e)&&function(e){if(Object.getOwnPropertyNames)return 0===Object.getOwnPropertyNames(e).length;var t;for(t in e)if(e.hasOwnProperty(t))return!1;return!0}(e)||o(e)&&0===e.length)&&(e=void 0),a._isAMomentObject=!0,a._useUTC=a._isUTC=i,a._l=n,a._i=e,a._f=t,a._strict=s,(r=new M(dt(Ot(a))))._nextDay&&(r.add(1,"d"),r._nextDay=void 0),r}function bt(e,t,n,s){return Tt(e,t,n,s,!1)}c.createFromInputFallback=n("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),c.ISO_8601=function(){},c.RFC_2822=function(){};var xt=n("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=bt.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:p()}),Pt=n("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=bt.apply(null,arguments);return this.isValid()&&e.isValid()?this<e?this:e:p()});function Wt(e,t){var n,s;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return bt();for(n=t[0],s=1;s<t.length;++s)t[s].isValid()&&!t[s][e](n)||(n=t[s]);return n}var Ct=["year","quarter","month","week","day","hour","minute","second","millisecond"];function Ht(e){var t=R(e),n=t.year||0,s=t.quarter||0,i=t.month||0,r=t.week||t.isoWeek||0,a=t.day||0,o=t.hour||0,u=t.minute||0,l=t.second||0,h=t.millisecond||0;this._isValid=function(e){for(var t in e)if(-1===Ye.call(Ct,t)||null!=e[t]&&isNaN(e[t]))return!1;for(var n=!1,s=0;s<Ct.length;++s)if(e[Ct[s]]){if(n)return!1;parseFloat(e[Ct[s]])!==D(e[Ct[s]])&&(n=!0)}return!0}(t),this._milliseconds=+h+1e3*l+6e4*u+1e3*o*60*60,this._days=+a+7*r,this._months=+i+3*s+12*n,this._data={},this._locale=ht(),this._bubble()}function Rt(e){return e instanceof Ht}function Ut(e){return e<0?-1*Math.round(-1*e):Math.round(e)}function Ft(e,n){I(e,0,0,function(){var e=this.utcOffset(),t="+";return e<0&&(e=-e,t="-"),t+L(~~(e/60),2)+n+L(~~e%60,2)})}Ft("Z",":"),Ft("ZZ",""),ue("Z",re),ue("ZZ",re),ce(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Nt(re,e)});var Lt=/([\+\-]|\d\d)/gi;function Nt(e,t){var n=(t||"").match(e);if(null===n)return null;var s=((n[n.length-1]||[])+"").match(Lt)||["-",0,0],i=60*s[1]+D(s[2]);return 0===i?0:"+"===s[0]?i:-i}function Gt(e,t){var n,s;return t._isUTC?(n=t.clone(),s=(k(e)||d(e)?e.valueOf():bt(e).valueOf())-n.valueOf(),n._d.setTime(n._d.valueOf()+s),c.updateOffset(n,!1),n):bt(e).local()}function Vt(e){return 15*-Math.round(e._d.getTimezoneOffset()/15)}function Et(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}c.updateOffset=function(){};var It=/^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,At=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function jt(e,t){var n,s,i,r=e,a=null;return Rt(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:h(e)?(r={},t?r[t]=e:r.milliseconds=e):(a=It.exec(e))?(n="-"===a[1]?-1:1,r={y:0,d:D(a[ye])*n,h:D(a[ge])*n,m:D(a[ve])*n,s:D(a[pe])*n,ms:D(Ut(1e3*a[we]))*n}):(a=At.exec(e))?(n="-"===a[1]?-1:1,r={y:Zt(a[2],n),M:Zt(a[3],n),w:Zt(a[4],n),d:Zt(a[5],n),h:Zt(a[6],n),m:Zt(a[7],n),s:Zt(a[8],n)}):null==r?r={}:"object"==typeof r&&("from"in r||"to"in r)&&(i=function(e,t){var n;if(!e.isValid()||!t.isValid())return{milliseconds:0,months:0};t=Gt(t,e),e.isBefore(t)?n=zt(e,t):((n=zt(t,e)).milliseconds=-n.milliseconds,n.months=-n.months);return n}(bt(r.from),bt(r.to)),(r={}).ms=i.milliseconds,r.M=i.months),s=new Ht(r),Rt(e)&&m(e,"_locale")&&(s._locale=e._locale),s}function Zt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function zt(e,t){var n={};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function $t(s,i){return function(e,t){var n;return null===t||isNaN(+t)||(T(i,"moment()."+i+"(period, number) is deprecated. Please use moment()."+i+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),n=e,e=t,t=n),qt(this,jt(e="string"==typeof e?+e:e,t),s),this}}function qt(e,t,n,s){var i=t._milliseconds,r=Ut(t._days),a=Ut(t._months);e.isValid()&&(s=null==s||s,a&&Re(e,be(e,"Month")+a*n),r&&xe(e,"Date",be(e,"Date")+r*n),i&&e._d.setTime(e._d.valueOf()+i*n),s&&c.updateOffset(e,r||a))}jt.fn=Ht.prototype,jt.invalid=function(){return jt(NaN)};var Jt=$t(1,"add"),Bt=$t(-1,"subtract");function Qt(e,t){var n=12*(t.year()-e.year())+(t.month()-e.month()),s=e.clone().add(n,"months");return-(n+(t-s<0?(t-s)/(s-e.clone().add(n-1,"months")):(t-s)/(e.clone().add(n+1,"months")-s)))||0}function Xt(e){var t;return void 0===e?this._locale._abbr:(null!=(t=ht(e))&&(this._locale=t),this)}c.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",c.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Kt=n("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});function en(){return this._locale}var tn=126227808e5;function nn(e,t){return(e%t+t)%t}function sn(e,t,n){return e<100&&0<=e?new Date(e+400,t,n)-tn:new Date(e,t,n).valueOf()}function rn(e,t,n){return e<100&&0<=e?Date.UTC(e+400,t,n)-tn:Date.UTC(e,t,n)}function an(e,t){I(0,[e,e.length],0,t)}function on(e,t,n,s,i){var r;return null==e?Ie(this,s,i).year:((r=Ae(e,s,i))<t&&(t=r),function(e,t,n,s,i){var r=Ee(e,t,n,s,i),a=Ge(r.year,0,r.dayOfYear);return this.year(a.getUTCFullYear()),this.month(a.getUTCMonth()),this.date(a.getUTCDate()),this}.call(this,e,t,n,s,i))}I(0,["gg",2],0,function(){return this.weekYear()%100}),I(0,["GG",2],0,function(){return this.isoWeekYear()%100}),an("gggg","weekYear"),an("ggggg","weekYear"),an("GGGG","isoWeekYear"),an("GGGGG","isoWeekYear"),C("weekYear","gg"),C("isoWeekYear","GG"),F("weekYear",1),F("isoWeekYear",1),ue("G",se),ue("g",se),ue("GG",B,z),ue("gg",B,z),ue("GGGG",ee,q),ue("gggg",ee,q),ue("GGGGG",te,J),ue("ggggg",te,J),fe(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,s){t[s.substr(0,2)]=D(e)}),fe(["gg","GG"],function(e,t,n,s){t[s]=c.parseTwoDigitYear(e)}),I("Q",0,"Qo","quarter"),C("quarter","Q"),F("quarter",7),ue("Q",Z),ce("Q",function(e,t){t[_e]=3*(D(e)-1)}),I("D",["DD",2],"Do","date"),C("date","D"),F("date",9),ue("D",B),ue("DD",B,z),ue("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),ce(["D","DD"],ye),ce("Do",function(e,t){t[ye]=D(e.match(B)[0])});var un=Te("Date",!0);I("DDD",["DDDD",3],"DDDo","dayOfYear"),C("dayOfYear","DDD"),F("dayOfYear",4),ue("DDD",K),ue("DDDD",$),ce(["DDD","DDDD"],function(e,t,n){n._dayOfYear=D(e)}),I("m",["mm",2],0,"minute"),C("minute","m"),F("minute",14),ue("m",B),ue("mm",B,z),ce(["m","mm"],ve);var ln=Te("Minutes",!1);I("s",["ss",2],0,"second"),C("second","s"),F("second",15),ue("s",B),ue("ss",B,z),ce(["s","ss"],pe);var hn,dn=Te("Seconds",!1);for(I("S",0,0,function(){return~~(this.millisecond()/100)}),I(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),I(0,["SSS",3],0,"millisecond"),I(0,["SSSS",4],0,function(){return 10*this.millisecond()}),I(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),I(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),I(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),I(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),I(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),C("millisecond","ms"),F("millisecond",16),ue("S",K,Z),ue("SS",K,z),ue("SSS",K,$),hn="SSSS";hn.length<=9;hn+="S")ue(hn,ne);function cn(e,t){t[we]=D(1e3*("0."+e))}for(hn="S";hn.length<=9;hn+="S")ce(hn,cn);var fn=Te("Milliseconds",!1);I("z",0,0,"zoneAbbr"),I("zz",0,0,"zoneName");var mn=M.prototype;function _n(e){return e}mn.add=Jt,mn.calendar=function(e,t){var n=e||bt(),s=Gt(n,this).startOf("day"),i=c.calendarFormat(this,s)||"sameElse",r=t&&(b(t[i])?t[i].call(this,n):t[i]);return this.format(r||this.localeData().calendar(i,this,bt(n)))},mn.clone=function(){return new M(this)},mn.diff=function(e,t,n){var s,i,r;if(!this.isValid())return NaN;if(!(s=Gt(e,this)).isValid())return NaN;switch(i=6e4*(s.utcOffset()-this.utcOffset()),t=H(t)){case"year":r=Qt(this,s)/12;break;case"month":r=Qt(this,s);break;case"quarter":r=Qt(this,s)/3;break;case"second":r=(this-s)/1e3;break;case"minute":r=(this-s)/6e4;break;case"hour":r=(this-s)/36e5;break;case"day":r=(this-s-i)/864e5;break;case"week":r=(this-s-i)/6048e5;break;default:r=this-s}return n?r:S(r)},mn.endOf=function(e){var t;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?rn:sn;switch(e){case"year":t=n(this.year()+1,0,1)-1;break;case"quarter":t=n(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=n(this.year(),this.month()+1,1)-1;break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=n(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=36e5-nn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5)-1;break;case"minute":t=this._d.valueOf(),t+=6e4-nn(t,6e4)-1;break;case"second":t=this._d.valueOf(),t+=1e3-nn(t,1e3)-1;break}return this._d.setTime(t),c.updateOffset(this,!0),this},mn.format=function(e){e||(e=this.isUtc()?c.defaultFormatUtc:c.defaultFormat);var t=A(this,e);return this.localeData().postformat(t)},mn.from=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||bt(e).isValid())?jt({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},mn.fromNow=function(e){return this.from(bt(),e)},mn.to=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||bt(e).isValid())?jt({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},mn.toNow=function(e){return this.to(bt(),e)},mn.get=function(e){return b(this[e=H(e)])?this[e]():this},mn.invalidAt=function(){return g(this).overflow},mn.isAfter=function(e,t){var n=k(e)?e:bt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()>n.valueOf():n.valueOf()<this.clone().startOf(t).valueOf())},mn.isBefore=function(e,t){var n=k(e)?e:bt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()<n.valueOf():this.clone().endOf(t).valueOf()<n.valueOf())},mn.isBetween=function(e,t,n,s){var i=k(e)?e:bt(e),r=k(t)?t:bt(t);return!!(this.isValid()&&i.isValid()&&r.isValid())&&("("===(s=s||"()")[0]?this.isAfter(i,n):!this.isBefore(i,n))&&(")"===s[1]?this.isBefore(r,n):!this.isAfter(r,n))},mn.isSame=function(e,t){var n,s=k(e)?e:bt(e);return!(!this.isValid()||!s.isValid())&&("millisecond"===(t=H(t)||"millisecond")?this.valueOf()===s.valueOf():(n=s.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf()))},mn.isSameOrAfter=function(e,t){return this.isSame(e,t)||this.isAfter(e,t)},mn.isSameOrBefore=function(e,t){return this.isSame(e,t)||this.isBefore(e,t)},mn.isValid=function(){return v(this)},mn.lang=Kt,mn.locale=Xt,mn.localeData=en,mn.max=Pt,mn.min=xt,mn.parsingFlags=function(){return _({},g(this))},mn.set=function(e,t){if("object"==typeof e)for(var n=function(e){var t=[];for(var n in e)t.push({unit:n,priority:U[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}(e=R(e)),s=0;s<n.length;s++)this[n[s].unit](e[n[s].unit]);else if(b(this[e=H(e)]))return this[e](t);return this},mn.startOf=function(e){var t;if(void 0===(e=H(e))||"millisecond"===e||!this.isValid())return this;var n=this._isUTC?rn:sn;switch(e){case"year":t=n(this.year(),0,1);break;case"quarter":t=n(this.year(),this.month()-this.month()%3,1);break;case"month":t=n(this.year(),this.month(),1);break;case"week":t=n(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=n(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=n(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=nn(t+(this._isUTC?0:6e4*this.utcOffset()),36e5);break;case"minute":t=this._d.valueOf(),t-=nn(t,6e4);break;case"second":t=this._d.valueOf(),t-=nn(t,1e3);break}return this._d.setTime(t),c.updateOffset(this,!0),this},mn.subtract=Bt,mn.toArray=function(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]},mn.toObject=function(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}},mn.toDate=function(){return new Date(this.valueOf())},mn.toISOString=function(e){if(!this.isValid())return null;var t=!0!==e,n=t?this.clone().utc():this;return n.year()<0||9999<n.year()?A(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):b(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",A(n,"Z")):A(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},mn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',s=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",i=t+'[")]';return this.format(n+s+"-MM-DD[T]HH:mm:ss.SSS"+i)},mn.toJSON=function(){return this.isValid()?this.toISOString():null},mn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},mn.unix=function(){return Math.floor(this.valueOf()/1e3)},mn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},mn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},mn.year=Oe,mn.isLeapYear=function(){return De(this.year())},mn.weekYear=function(e){return on.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},mn.isoWeekYear=function(e){return on.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},mn.quarter=mn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},mn.month=Ue,mn.daysInMonth=function(){return Pe(this.year(),this.month())},mn.week=mn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},mn.isoWeek=mn.isoWeeks=function(e){var t=Ie(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},mn.weeksInYear=function(){var e=this.localeData()._week;return Ae(this.year(),e.dow,e.doy)},mn.isoWeeksInYear=function(){return Ae(this.year(),1,4)},mn.date=un,mn.day=mn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t,n,s=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(t=e,n=this.localeData(),e="string"!=typeof t?t:isNaN(t)?"number"==typeof(t=n.weekdaysParse(t))?t:null:parseInt(t,10),this.add(e-s,"d")):s},mn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},mn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null==e)return this.day()||7;var t,n,s=(t=e,n=this.localeData(),"string"==typeof t?n.weekdaysParse(t)%7||7:isNaN(t)?null:t);return this.day(this.day()%7?s:s-7)},mn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},mn.hour=mn.hours=nt,mn.minute=mn.minutes=ln,mn.second=mn.seconds=dn,mn.millisecond=mn.milliseconds=fn,mn.utcOffset=function(e,t,n){var s,i=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null==e)return this._isUTC?i:Vt(this);if("string"==typeof e){if(null===(e=Nt(re,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(s=Vt(this)),this._offset=e,this._isUTC=!0,null!=s&&this.add(s,"m"),i!==e&&(!t||this._changeInProgress?qt(this,jt(e-i,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,c.updateOffset(this,!0),this._changeInProgress=null)),this},mn.utc=function(e){return this.utcOffset(0,e)},mn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Vt(this),"m")),this},mn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Nt(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},mn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?bt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},mn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},mn.isLocal=function(){return!!this.isValid()&&!this._isUTC},mn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},mn.isUtc=Et,mn.isUTC=Et,mn.zoneAbbr=function(){return this._isUTC?"UTC":""},mn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},mn.dates=n("dates accessor is deprecated. Use date instead.",un),mn.months=n("months accessor is deprecated. Use month instead",Ue),mn.years=n("years accessor is deprecated. Use year instead",Oe),mn.zone=n("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),mn.isDSTShifted=n("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",function(){if(!l(this._isDSTShifted))return this._isDSTShifted;var e={};if(w(e,this),(e=Ot(e))._a){var t=e._isUTC?y(e._a):bt(e._a);this._isDSTShifted=this.isValid()&&0<a(e._a,t.toArray())}else this._isDSTShifted=!1;return this._isDSTShifted});var yn=P.prototype;function gn(e,t,n,s){var i=ht(),r=y().set(s,t);return i[n](r,e)}function vn(e,t,n){if(h(e)&&(t=e,e=void 0),e=e||"",null!=t)return gn(e,t,n,"month");var s,i=[];for(s=0;s<12;s++)i[s]=gn(e,s,n,"month");return i}function pn(e,t,n,s){t=("boolean"==typeof e?h(t)&&(n=t,t=void 0):(t=e,e=!1,h(n=t)&&(n=t,t=void 0)),t||"");var i,r=ht(),a=e?r._week.dow:0;if(null!=n)return gn(t,(n+a)%7,s,"day");var o=[];for(i=0;i<7;i++)o[i]=gn(t,(i+a)%7,s,"day");return o}yn.calendar=function(e,t,n){var s=this._calendar[e]||this._calendar.sameElse;return b(s)?s.call(t,n):s},yn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e])},yn.invalidDate=function(){return this._invalidDate},yn.ordinal=function(e){return this._ordinal.replace("%d",e)},yn.preparse=_n,yn.postformat=_n,yn.relativeTime=function(e,t,n,s){var i=this._relativeTime[n];return b(i)?i(e,t,n,s):i.replace(/%d/i,e)},yn.pastFuture=function(e,t){var n=this._relativeTime[0<e?"future":"past"];return b(n)?n(t):n.replace(/%s/i,t)},yn.set=function(e){var t,n;for(n in e)b(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},yn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||We).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},yn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[We.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},yn.monthsParse=function(e,t,n){var s,i,r;if(this._monthsParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],s=0;s<12;++s)r=y([2e3,s]),this._shortMonthsParse[s]=this.monthsShort(r,"").toLocaleLowerCase(),this._longMonthsParse[s]=this.months(r,"").toLocaleLowerCase();return n?"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:"MMM"===t?-1!==(i=Ye.call(this._shortMonthsParse,a))?i:-1!==(i=Ye.call(this._longMonthsParse,a))?i:null:-1!==(i=Ye.call(this._longMonthsParse,a))?i:-1!==(i=Ye.call(this._shortMonthsParse,a))?i:null}.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),s=0;s<12;s++){if(i=y([2e3,s]),n&&!this._longMonthsParse[s]&&(this._longMonthsParse[s]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[s]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),n||this._monthsParse[s]||(r="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[s]=new RegExp(r.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[s].test(e))return s;if(n&&"MMM"===t&&this._shortMonthsParse[s].test(e))return s;if(!n&&this._monthsParse[s].test(e))return s}},yn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ne.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=Le),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},yn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ne.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=Fe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},yn.week=function(e){return Ie(e,this._week.dow,this._week.doy).week},yn.firstDayOfYear=function(){return this._week.doy},yn.firstDayOfWeek=function(){return this._week.dow},yn.weekdays=function(e,t){var n=o(this._weekdays)?this._weekdays:this._weekdays[e&&!0!==e&&this._weekdays.isFormat.test(t)?"format":"standalone"];return!0===e?je(n,this._week.dow):e?n[e.day()]:n},yn.weekdaysMin=function(e){return!0===e?je(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin},yn.weekdaysShort=function(e){return!0===e?je(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort},yn.weekdaysParse=function(e,t,n){var s,i,r;if(this._weekdaysParseExact)return function(e,t,n){var s,i,r,a=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],s=0;s<7;++s)r=y([2e3,1]).day(s),this._minWeekdaysParse[s]=this.weekdaysMin(r,"").toLocaleLowerCase(),this._shortWeekdaysParse[s]=this.weekdaysShort(r,"").toLocaleLowerCase(),this._weekdaysParse[s]=this.weekdays(r,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"dddd"===t?-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:"ddd"===t?-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:null:-1!==(i=Ye.call(this._minWeekdaysParse,a))?i:-1!==(i=Ye.call(this._weekdaysParse,a))?i:-1!==(i=Ye.call(this._shortWeekdaysParse,a))?i:null}.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),s=0;s<7;s++){if(i=y([2e3,1]).day(s),n&&!this._fullWeekdaysParse[s]&&(this._fullWeekdaysParse[s]=new RegExp("^"+this.weekdays(i,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[s]=new RegExp("^"+this.weekdaysShort(i,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[s]=new RegExp("^"+this.weekdaysMin(i,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[s]||(r="^"+this.weekdays(i,"")+"|^"+this.weekdaysShort(i,"")+"|^"+this.weekdaysMin(i,""),this._weekdaysParse[s]=new RegExp(r.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[s].test(e))return s;if(n&&"ddd"===t&&this._shortWeekdaysParse[s].test(e))return s;if(n&&"dd"===t&&this._minWeekdaysParse[s].test(e))return s;if(!n&&this._weekdaysParse[s].test(e))return s}},yn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=qe),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},yn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Je),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},yn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Qe.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Be),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},yn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},yn.meridiem=function(e,t,n){return 11<e?n?"pm":"PM":n?"am":"AM"},ut("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===D(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),c.lang=n("moment.lang is deprecated. Use moment.locale instead.",ut),c.langData=n("moment.langData is deprecated. Use moment.localeData instead.",ht);var wn=Math.abs;function Mn(e,t,n,s){var i=jt(t,n);return e._milliseconds+=s*i._milliseconds,e._days+=s*i._days,e._months+=s*i._months,e._bubble()}function kn(e){return e<0?Math.floor(e):Math.ceil(e)}function Sn(e){return 4800*e/146097}function Dn(e){return 146097*e/4800}function Yn(e){return function(){return this.as(e)}}var On=Yn("ms"),Tn=Yn("s"),bn=Yn("m"),xn=Yn("h"),Pn=Yn("d"),Wn=Yn("w"),Cn=Yn("M"),Hn=Yn("Q"),Rn=Yn("y");function Un(e){return function(){return this.isValid()?this._data[e]:NaN}}var Fn=Un("milliseconds"),Ln=Un("seconds"),Nn=Un("minutes"),Gn=Un("hours"),Vn=Un("days"),En=Un("months"),In=Un("years");var An=Math.round,jn={ss:44,s:45,m:45,h:22,d:26,M:11};var Zn=Math.abs;function zn(e){return(0<e)-(e<0)||+e}function $n(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=Zn(this._milliseconds)/1e3,s=Zn(this._days),i=Zn(this._months);t=S((e=S(n/60))/60),n%=60,e%=60;var r=S(i/12),a=i%=12,o=s,u=t,l=e,h=n?n.toFixed(3).replace(/\.?0+$/,""):"",d=this.asSeconds();if(!d)return"P0D";var c=d<0?"-":"",f=zn(this._months)!==zn(d)?"-":"",m=zn(this._days)!==zn(d)?"-":"",_=zn(this._milliseconds)!==zn(d)?"-":"";return c+"P"+(r?f+r+"Y":"")+(a?f+a+"M":"")+(o?m+o+"D":"")+(u||l||h?"T":"")+(u?_+u+"H":"")+(l?_+l+"M":"")+(h?_+h+"S":"")}var qn=Ht.prototype;return qn.isValid=function(){return this._isValid},qn.abs=function(){var e=this._data;return this._milliseconds=wn(this._milliseconds),this._days=wn(this._days),this._months=wn(this._months),e.milliseconds=wn(e.milliseconds),e.seconds=wn(e.seconds),e.minutes=wn(e.minutes),e.hours=wn(e.hours),e.months=wn(e.months),e.years=wn(e.years),this},qn.add=function(e,t){return Mn(this,e,t,1)},qn.subtract=function(e,t){return Mn(this,e,t,-1)},qn.as=function(e){if(!this.isValid())return NaN;var t,n,s=this._milliseconds;if("month"===(e=H(e))||"quarter"===e||"year"===e)switch(t=this._days+s/864e5,n=this._months+Sn(t),e){case"month":return n;case"quarter":return n/3;case"year":return n/12}else switch(t=this._days+Math.round(Dn(this._months)),e){case"week":return t/7+s/6048e5;case"day":return t+s/864e5;case"hour":return 24*t+s/36e5;case"minute":return 1440*t+s/6e4;case"second":return 86400*t+s/1e3;case"millisecond":return Math.floor(864e5*t)+s;default:throw new Error("Unknown unit "+e)}},qn.asMilliseconds=On,qn.asSeconds=Tn,qn.asMinutes=bn,qn.asHours=xn,qn.asDays=Pn,qn.asWeeks=Wn,qn.asMonths=Cn,qn.asQuarters=Hn,qn.asYears=Rn,qn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*D(this._months/12):NaN},qn._bubble=function(){var e,t,n,s,i,r=this._milliseconds,a=this._days,o=this._months,u=this._data;return 0<=r&&0<=a&&0<=o||r<=0&&a<=0&&o<=0||(r+=864e5*kn(Dn(o)+a),o=a=0),u.milliseconds=r%1e3,e=S(r/1e3),u.seconds=e%60,t=S(e/60),u.minutes=t%60,n=S(t/60),u.hours=n%24,o+=i=S(Sn(a+=S(n/24))),a-=kn(Dn(i)),s=S(o/12),o%=12,u.days=a,u.months=o,u.years=s,this},qn.clone=function(){return jt(this)},qn.get=function(e){return e=H(e),this.isValid()?this[e+"s"]():NaN},qn.milliseconds=Fn,qn.seconds=Ln,qn.minutes=Nn,qn.hours=Gn,qn.days=Vn,qn.weeks=function(){return S(this.days()/7)},qn.months=En,qn.years=In,qn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t,n,s,i,r,a,o,u,l,h,d,c=this.localeData(),f=(n=!e,s=c,i=jt(t=this).abs(),r=An(i.as("s")),a=An(i.as("m")),o=An(i.as("h")),u=An(i.as("d")),l=An(i.as("M")),h=An(i.as("y")),(d=r<=jn.ss&&["s",r]||r<jn.s&&["ss",r]||a<=1&&["m"]||a<jn.m&&["mm",a]||o<=1&&["h"]||o<jn.h&&["hh",o]||u<=1&&["d"]||u<jn.d&&["dd",u]||l<=1&&["M"]||l<jn.M&&["MM",l]||h<=1&&["y"]||["yy",h])[2]=n,d[3]=0<+t,d[4]=s,function(e,t,n,s,i){return i.relativeTime(t||1,!!n,e,s)}.apply(null,d));return e&&(f=c.pastFuture(+this,f)),c.postformat(f)},qn.toISOString=$n,qn.toString=$n,qn.toJSON=$n,qn.locale=Xt,qn.localeData=en,qn.toIsoString=n("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",$n),qn.lang=Kt,I("X",0,0,"unix"),I("x",0,0,"valueOf"),ue("x",se),ue("X",/[+-]?\d+(\.\d{1,3})?/),ce("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ce("x",function(e,t,n){n._d=new Date(D(e))}),c.version="2.24.0",e=bt,c.fn=mn,c.min=function(){return Wt("isBefore",[].slice.call(arguments,0))},c.max=function(){return Wt("isAfter",[].slice.call(arguments,0))},c.now=function(){return Date.now?Date.now():+new Date},c.utc=y,c.unix=function(e){return bt(1e3*e)},c.months=function(e,t){return vn(e,t,"months")},c.isDate=d,c.locale=ut,c.invalid=p,c.duration=jt,c.isMoment=k,c.weekdays=function(e,t,n){return pn(e,t,n,"weekdays")},c.parseZone=function(){return bt.apply(null,arguments).parseZone()},c.localeData=ht,c.isDuration=Rt,c.monthsShort=function(e,t){return vn(e,t,"monthsShort")},c.weekdaysMin=function(e,t,n){return pn(e,t,n,"weekdaysMin")},c.defineLocale=lt,c.updateLocale=function(e,t){if(null!=t){var n,s,i=st;null!=(s=ot(e))&&(i=s._config),(n=new P(t=x(i,t))).parentLocale=it[e],it[e]=n,ut(e)}else null!=it[e]&&(null!=it[e].parentLocale?it[e]=it[e].parentLocale:null!=it[e]&&delete it[e]);return it[e]},c.locales=function(){return s(it)},c.weekdaysShort=function(e,t,n){return pn(e,t,n,"weekdaysShort")},c.normalizeUnits=H,c.relativeTimeRounding=function(e){return void 0===e?An:"function"==typeof e&&(An=e,!0)},c.relativeTimeThreshold=function(e,t){return void 0!==jn[e]&&(void 0===t?jn[e]:(jn[e]=t,"s"===e&&(jn.ss=t-1),!0))},c.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},c.prototype=mn,c.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"},c});
\ No newline at end of file
diff --git a/public/bower_components/moment/moment.d.ts b/public/bower_components/moment/moment.d.ts
new file mode 100644
index 0000000..ec72fbc
--- /dev/null
+++ b/public/bower_components/moment/moment.d.ts
@@ -0,0 +1,736 @@
+declare function moment(inp?: moment.MomentInput, format?: moment.MomentFormatSpecification, strict?: boolean): moment.Moment;
+declare function moment(inp?: moment.MomentInput, format?: moment.MomentFormatSpecification, language?: string, strict?: boolean): moment.Moment;
+
+declare namespace moment {
+  type RelativeTimeKey = 's' | 'ss' | 'm' | 'mm' | 'h' | 'hh' | 'd' | 'dd' | 'M' | 'MM' | 'y' | 'yy';
+  type CalendarKey = 'sameDay' | 'nextDay' | 'lastDay' | 'nextWeek' | 'lastWeek' | 'sameElse' | string;
+  type LongDateFormatKey = 'LTS' | 'LT' | 'L' | 'LL' | 'LLL' | 'LLLL' | 'lts' | 'lt' | 'l' | 'll' | 'lll' | 'llll';
+
+  interface Locale {
+    calendar(key?: CalendarKey, m?: Moment, now?: Moment): string;
+
+    longDateFormat(key: LongDateFormatKey): string;
+    invalidDate(): string;
+    ordinal(n: number): string;
+
+    preparse(inp: string): string;
+    postformat(inp: string): string;
+    relativeTime(n: number, withoutSuffix: boolean,
+                 key: RelativeTimeKey, isFuture: boolean): string;
+    pastFuture(diff: number, absRelTime: string): string;
+    set(config: Object): void;
+
+    months(): string[];
+    months(m: Moment, format?: string): string;
+    monthsShort(): string[];
+    monthsShort(m: Moment, format?: string): string;
+    monthsParse(monthName: string, format: string, strict: boolean): number;
+    monthsRegex(strict: boolean): RegExp;
+    monthsShortRegex(strict: boolean): RegExp;
+
+    week(m: Moment): number;
+    firstDayOfYear(): number;
+    firstDayOfWeek(): number;
+
+    weekdays(): string[];
+    weekdays(m: Moment, format?: string): string;
+    weekdaysMin(): string[];
+    weekdaysMin(m: Moment): string;
+    weekdaysShort(): string[];
+    weekdaysShort(m: Moment): string;
+    weekdaysParse(weekdayName: string, format: string, strict: boolean): number;
+    weekdaysRegex(strict: boolean): RegExp;
+    weekdaysShortRegex(strict: boolean): RegExp;
+    weekdaysMinRegex(strict: boolean): RegExp;
+
+    isPM(input: string): boolean;
+    meridiem(hour: number, minute: number, isLower: boolean): string;
+  }
+
+  interface StandaloneFormatSpec {
+    format: string[];
+    standalone: string[];
+    isFormat?: RegExp;
+  }
+
+  interface WeekSpec {
+    dow: number;
+    doy: number;
+  }
+
+  type CalendarSpecVal = string | ((m?: MomentInput, now?: Moment) => string);
+  interface CalendarSpec {
+    sameDay?: CalendarSpecVal;
+    nextDay?: CalendarSpecVal;
+    lastDay?: CalendarSpecVal;
+    nextWeek?: CalendarSpecVal;
+    lastWeek?: CalendarSpecVal;
+    sameElse?: CalendarSpecVal;
+
+    // any additional properties might be used with moment.calendarFormat
+    [x: string]: CalendarSpecVal | void; // undefined
+  }
+
+  type RelativeTimeSpecVal = (
+    string |
+    ((n: number, withoutSuffix: boolean,
+      key: RelativeTimeKey, isFuture: boolean) => string)
+  );
+  type RelativeTimeFuturePastVal = string | ((relTime: string) => string);
+
+  interface RelativeTimeSpec {
+    future?: RelativeTimeFuturePastVal;
+    past?: RelativeTimeFuturePastVal;
+    s?: RelativeTimeSpecVal;
+    ss?: RelativeTimeSpecVal;
+    m?: RelativeTimeSpecVal;
+    mm?: RelativeTimeSpecVal;
+    h?: RelativeTimeSpecVal;
+    hh?: RelativeTimeSpecVal;
+    d?: RelativeTimeSpecVal;
+    dd?: RelativeTimeSpecVal;
+    M?: RelativeTimeSpecVal;
+    MM?: RelativeTimeSpecVal;
+    y?: RelativeTimeSpecVal;
+    yy?: RelativeTimeSpecVal;
+  }
+
+  interface LongDateFormatSpec {
+    LTS: string;
+    LT: string;
+    L: string;
+    LL: string;
+    LLL: string;
+    LLLL: string;
+
+    // lets forget for a sec that any upper/lower permutation will also work
+    lts?: string;
+    lt?: string;
+    l?: string;
+    ll?: string;
+    lll?: string;
+    llll?: string;
+  }
+
+  type MonthWeekdayFn = (momentToFormat: Moment, format?: string) => string;
+  type WeekdaySimpleFn = (momentToFormat: Moment) => string;
+
+  interface LocaleSpecification {
+    months?: string[] | StandaloneFormatSpec | MonthWeekdayFn;
+    monthsShort?: string[] | StandaloneFormatSpec | MonthWeekdayFn;
+
+    weekdays?: string[] | StandaloneFormatSpec | MonthWeekdayFn;
+    weekdaysShort?: string[] | StandaloneFormatSpec | WeekdaySimpleFn;
+    weekdaysMin?: string[] | StandaloneFormatSpec | WeekdaySimpleFn;
+
+    meridiemParse?: RegExp;
+    meridiem?: (hour: number, minute:number, isLower: boolean) => string;
+
+    isPM?: (input: string) => boolean;
+
+    longDateFormat?: LongDateFormatSpec;
+    calendar?: CalendarSpec;
+    relativeTime?: RelativeTimeSpec;
+    invalidDate?: string;
+    ordinal?: (n: number) => string;
+    ordinalParse?: RegExp;
+
+    week?: WeekSpec;
+
+    // Allow anything: in general any property that is passed as locale spec is
+    // put in the locale object so it can be used by locale functions
+    [x: string]: any;
+  }
+
+  interface MomentObjectOutput {
+    years: number;
+    /* One digit */
+    months: number;
+    /* Day of the month */
+    date: number;
+    hours: number;
+    minutes: number;
+    seconds: number;
+    milliseconds: number;
+  }
+
+  interface Duration {
+    clone(): Duration;
+
+    humanize(withSuffix?: boolean): string;
+
+    abs(): Duration;
+
+    as(units: unitOfTime.Base): number;
+    get(units: unitOfTime.Base): number;
+
+    milliseconds(): number;
+    asMilliseconds(): number;
+
+    seconds(): number;
+    asSeconds(): number;
+
+    minutes(): number;
+    asMinutes(): number;
+
+    hours(): number;
+    asHours(): number;
+
+    days(): number;
+    asDays(): number;
+
+    weeks(): number;
+    asWeeks(): number;
+
+    months(): number;
+    asMonths(): number;
+
+    years(): number;
+    asYears(): number;
+
+    add(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration;
+    subtract(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration;
+
+    locale(): string;
+    locale(locale: LocaleSpecifier): Duration;
+    localeData(): Locale;
+
+    toISOString(): string;
+    toJSON(): string;
+    
+    isValid(): boolean;
+
+    /**
+     * @deprecated since version 2.8.0
+     */
+    lang(locale: LocaleSpecifier): Moment;
+    /**
+     * @deprecated since version 2.8.0
+     */
+    lang(): Locale;
+    /**
+     * @deprecated
+     */
+    toIsoString(): string;
+  }
+
+  interface MomentRelativeTime {
+    future: any;
+    past: any;
+    s: any;
+    ss: any;
+    m: any;
+    mm: any;
+    h: any;
+    hh: any;
+    d: any;
+    dd: any;
+    M: any;
+    MM: any;
+    y: any;
+    yy: any;
+  }
+
+  interface MomentLongDateFormat {
+    L: string;
+    LL: string;
+    LLL: string;
+    LLLL: string;
+    LT: string;
+    LTS: string;
+
+    l?: string;
+    ll?: string;
+    lll?: string;
+    llll?: string;
+    lt?: string;
+    lts?: string;
+  }
+
+  interface MomentParsingFlags {
+    empty: boolean;
+    unusedTokens: string[];
+    unusedInput: string[];
+    overflow: number;
+    charsLeftOver: number;
+    nullInput: boolean;
+    invalidMonth: string | void; // null
+    invalidFormat: boolean;
+    userInvalidated: boolean;
+    iso: boolean;
+    parsedDateParts: any[];
+    meridiem: string | void; // null
+  }
+
+  interface MomentParsingFlagsOpt {
+    empty?: boolean;
+    unusedTokens?: string[];
+    unusedInput?: string[];
+    overflow?: number;
+    charsLeftOver?: number;
+    nullInput?: boolean;
+    invalidMonth?: string;
+    invalidFormat?: boolean;
+    userInvalidated?: boolean;
+    iso?: boolean;
+    parsedDateParts?: any[];
+    meridiem?: string;
+  }
+
+  interface MomentBuiltinFormat {
+    __momentBuiltinFormatBrand: any;
+  }
+
+  type MomentFormatSpecification = string | MomentBuiltinFormat | (string | MomentBuiltinFormat)[];
+
+  namespace unitOfTime {
+    type Base = (
+      "year" | "years" | "y" |
+      "month" | "months" | "M" |
+      "week" | "weeks" | "w" |
+      "day" | "days" | "d" |
+      "hour" | "hours" | "h" |
+      "minute" | "minutes" | "m" |
+      "second" | "seconds" | "s" |
+      "millisecond" | "milliseconds" | "ms"
+    );
+
+    type _quarter = "quarter" | "quarters" | "Q";
+    type _isoWeek = "isoWeek" | "isoWeeks" | "W";
+    type _date = "date" | "dates" | "D";
+    type DurationConstructor = Base | _quarter;
+
+    type DurationAs = Base;
+
+    type StartOf = Base | _quarter | _isoWeek | _date | void; // null
+
+    type Diff = Base | _quarter;
+
+    type MomentConstructor = Base | _date;
+
+    type All = Base | _quarter | _isoWeek | _date |
+      "weekYear" | "weekYears" | "gg" |
+      "isoWeekYear" | "isoWeekYears" | "GG" |
+      "dayOfYear" | "dayOfYears" | "DDD" |
+      "weekday" | "weekdays" | "e" |
+      "isoWeekday" | "isoWeekdays" | "E";
+  }
+
+  interface MomentInputObject {
+    years?: number;
+    year?: number;
+    y?: number;
+
+    months?: number;
+    month?: number;
+    M?: number;
+
+    days?: number;
+    day?: number;
+    d?: number;
+
+    dates?: number;
+    date?: number;
+    D?: number;
+
+    hours?: number;
+    hour?: number;
+    h?: number;
+
+    minutes?: number;
+    minute?: number;
+    m?: number;
+
+    seconds?: number;
+    second?: number;
+    s?: number;
+
+    milliseconds?: number;
+    millisecond?: number;
+    ms?: number;
+  }
+
+  interface DurationInputObject extends MomentInputObject {
+    quarters?: number;
+    quarter?: number;
+    Q?: number;
+
+    weeks?: number;
+    week?: number;
+    w?: number;
+  }
+
+  interface MomentSetObject extends MomentInputObject {
+    weekYears?: number;
+    weekYear?: number;
+    gg?: number;
+
+    isoWeekYears?: number;
+    isoWeekYear?: number;
+    GG?: number;
+
+    quarters?: number;
+    quarter?: number;
+    Q?: number;
+
+    weeks?: number;
+    week?: number;
+    w?: number;
+
+    isoWeeks?: number;
+    isoWeek?: number;
+    W?: number;
+
+    dayOfYears?: number;
+    dayOfYear?: number;
+    DDD?: number;
+
+    weekdays?: number;
+    weekday?: number;
+    e?: number;
+
+    isoWeekdays?: number;
+    isoWeekday?: number;
+    E?: number;
+  }
+
+  interface FromTo {
+    from: MomentInput;
+    to: MomentInput;
+  }
+
+  type MomentInput = Moment | Date | string | number | (number | string)[] | MomentInputObject | void; // null | undefined
+  type DurationInputArg1 = Duration | number | string | FromTo | DurationInputObject | void; // null | undefined
+  type DurationInputArg2 = unitOfTime.DurationConstructor;
+  type LocaleSpecifier = string | Moment | Duration | string[] | boolean;
+
+  interface MomentCreationData {
+    input: MomentInput;
+    format?: MomentFormatSpecification;
+    locale: Locale;
+    isUTC: boolean;
+    strict?: boolean;
+  }
+
+  interface Moment extends Object {
+    format(format?: string): string;
+
+    startOf(unitOfTime: unitOfTime.StartOf): Moment;
+    endOf(unitOfTime: unitOfTime.StartOf): Moment;
+
+    add(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment;
+    /**
+     * @deprecated reverse syntax
+     */
+    add(unit: unitOfTime.DurationConstructor, amount: number|string): Moment;
+
+    subtract(amount?: DurationInputArg1, unit?: DurationInputArg2): Moment;
+    /**
+     * @deprecated reverse syntax
+     */
+    subtract(unit: unitOfTime.DurationConstructor, amount: number|string): Moment;
+
+    calendar(time?: MomentInput, formats?: CalendarSpec): string;
+
+    clone(): Moment;
+
+    /**
+     * @return Unix timestamp in milliseconds
+     */
+    valueOf(): number;
+
+    // current date/time in local mode
+    local(keepLocalTime?: boolean): Moment;
+    isLocal(): boolean;
+
+    // current date/time in UTC mode
+    utc(keepLocalTime?: boolean): Moment;
+    isUTC(): boolean;
+    /**
+     * @deprecated use isUTC
+     */
+    isUtc(): boolean;
+
+    parseZone(): Moment;
+    isValid(): boolean;
+    invalidAt(): number;
+
+    hasAlignedHourOffset(other?: MomentInput): boolean;
+
+    creationData(): MomentCreationData;
+    parsingFlags(): MomentParsingFlags;
+
+    year(y: number): Moment;
+    year(): number;
+    /**
+     * @deprecated use year(y)
+     */
+    years(y: number): Moment;
+    /**
+     * @deprecated use year()
+     */
+    years(): number;
+    quarter(): number;
+    quarter(q: number): Moment;
+    quarters(): number;
+    quarters(q: number): Moment;
+    month(M: number|string): Moment;
+    month(): number;
+    /**
+     * @deprecated use month(M)
+     */
+    months(M: number|string): Moment;
+    /**
+     * @deprecated use month()
+     */
+    months(): number;
+    day(d: number|string): Moment;
+    day(): number;
+    days(d: number|string): Moment;
+    days(): number;
+    date(d: number): Moment;
+    date(): number;
+    /**
+     * @deprecated use date(d)
+     */
+    dates(d: number): Moment;
+    /**
+     * @deprecated use date()
+     */
+    dates(): number;
+    hour(h: number): Moment;
+    hour(): number;
+    hours(h: number): Moment;
+    hours(): number;
+    minute(m: number): Moment;
+    minute(): number;
+    minutes(m: number): Moment;
+    minutes(): number;
+    second(s: number): Moment;
+    second(): number;
+    seconds(s: number): Moment;
+    seconds(): number;
+    millisecond(ms: number): Moment;
+    millisecond(): number;
+    milliseconds(ms: number): Moment;
+    milliseconds(): number;
+    weekday(): number;
+    weekday(d: number): Moment;
+    isoWeekday(): number;
+    isoWeekday(d: number|string): Moment;
+    weekYear(): number;
+    weekYear(d: number): Moment;
+    isoWeekYear(): number;
+    isoWeekYear(d: number): Moment;
+    week(): number;
+    week(d: number): Moment;
+    weeks(): number;
+    weeks(d: number): Moment;
+    isoWeek(): number;
+    isoWeek(d: number): Moment;
+    isoWeeks(): number;
+    isoWeeks(d: number): Moment;
+    weeksInYear(): number;
+    isoWeeksInYear(): number;
+    dayOfYear(): number;
+    dayOfYear(d: number): Moment;
+
+    from(inp: MomentInput, suffix?: boolean): string;
+    to(inp: MomentInput, suffix?: boolean): string;
+    fromNow(withoutSuffix?: boolean): string;
+    toNow(withoutPrefix?: boolean): string;
+
+    diff(b: MomentInput, unitOfTime?: unitOfTime.Diff, precise?: boolean): number;
+
+    toArray(): number[];
+    toDate(): Date;
+    toISOString(keepOffset?: boolean): string;
+    inspect(): string;
+    toJSON(): string;
+    unix(): number;
+
+    isLeapYear(): boolean;
+    /**
+     * @deprecated in favor of utcOffset
+     */
+    zone(): number;
+    zone(b: number|string): Moment;
+    utcOffset(): number;
+    utcOffset(b: number|string, keepLocalTime?: boolean): Moment;
+    isUtcOffset(): boolean;
+    daysInMonth(): number;
+    isDST(): boolean;
+
+    zoneAbbr(): string;
+    zoneName(): string;
+
+    isBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean;
+    isAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean;
+    isSame(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean;
+    isSameOrAfter(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean;
+    isSameOrBefore(inp?: MomentInput, granularity?: unitOfTime.StartOf): boolean;
+    isBetween(a: MomentInput, b: MomentInput, granularity?: unitOfTime.StartOf, inclusivity?: "()" | "[)" | "(]" | "[]"): boolean;
+
+    /**
+     * @deprecated as of 2.8.0, use locale
+     */
+    lang(language: LocaleSpecifier): Moment;
+    /**
+     * @deprecated as of 2.8.0, use locale
+     */
+    lang(): Locale;
+
+    locale(): string;
+    locale(locale: LocaleSpecifier): Moment;
+
+    localeData(): Locale;
+
+    /**
+     * @deprecated no reliable implementation
+     */
+    isDSTShifted(): boolean;
+
+    // NOTE(constructor): Same as moment constructor
+    /**
+     * @deprecated as of 2.7.0, use moment.min/max
+     */
+    max(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment;
+    /**
+     * @deprecated as of 2.7.0, use moment.min/max
+     */
+    max(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment;
+
+    // NOTE(constructor): Same as moment constructor
+    /**
+     * @deprecated as of 2.7.0, use moment.min/max
+     */
+    min(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment;
+    /**
+     * @deprecated as of 2.7.0, use moment.min/max
+     */
+    min(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment;
+
+    get(unit: unitOfTime.All): number;
+    set(unit: unitOfTime.All, value: number): Moment;
+    set(objectLiteral: MomentSetObject): Moment;
+
+    toObject(): MomentObjectOutput;
+  }
+
+  export var version: string;
+  export var fn: Moment;
+
+  // NOTE(constructor): Same as moment constructor
+  export function utc(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment;
+  export function utc(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment;
+
+  export function unix(timestamp: number): Moment;
+
+  export function invalid(flags?: MomentParsingFlagsOpt): Moment;
+  export function isMoment(m: any): m is Moment;
+  export function isDate(m: any): m is Date;
+  export function isDuration(d: any): d is Duration;
+
+  /**
+   * @deprecated in 2.8.0
+   */
+  export function lang(language?: string): string;
+  /**
+   * @deprecated in 2.8.0
+   */
+  export function lang(language?: string, definition?: Locale): string;
+
+  export function locale(language?: string): string;
+  export function locale(language?: string[]): string;
+  export function locale(language?: string, definition?: LocaleSpecification | void): string; // null | undefined
+
+  export function localeData(key?: string | string[]): Locale;
+
+  export function duration(inp?: DurationInputArg1, unit?: DurationInputArg2): Duration;
+
+  // NOTE(constructor): Same as moment constructor
+  export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, strict?: boolean): Moment;
+  export function parseZone(inp?: MomentInput, format?: MomentFormatSpecification, language?: string, strict?: boolean): Moment;
+
+  export function months(): string[];
+  export function months(index: number): string;
+  export function months(format: string): string[];
+  export function months(format: string, index: number): string;
+  export function monthsShort(): string[];
+  export function monthsShort(index: number): string;
+  export function monthsShort(format: string): string[];
+  export function monthsShort(format: string, index: number): string;
+
+  export function weekdays(): string[];
+  export function weekdays(index: number): string;
+  export function weekdays(format: string): string[];
+  export function weekdays(format: string, index: number): string;
+  export function weekdays(localeSorted: boolean): string[];
+  export function weekdays(localeSorted: boolean, index: number): string;
+  export function weekdays(localeSorted: boolean, format: string): string[];
+  export function weekdays(localeSorted: boolean, format: string, index: number): string;
+  export function weekdaysShort(): string[];
+  export function weekdaysShort(index: number): string;
+  export function weekdaysShort(format: string): string[];
+  export function weekdaysShort(format: string, index: number): string;
+  export function weekdaysShort(localeSorted: boolean): string[];
+  export function weekdaysShort(localeSorted: boolean, index: number): string;
+  export function weekdaysShort(localeSorted: boolean, format: string): string[];
+  export function weekdaysShort(localeSorted: boolean, format: string, index: number): string;
+  export function weekdaysMin(): string[];
+  export function weekdaysMin(index: number): string;
+  export function weekdaysMin(format: string): string[];
+  export function weekdaysMin(format: string, index: number): string;
+  export function weekdaysMin(localeSorted: boolean): string[];
+  export function weekdaysMin(localeSorted: boolean, index: number): string;
+  export function weekdaysMin(localeSorted: boolean, format: string): string[];
+  export function weekdaysMin(localeSorted: boolean, format: string, index: number): string;
+
+  export function min(moments: Moment[]): Moment;
+  export function min(...moments: Moment[]): Moment;
+  export function max(moments: Moment[]): Moment;
+  export function max(...moments: Moment[]): Moment;
+
+  /**
+   * Returns unix time in milliseconds. Overwrite for profit.
+   */
+  export function now(): number;
+
+  export function defineLocale(language: string, localeSpec: LocaleSpecification | void): Locale; // null
+  export function updateLocale(language: string, localeSpec: LocaleSpecification | void): Locale; // null
+
+  export function locales(): string[];
+
+  export function normalizeUnits(unit: unitOfTime.All): string;
+  export function relativeTimeThreshold(threshold: string): number | boolean;
+  export function relativeTimeThreshold(threshold: string, limit: number): boolean;
+  export function relativeTimeRounding(fn: (num: number) => number): boolean;
+  export function relativeTimeRounding(): (num: number) => number;
+  export function calendarFormat(m: Moment, now: Moment): string;
+
+  export function parseTwoDigitYear(input: string): number;
+
+  /**
+   * Constant used to enable explicit ISO_8601 format parsing.
+   */
+  export var ISO_8601: MomentBuiltinFormat;
+  export var RFC_2822: MomentBuiltinFormat;
+
+  export var defaultFormat: string;
+  export var defaultFormatUtc: string;
+  
+  export var HTML5_FMT: { 
+    DATETIME_LOCAL: string,
+    DATETIME_LOCAL_SECONDS: string,
+    DATETIME_LOCAL_MS: string,
+    DATE: string,                           
+    TIME: string,                                 
+    TIME_SECONDS: string,                      
+    TIME_MS: string,                        
+    WEEK: string,                           
+    MONTH: string
+  };
+
+}
+
+export = moment;
diff --git a/public/bower_components/moment/moment.js b/public/bower_components/moment/moment.js
new file mode 100644
index 0000000..1b12971
--- /dev/null
+++ b/public/bower_components/moment/moment.js
@@ -0,0 +1,4602 @@
+//! moment.js
+
+;(function (global, factory) {
+    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+    typeof define === 'function' && define.amd ? define(factory) :
+    global.moment = factory()
+}(this, (function () { 'use strict';
+
+    var hookCallback;
+
+    function hooks () {
+        return hookCallback.apply(null, arguments);
+    }
+
+    // This is done to register the method called with moment()
+    // without creating circular dependencies.
+    function setHookCallback (callback) {
+        hookCallback = callback;
+    }
+
+    function isArray(input) {
+        return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
+    }
+
+    function isObject(input) {
+        // IE8 will treat undefined and null as object if it wasn't for
+        // input != null
+        return input != null && Object.prototype.toString.call(input) === '[object Object]';
+    }
+
+    function isObjectEmpty(obj) {
+        if (Object.getOwnPropertyNames) {
+            return (Object.getOwnPropertyNames(obj).length === 0);
+        } else {
+            var k;
+            for (k in obj) {
+                if (obj.hasOwnProperty(k)) {
+                    return false;
+                }
+            }
+            return true;
+        }
+    }
+
+    function isUndefined(input) {
+        return input === void 0;
+    }
+
+    function isNumber(input) {
+        return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
+    }
+
+    function isDate(input) {
+        return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
+    }
+
+    function map(arr, fn) {
+        var res = [], i;
+        for (i = 0; i < arr.length; ++i) {
+            res.push(fn(arr[i], i));
+        }
+        return res;
+    }
+
+    function hasOwnProp(a, b) {
+        return Object.prototype.hasOwnProperty.call(a, b);
+    }
+
+    function extend(a, b) {
+        for (var i in b) {
+            if (hasOwnProp(b, i)) {
+                a[i] = b[i];
+            }
+        }
+
+        if (hasOwnProp(b, 'toString')) {
+            a.toString = b.toString;
+        }
+
+        if (hasOwnProp(b, 'valueOf')) {
+            a.valueOf = b.valueOf;
+        }
+
+        return a;
+    }
+
+    function createUTC (input, format, locale, strict) {
+        return createLocalOrUTC(input, format, locale, strict, true).utc();
+    }
+
+    function defaultParsingFlags() {
+        // We need to deep clone this object.
+        return {
+            empty           : false,
+            unusedTokens    : [],
+            unusedInput     : [],
+            overflow        : -2,
+            charsLeftOver   : 0,
+            nullInput       : false,
+            invalidMonth    : null,
+            invalidFormat   : false,
+            userInvalidated : false,
+            iso             : false,
+            parsedDateParts : [],
+            meridiem        : null,
+            rfc2822         : false,
+            weekdayMismatch : false
+        };
+    }
+
+    function getParsingFlags(m) {
+        if (m._pf == null) {
+            m._pf = defaultParsingFlags();
+        }
+        return m._pf;
+    }
+
+    var some;
+    if (Array.prototype.some) {
+        some = Array.prototype.some;
+    } else {
+        some = function (fun) {
+            var t = Object(this);
+            var len = t.length >>> 0;
+
+            for (var i = 0; i < len; i++) {
+                if (i in t && fun.call(this, t[i], i, t)) {
+                    return true;
+                }
+            }
+
+            return false;
+        };
+    }
+
+    function isValid(m) {
+        if (m._isValid == null) {
+            var flags = getParsingFlags(m);
+            var parsedParts = some.call(flags.parsedDateParts, function (i) {
+                return i != null;
+            });
+            var isNowValid = !isNaN(m._d.getTime()) &&
+                flags.overflow < 0 &&
+                !flags.empty &&
+                !flags.invalidMonth &&
+                !flags.invalidWeekday &&
+                !flags.weekdayMismatch &&
+                !flags.nullInput &&
+                !flags.invalidFormat &&
+                !flags.userInvalidated &&
+                (!flags.meridiem || (flags.meridiem && parsedParts));
+
+            if (m._strict) {
+                isNowValid = isNowValid &&
+                    flags.charsLeftOver === 0 &&
+                    flags.unusedTokens.length === 0 &&
+                    flags.bigHour === undefined;
+            }
+
+            if (Object.isFrozen == null || !Object.isFrozen(m)) {
+                m._isValid = isNowValid;
+            }
+            else {
+                return isNowValid;
+            }
+        }
+        return m._isValid;
+    }
+
+    function createInvalid (flags) {
+        var m = createUTC(NaN);
+        if (flags != null) {
+            extend(getParsingFlags(m), flags);
+        }
+        else {
+            getParsingFlags(m).userInvalidated = true;
+        }
+
+        return m;
+    }
+
+    // Plugins that add properties should also add the key here (null value),
+    // so we can properly clone ourselves.
+    var momentProperties = hooks.momentProperties = [];
+
+    function copyConfig(to, from) {
+        var i, prop, val;
+
+        if (!isUndefined(from._isAMomentObject)) {
+            to._isAMomentObject = from._isAMomentObject;
+        }
+        if (!isUndefined(from._i)) {
+            to._i = from._i;
+        }
+        if (!isUndefined(from._f)) {
+            to._f = from._f;
+        }
+        if (!isUndefined(from._l)) {
+            to._l = from._l;
+        }
+        if (!isUndefined(from._strict)) {
+            to._strict = from._strict;
+        }
+        if (!isUndefined(from._tzm)) {
+            to._tzm = from._tzm;
+        }
+        if (!isUndefined(from._isUTC)) {
+            to._isUTC = from._isUTC;
+        }
+        if (!isUndefined(from._offset)) {
+            to._offset = from._offset;
+        }
+        if (!isUndefined(from._pf)) {
+            to._pf = getParsingFlags(from);
+        }
+        if (!isUndefined(from._locale)) {
+            to._locale = from._locale;
+        }
+
+        if (momentProperties.length > 0) {
+            for (i = 0; i < momentProperties.length; i++) {
+                prop = momentProperties[i];
+                val = from[prop];
+                if (!isUndefined(val)) {
+                    to[prop] = val;
+                }
+            }
+        }
+
+        return to;
+    }
+
+    var updateInProgress = false;
+
+    // Moment prototype object
+    function Moment(config) {
+        copyConfig(this, config);
+        this._d = new Date(config._d != null ? config._d.getTime() : NaN);
+        if (!this.isValid()) {
+            this._d = new Date(NaN);
+        }
+        // Prevent infinite loop in case updateOffset creates new moment
+        // objects.
+        if (updateInProgress === false) {
+            updateInProgress = true;
+            hooks.updateOffset(this);
+            updateInProgress = false;
+        }
+    }
+
+    function isMoment (obj) {
+        return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
+    }
+
+    function absFloor (number) {
+        if (number < 0) {
+            // -0 -> 0
+            return Math.ceil(number) || 0;
+        } else {
+            return Math.floor(number);
+        }
+    }
+
+    function toInt(argumentForCoercion) {
+        var coercedNumber = +argumentForCoercion,
+            value = 0;
+
+        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+            value = absFloor(coercedNumber);
+        }
+
+        return value;
+    }
+
+    // compare two arrays, return the number of differences
+    function compareArrays(array1, array2, dontConvert) {
+        var len = Math.min(array1.length, array2.length),
+            lengthDiff = Math.abs(array1.length - array2.length),
+            diffs = 0,
+            i;
+        for (i = 0; i < len; i++) {
+            if ((dontConvert && array1[i] !== array2[i]) ||
+                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+                diffs++;
+            }
+        }
+        return diffs + lengthDiff;
+    }
+
+    function warn(msg) {
+        if (hooks.suppressDeprecationWarnings === false &&
+                (typeof console !==  'undefined') && console.warn) {
+            console.warn('Deprecation warning: ' + msg);
+        }
+    }
+
+    function deprecate(msg, fn) {
+        var firstTime = true;
+
+        return extend(function () {
+            if (hooks.deprecationHandler != null) {
+                hooks.deprecationHandler(null, msg);
+            }
+            if (firstTime) {
+                var args = [];
+                var arg;
+                for (var i = 0; i < arguments.length; i++) {
+                    arg = '';
+                    if (typeof arguments[i] === 'object') {
+                        arg += '\n[' + i + '] ';
+                        for (var key in arguments[0]) {
+                            arg += key + ': ' + arguments[0][key] + ', ';
+                        }
+                        arg = arg.slice(0, -2); // Remove trailing comma and space
+                    } else {
+                        arg = arguments[i];
+                    }
+                    args.push(arg);
+                }
+                warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
+                firstTime = false;
+            }
+            return fn.apply(this, arguments);
+        }, fn);
+    }
+
+    var deprecations = {};
+
+    function deprecateSimple(name, msg) {
+        if (hooks.deprecationHandler != null) {
+            hooks.deprecationHandler(name, msg);
+        }
+        if (!deprecations[name]) {
+            warn(msg);
+            deprecations[name] = true;
+        }
+    }
+
+    hooks.suppressDeprecationWarnings = false;
+    hooks.deprecationHandler = null;
+
+    function isFunction(input) {
+        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
+    }
+
+    function set (config) {
+        var prop, i;
+        for (i in config) {
+            prop = config[i];
+            if (isFunction(prop)) {
+                this[i] = prop;
+            } else {
+                this['_' + i] = prop;
+            }
+        }
+        this._config = config;
+        // Lenient ordinal parsing accepts just a number in addition to
+        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
+        // TODO: Remove "ordinalParse" fallback in next major release.
+        this._dayOfMonthOrdinalParseLenient = new RegExp(
+            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
+                '|' + (/\d{1,2}/).source);
+    }
+
+    function mergeConfigs(parentConfig, childConfig) {
+        var res = extend({}, parentConfig), prop;
+        for (prop in childConfig) {
+            if (hasOwnProp(childConfig, prop)) {
+                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
+                    res[prop] = {};
+                    extend(res[prop], parentConfig[prop]);
+                    extend(res[prop], childConfig[prop]);
+                } else if (childConfig[prop] != null) {
+                    res[prop] = childConfig[prop];
+                } else {
+                    delete res[prop];
+                }
+            }
+        }
+        for (prop in parentConfig) {
+            if (hasOwnProp(parentConfig, prop) &&
+                    !hasOwnProp(childConfig, prop) &&
+                    isObject(parentConfig[prop])) {
+                // make sure changes to properties don't modify parent config
+                res[prop] = extend({}, res[prop]);
+            }
+        }
+        return res;
+    }
+
+    function Locale(config) {
+        if (config != null) {
+            this.set(config);
+        }
+    }
+
+    var keys;
+
+    if (Object.keys) {
+        keys = Object.keys;
+    } else {
+        keys = function (obj) {
+            var i, res = [];
+            for (i in obj) {
+                if (hasOwnProp(obj, i)) {
+                    res.push(i);
+                }
+            }
+            return res;
+        };
+    }
+
+    var defaultCalendar = {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    };
+
+    function calendar (key, mom, now) {
+        var output = this._calendar[key] || this._calendar['sameElse'];
+        return isFunction(output) ? output.call(mom, now) : output;
+    }
+
+    var defaultLongDateFormat = {
+        LTS  : 'h:mm:ss A',
+        LT   : 'h:mm A',
+        L    : 'MM/DD/YYYY',
+        LL   : 'MMMM D, YYYY',
+        LLL  : 'MMMM D, YYYY h:mm A',
+        LLLL : 'dddd, MMMM D, YYYY h:mm A'
+    };
+
+    function longDateFormat (key) {
+        var format = this._longDateFormat[key],
+            formatUpper = this._longDateFormat[key.toUpperCase()];
+
+        if (format || !formatUpper) {
+            return format;
+        }
+
+        this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
+            return val.slice(1);
+        });
+
+        return this._longDateFormat[key];
+    }
+
+    var defaultInvalidDate = 'Invalid date';
+
+    function invalidDate () {
+        return this._invalidDate;
+    }
+
+    var defaultOrdinal = '%d';
+    var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
+
+    function ordinal (number) {
+        return this._ordinal.replace('%d', number);
+    }
+
+    var defaultRelativeTime = {
+        future : 'in %s',
+        past   : '%s ago',
+        s  : 'a few seconds',
+        ss : '%d seconds',
+        m  : 'a minute',
+        mm : '%d minutes',
+        h  : 'an hour',
+        hh : '%d hours',
+        d  : 'a day',
+        dd : '%d days',
+        M  : 'a month',
+        MM : '%d months',
+        y  : 'a year',
+        yy : '%d years'
+    };
+
+    function relativeTime (number, withoutSuffix, string, isFuture) {
+        var output = this._relativeTime[string];
+        return (isFunction(output)) ?
+            output(number, withoutSuffix, string, isFuture) :
+            output.replace(/%d/i, number);
+    }
+
+    function pastFuture (diff, output) {
+        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+        return isFunction(format) ? format(output) : format.replace(/%s/i, output);
+    }
+
+    var aliases = {};
+
+    function addUnitAlias (unit, shorthand) {
+        var lowerCase = unit.toLowerCase();
+        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
+    }
+
+    function normalizeUnits(units) {
+        return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
+    }
+
+    function normalizeObjectUnits(inputObject) {
+        var normalizedInput = {},
+            normalizedProp,
+            prop;
+
+        for (prop in inputObject) {
+            if (hasOwnProp(inputObject, prop)) {
+                normalizedProp = normalizeUnits(prop);
+                if (normalizedProp) {
+                    normalizedInput[normalizedProp] = inputObject[prop];
+                }
+            }
+        }
+
+        return normalizedInput;
+    }
+
+    var priorities = {};
+
+    function addUnitPriority(unit, priority) {
+        priorities[unit] = priority;
+    }
+
+    function getPrioritizedUnits(unitsObj) {
+        var units = [];
+        for (var u in unitsObj) {
+            units.push({unit: u, priority: priorities[u]});
+        }
+        units.sort(function (a, b) {
+            return a.priority - b.priority;
+        });
+        return units;
+    }
+
+    function zeroFill(number, targetLength, forceSign) {
+        var absNumber = '' + Math.abs(number),
+            zerosToFill = targetLength - absNumber.length,
+            sign = number >= 0;
+        return (sign ? (forceSign ? '+' : '') : '-') +
+            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
+    }
+
+    var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
+
+    var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
+
+    var formatFunctions = {};
+
+    var formatTokenFunctions = {};
+
+    // token:    'M'
+    // padded:   ['MM', 2]
+    // ordinal:  'Mo'
+    // callback: function () { this.month() + 1 }
+    function addFormatToken (token, padded, ordinal, callback) {
+        var func = callback;
+        if (typeof callback === 'string') {
+            func = function () {
+                return this[callback]();
+            };
+        }
+        if (token) {
+            formatTokenFunctions[token] = func;
+        }
+        if (padded) {
+            formatTokenFunctions[padded[0]] = function () {
+                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
+            };
+        }
+        if (ordinal) {
+            formatTokenFunctions[ordinal] = function () {
+                return this.localeData().ordinal(func.apply(this, arguments), token);
+            };
+        }
+    }
+
+    function removeFormattingTokens(input) {
+        if (input.match(/\[[\s\S]/)) {
+            return input.replace(/^\[|\]$/g, '');
+        }
+        return input.replace(/\\/g, '');
+    }
+
+    function makeFormatFunction(format) {
+        var array = format.match(formattingTokens), i, length;
+
+        for (i = 0, length = array.length; i < length; i++) {
+            if (formatTokenFunctions[array[i]]) {
+                array[i] = formatTokenFunctions[array[i]];
+            } else {
+                array[i] = removeFormattingTokens(array[i]);
+            }
+        }
+
+        return function (mom) {
+            var output = '', i;
+            for (i = 0; i < length; i++) {
+                output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
+            }
+            return output;
+        };
+    }
+
+    // format date using native date object
+    function formatMoment(m, format) {
+        if (!m.isValid()) {
+            return m.localeData().invalidDate();
+        }
+
+        format = expandFormat(format, m.localeData());
+        formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
+
+        return formatFunctions[format](m);
+    }
+
+    function expandFormat(format, locale) {
+        var i = 5;
+
+        function replaceLongDateFormatTokens(input) {
+            return locale.longDateFormat(input) || input;
+        }
+
+        localFormattingTokens.lastIndex = 0;
+        while (i >= 0 && localFormattingTokens.test(format)) {
+            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+            localFormattingTokens.lastIndex = 0;
+            i -= 1;
+        }
+
+        return format;
+    }
+
+    var match1         = /\d/;            //       0 - 9
+    var match2         = /\d\d/;          //      00 - 99
+    var match3         = /\d{3}/;         //     000 - 999
+    var match4         = /\d{4}/;         //    0000 - 9999
+    var match6         = /[+-]?\d{6}/;    // -999999 - 999999
+    var match1to2      = /\d\d?/;         //       0 - 99
+    var match3to4      = /\d\d\d\d?/;     //     999 - 9999
+    var match5to6      = /\d\d\d\d\d\d?/; //   99999 - 999999
+    var match1to3      = /\d{1,3}/;       //       0 - 999
+    var match1to4      = /\d{1,4}/;       //       0 - 9999
+    var match1to6      = /[+-]?\d{1,6}/;  // -999999 - 999999
+
+    var matchUnsigned  = /\d+/;           //       0 - inf
+    var matchSigned    = /[+-]?\d+/;      //    -inf - inf
+
+    var matchOffset    = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
+    var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
+
+    var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
+
+    // any word (or two) characters or numbers including two/three word month in arabic.
+    // includes scottish gaelic two word and hyphenated months
+    var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
+
+    var regexes = {};
+
+    function addRegexToken (token, regex, strictRegex) {
+        regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
+            return (isStrict && strictRegex) ? strictRegex : regex;
+        };
+    }
+
+    function getParseRegexForToken (token, config) {
+        if (!hasOwnProp(regexes, token)) {
+            return new RegExp(unescapeFormat(token));
+        }
+
+        return regexes[token](config._strict, config._locale);
+    }
+
+    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+    function unescapeFormat(s) {
+        return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+            return p1 || p2 || p3 || p4;
+        }));
+    }
+
+    function regexEscape(s) {
+        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+    }
+
+    var tokens = {};
+
+    function addParseToken (token, callback) {
+        var i, func = callback;
+        if (typeof token === 'string') {
+            token = [token];
+        }
+        if (isNumber(callback)) {
+            func = function (input, array) {
+                array[callback] = toInt(input);
+            };
+        }
+        for (i = 0; i < token.length; i++) {
+            tokens[token[i]] = func;
+        }
+    }
+
+    function addWeekParseToken (token, callback) {
+        addParseToken(token, function (input, array, config, token) {
+            config._w = config._w || {};
+            callback(input, config._w, config, token);
+        });
+    }
+
+    function addTimeToArrayFromToken(token, input, config) {
+        if (input != null && hasOwnProp(tokens, token)) {
+            tokens[token](input, config._a, config, token);
+        }
+    }
+
+    var YEAR = 0;
+    var MONTH = 1;
+    var DATE = 2;
+    var HOUR = 3;
+    var MINUTE = 4;
+    var SECOND = 5;
+    var MILLISECOND = 6;
+    var WEEK = 7;
+    var WEEKDAY = 8;
+
+    // FORMATTING
+
+    addFormatToken('Y', 0, 0, function () {
+        var y = this.year();
+        return y <= 9999 ? '' + y : '+' + y;
+    });
+
+    addFormatToken(0, ['YY', 2], 0, function () {
+        return this.year() % 100;
+    });
+
+    addFormatToken(0, ['YYYY',   4],       0, 'year');
+    addFormatToken(0, ['YYYYY',  5],       0, 'year');
+    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+    // ALIASES
+
+    addUnitAlias('year', 'y');
+
+    // PRIORITIES
+
+    addUnitPriority('year', 1);
+
+    // PARSING
+
+    addRegexToken('Y',      matchSigned);
+    addRegexToken('YY',     match1to2, match2);
+    addRegexToken('YYYY',   match1to4, match4);
+    addRegexToken('YYYYY',  match1to6, match6);
+    addRegexToken('YYYYYY', match1to6, match6);
+
+    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+    addParseToken('YYYY', function (input, array) {
+        array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+    });
+    addParseToken('YY', function (input, array) {
+        array[YEAR] = hooks.parseTwoDigitYear(input);
+    });
+    addParseToken('Y', function (input, array) {
+        array[YEAR] = parseInt(input, 10);
+    });
+
+    // HELPERS
+
+    function daysInYear(year) {
+        return isLeapYear(year) ? 366 : 365;
+    }
+
+    function isLeapYear(year) {
+        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+    }
+
+    // HOOKS
+
+    hooks.parseTwoDigitYear = function (input) {
+        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+    };
+
+    // MOMENTS
+
+    var getSetYear = makeGetSet('FullYear', true);
+
+    function getIsLeapYear () {
+        return isLeapYear(this.year());
+    }
+
+    function makeGetSet (unit, keepTime) {
+        return function (value) {
+            if (value != null) {
+                set$1(this, unit, value);
+                hooks.updateOffset(this, keepTime);
+                return this;
+            } else {
+                return get(this, unit);
+            }
+        };
+    }
+
+    function get (mom, unit) {
+        return mom.isValid() ?
+            mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
+    }
+
+    function set$1 (mom, unit, value) {
+        if (mom.isValid() && !isNaN(value)) {
+            if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
+                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
+            }
+            else {
+                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+            }
+        }
+    }
+
+    // MOMENTS
+
+    function stringGet (units) {
+        units = normalizeUnits(units);
+        if (isFunction(this[units])) {
+            return this[units]();
+        }
+        return this;
+    }
+
+
+    function stringSet (units, value) {
+        if (typeof units === 'object') {
+            units = normalizeObjectUnits(units);
+            var prioritized = getPrioritizedUnits(units);
+            for (var i = 0; i < prioritized.length; i++) {
+                this[prioritized[i].unit](units[prioritized[i].unit]);
+            }
+        } else {
+            units = normalizeUnits(units);
+            if (isFunction(this[units])) {
+                return this[units](value);
+            }
+        }
+        return this;
+    }
+
+    function mod(n, x) {
+        return ((n % x) + x) % x;
+    }
+
+    var indexOf;
+
+    if (Array.prototype.indexOf) {
+        indexOf = Array.prototype.indexOf;
+    } else {
+        indexOf = function (o) {
+            // I know
+            var i;
+            for (i = 0; i < this.length; ++i) {
+                if (this[i] === o) {
+                    return i;
+                }
+            }
+            return -1;
+        };
+    }
+
+    function daysInMonth(year, month) {
+        if (isNaN(year) || isNaN(month)) {
+            return NaN;
+        }
+        var modMonth = mod(month, 12);
+        year += (month - modMonth) / 12;
+        return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
+    }
+
+    // FORMATTING
+
+    addFormatToken('M', ['MM', 2], 'Mo', function () {
+        return this.month() + 1;
+    });
+
+    addFormatToken('MMM', 0, 0, function (format) {
+        return this.localeData().monthsShort(this, format);
+    });
+
+    addFormatToken('MMMM', 0, 0, function (format) {
+        return this.localeData().months(this, format);
+    });
+
+    // ALIASES
+
+    addUnitAlias('month', 'M');
+
+    // PRIORITY
+
+    addUnitPriority('month', 8);
+
+    // PARSING
+
+    addRegexToken('M',    match1to2);
+    addRegexToken('MM',   match1to2, match2);
+    addRegexToken('MMM',  function (isStrict, locale) {
+        return locale.monthsShortRegex(isStrict);
+    });
+    addRegexToken('MMMM', function (isStrict, locale) {
+        return locale.monthsRegex(isStrict);
+    });
+
+    addParseToken(['M', 'MM'], function (input, array) {
+        array[MONTH] = toInt(input) - 1;
+    });
+
+    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
+        var month = config._locale.monthsParse(input, token, config._strict);
+        // if we didn't find a month name, mark the date as invalid.
+        if (month != null) {
+            array[MONTH] = month;
+        } else {
+            getParsingFlags(config).invalidMonth = input;
+        }
+    });
+
+    // LOCALES
+
+    var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
+    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
+    function localeMonths (m, format) {
+        if (!m) {
+            return isArray(this._months) ? this._months :
+                this._months['standalone'];
+        }
+        return isArray(this._months) ? this._months[m.month()] :
+            this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
+    }
+
+    var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
+    function localeMonthsShort (m, format) {
+        if (!m) {
+            return isArray(this._monthsShort) ? this._monthsShort :
+                this._monthsShort['standalone'];
+        }
+        return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
+            this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
+    }
+
+    function handleStrictParse(monthName, format, strict) {
+        var i, ii, mom, llc = monthName.toLocaleLowerCase();
+        if (!this._monthsParse) {
+            // this is not used
+            this._monthsParse = [];
+            this._longMonthsParse = [];
+            this._shortMonthsParse = [];
+            for (i = 0; i < 12; ++i) {
+                mom = createUTC([2000, i]);
+                this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
+                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
+            }
+        }
+
+        if (strict) {
+            if (format === 'MMM') {
+                ii = indexOf.call(this._shortMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._longMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        } else {
+            if (format === 'MMM') {
+                ii = indexOf.call(this._shortMonthsParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._longMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._longMonthsParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._shortMonthsParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        }
+    }
+
+    function localeMonthsParse (monthName, format, strict) {
+        var i, mom, regex;
+
+        if (this._monthsParseExact) {
+            return handleStrictParse.call(this, monthName, format, strict);
+        }
+
+        if (!this._monthsParse) {
+            this._monthsParse = [];
+            this._longMonthsParse = [];
+            this._shortMonthsParse = [];
+        }
+
+        // TODO: add sorting
+        // Sorting makes sure if one month (or abbr) is a prefix of another
+        // see sorting in computeMonthsParse
+        for (i = 0; i < 12; i++) {
+            // make the regex if we don't have it already
+            mom = createUTC([2000, i]);
+            if (strict && !this._longMonthsParse[i]) {
+                this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
+                this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
+            }
+            if (!strict && !this._monthsParse[i]) {
+                regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+            }
+            // test the regex
+            if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
+                return i;
+            } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
+                return i;
+            } else if (!strict && this._monthsParse[i].test(monthName)) {
+                return i;
+            }
+        }
+    }
+
+    // MOMENTS
+
+    function setMonth (mom, value) {
+        var dayOfMonth;
+
+        if (!mom.isValid()) {
+            // No op
+            return mom;
+        }
+
+        if (typeof value === 'string') {
+            if (/^\d+$/.test(value)) {
+                value = toInt(value);
+            } else {
+                value = mom.localeData().monthsParse(value);
+                // TODO: Another silent failure?
+                if (!isNumber(value)) {
+                    return mom;
+                }
+            }
+        }
+
+        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
+        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+        return mom;
+    }
+
+    function getSetMonth (value) {
+        if (value != null) {
+            setMonth(this, value);
+            hooks.updateOffset(this, true);
+            return this;
+        } else {
+            return get(this, 'Month');
+        }
+    }
+
+    function getDaysInMonth () {
+        return daysInMonth(this.year(), this.month());
+    }
+
+    var defaultMonthsShortRegex = matchWord;
+    function monthsShortRegex (isStrict) {
+        if (this._monthsParseExact) {
+            if (!hasOwnProp(this, '_monthsRegex')) {
+                computeMonthsParse.call(this);
+            }
+            if (isStrict) {
+                return this._monthsShortStrictRegex;
+            } else {
+                return this._monthsShortRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_monthsShortRegex')) {
+                this._monthsShortRegex = defaultMonthsShortRegex;
+            }
+            return this._monthsShortStrictRegex && isStrict ?
+                this._monthsShortStrictRegex : this._monthsShortRegex;
+        }
+    }
+
+    var defaultMonthsRegex = matchWord;
+    function monthsRegex (isStrict) {
+        if (this._monthsParseExact) {
+            if (!hasOwnProp(this, '_monthsRegex')) {
+                computeMonthsParse.call(this);
+            }
+            if (isStrict) {
+                return this._monthsStrictRegex;
+            } else {
+                return this._monthsRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_monthsRegex')) {
+                this._monthsRegex = defaultMonthsRegex;
+            }
+            return this._monthsStrictRegex && isStrict ?
+                this._monthsStrictRegex : this._monthsRegex;
+        }
+    }
+
+    function computeMonthsParse () {
+        function cmpLenRev(a, b) {
+            return b.length - a.length;
+        }
+
+        var shortPieces = [], longPieces = [], mixedPieces = [],
+            i, mom;
+        for (i = 0; i < 12; i++) {
+            // make the regex if we don't have it already
+            mom = createUTC([2000, i]);
+            shortPieces.push(this.monthsShort(mom, ''));
+            longPieces.push(this.months(mom, ''));
+            mixedPieces.push(this.months(mom, ''));
+            mixedPieces.push(this.monthsShort(mom, ''));
+        }
+        // Sorting makes sure if one month (or abbr) is a prefix of another it
+        // will match the longer piece.
+        shortPieces.sort(cmpLenRev);
+        longPieces.sort(cmpLenRev);
+        mixedPieces.sort(cmpLenRev);
+        for (i = 0; i < 12; i++) {
+            shortPieces[i] = regexEscape(shortPieces[i]);
+            longPieces[i] = regexEscape(longPieces[i]);
+        }
+        for (i = 0; i < 24; i++) {
+            mixedPieces[i] = regexEscape(mixedPieces[i]);
+        }
+
+        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+        this._monthsShortRegex = this._monthsRegex;
+        this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
+        this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
+    }
+
+    function createDate (y, m, d, h, M, s, ms) {
+        // can't just apply() to create a date:
+        // https://stackoverflow.com/q/181348
+        var date;
+        // the date constructor remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            // preserve leap years using a full 400 year cycle, then reset
+            date = new Date(y + 400, m, d, h, M, s, ms);
+            if (isFinite(date.getFullYear())) {
+                date.setFullYear(y);
+            }
+        } else {
+            date = new Date(y, m, d, h, M, s, ms);
+        }
+
+        return date;
+    }
+
+    function createUTCDate (y) {
+        var date;
+        // the Date.UTC function remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            var args = Array.prototype.slice.call(arguments);
+            // preserve leap years using a full 400 year cycle, then reset
+            args[0] = y + 400;
+            date = new Date(Date.UTC.apply(null, args));
+            if (isFinite(date.getUTCFullYear())) {
+                date.setUTCFullYear(y);
+            }
+        } else {
+            date = new Date(Date.UTC.apply(null, arguments));
+        }
+
+        return date;
+    }
+
+    // start-of-first-week - start-of-year
+    function firstWeekOffset(year, dow, doy) {
+        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
+            fwd = 7 + dow - doy,
+            // first-week day local weekday -- which local weekday is fwd
+            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
+
+        return -fwdlw + fwd - 1;
+    }
+
+    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
+        var localWeekday = (7 + weekday - dow) % 7,
+            weekOffset = firstWeekOffset(year, dow, doy),
+            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
+            resYear, resDayOfYear;
+
+        if (dayOfYear <= 0) {
+            resYear = year - 1;
+            resDayOfYear = daysInYear(resYear) + dayOfYear;
+        } else if (dayOfYear > daysInYear(year)) {
+            resYear = year + 1;
+            resDayOfYear = dayOfYear - daysInYear(year);
+        } else {
+            resYear = year;
+            resDayOfYear = dayOfYear;
+        }
+
+        return {
+            year: resYear,
+            dayOfYear: resDayOfYear
+        };
+    }
+
+    function weekOfYear(mom, dow, doy) {
+        var weekOffset = firstWeekOffset(mom.year(), dow, doy),
+            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
+            resWeek, resYear;
+
+        if (week < 1) {
+            resYear = mom.year() - 1;
+            resWeek = week + weeksInYear(resYear, dow, doy);
+        } else if (week > weeksInYear(mom.year(), dow, doy)) {
+            resWeek = week - weeksInYear(mom.year(), dow, doy);
+            resYear = mom.year() + 1;
+        } else {
+            resYear = mom.year();
+            resWeek = week;
+        }
+
+        return {
+            week: resWeek,
+            year: resYear
+        };
+    }
+
+    function weeksInYear(year, dow, doy) {
+        var weekOffset = firstWeekOffset(year, dow, doy),
+            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
+        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
+    }
+
+    // FORMATTING
+
+    addFormatToken('w', ['ww', 2], 'wo', 'week');
+    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
+
+    // ALIASES
+
+    addUnitAlias('week', 'w');
+    addUnitAlias('isoWeek', 'W');
+
+    // PRIORITIES
+
+    addUnitPriority('week', 5);
+    addUnitPriority('isoWeek', 5);
+
+    // PARSING
+
+    addRegexToken('w',  match1to2);
+    addRegexToken('ww', match1to2, match2);
+    addRegexToken('W',  match1to2);
+    addRegexToken('WW', match1to2, match2);
+
+    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
+        week[token.substr(0, 1)] = toInt(input);
+    });
+
+    // HELPERS
+
+    // LOCALES
+
+    function localeWeek (mom) {
+        return weekOfYear(mom, this._week.dow, this._week.doy).week;
+    }
+
+    var defaultLocaleWeek = {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    };
+
+    function localeFirstDayOfWeek () {
+        return this._week.dow;
+    }
+
+    function localeFirstDayOfYear () {
+        return this._week.doy;
+    }
+
+    // MOMENTS
+
+    function getSetWeek (input) {
+        var week = this.localeData().week(this);
+        return input == null ? week : this.add((input - week) * 7, 'd');
+    }
+
+    function getSetISOWeek (input) {
+        var week = weekOfYear(this, 1, 4).week;
+        return input == null ? week : this.add((input - week) * 7, 'd');
+    }
+
+    // FORMATTING
+
+    addFormatToken('d', 0, 'do', 'day');
+
+    addFormatToken('dd', 0, 0, function (format) {
+        return this.localeData().weekdaysMin(this, format);
+    });
+
+    addFormatToken('ddd', 0, 0, function (format) {
+        return this.localeData().weekdaysShort(this, format);
+    });
+
+    addFormatToken('dddd', 0, 0, function (format) {
+        return this.localeData().weekdays(this, format);
+    });
+
+    addFormatToken('e', 0, 0, 'weekday');
+    addFormatToken('E', 0, 0, 'isoWeekday');
+
+    // ALIASES
+
+    addUnitAlias('day', 'd');
+    addUnitAlias('weekday', 'e');
+    addUnitAlias('isoWeekday', 'E');
+
+    // PRIORITY
+    addUnitPriority('day', 11);
+    addUnitPriority('weekday', 11);
+    addUnitPriority('isoWeekday', 11);
+
+    // PARSING
+
+    addRegexToken('d',    match1to2);
+    addRegexToken('e',    match1to2);
+    addRegexToken('E',    match1to2);
+    addRegexToken('dd',   function (isStrict, locale) {
+        return locale.weekdaysMinRegex(isStrict);
+    });
+    addRegexToken('ddd',   function (isStrict, locale) {
+        return locale.weekdaysShortRegex(isStrict);
+    });
+    addRegexToken('dddd',   function (isStrict, locale) {
+        return locale.weekdaysRegex(isStrict);
+    });
+
+    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
+        var weekday = config._locale.weekdaysParse(input, token, config._strict);
+        // if we didn't get a weekday name, mark the date as invalid
+        if (weekday != null) {
+            week.d = weekday;
+        } else {
+            getParsingFlags(config).invalidWeekday = input;
+        }
+    });
+
+    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
+        week[token] = toInt(input);
+    });
+
+    // HELPERS
+
+    function parseWeekday(input, locale) {
+        if (typeof input !== 'string') {
+            return input;
+        }
+
+        if (!isNaN(input)) {
+            return parseInt(input, 10);
+        }
+
+        input = locale.weekdaysParse(input);
+        if (typeof input === 'number') {
+            return input;
+        }
+
+        return null;
+    }
+
+    function parseIsoWeekday(input, locale) {
+        if (typeof input === 'string') {
+            return locale.weekdaysParse(input) % 7 || 7;
+        }
+        return isNaN(input) ? null : input;
+    }
+
+    // LOCALES
+    function shiftWeekdays (ws, n) {
+        return ws.slice(n, 7).concat(ws.slice(0, n));
+    }
+
+    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
+    function localeWeekdays (m, format) {
+        var weekdays = isArray(this._weekdays) ? this._weekdays :
+            this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];
+        return (m === true) ? shiftWeekdays(weekdays, this._week.dow)
+            : (m) ? weekdays[m.day()] : weekdays;
+    }
+
+    var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
+    function localeWeekdaysShort (m) {
+        return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)
+            : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
+    }
+
+    var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
+    function localeWeekdaysMin (m) {
+        return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)
+            : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
+    }
+
+    function handleStrictParse$1(weekdayName, format, strict) {
+        var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
+        if (!this._weekdaysParse) {
+            this._weekdaysParse = [];
+            this._shortWeekdaysParse = [];
+            this._minWeekdaysParse = [];
+
+            for (i = 0; i < 7; ++i) {
+                mom = createUTC([2000, 1]).day(i);
+                this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
+                this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
+                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
+            }
+        }
+
+        if (strict) {
+            if (format === 'dddd') {
+                ii = indexOf.call(this._weekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else if (format === 'ddd') {
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        } else {
+            if (format === 'dddd') {
+                ii = indexOf.call(this._weekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else if (format === 'ddd') {
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._weekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            } else {
+                ii = indexOf.call(this._minWeekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._weekdaysParse, llc);
+                if (ii !== -1) {
+                    return ii;
+                }
+                ii = indexOf.call(this._shortWeekdaysParse, llc);
+                return ii !== -1 ? ii : null;
+            }
+        }
+    }
+
+    function localeWeekdaysParse (weekdayName, format, strict) {
+        var i, mom, regex;
+
+        if (this._weekdaysParseExact) {
+            return handleStrictParse$1.call(this, weekdayName, format, strict);
+        }
+
+        if (!this._weekdaysParse) {
+            this._weekdaysParse = [];
+            this._minWeekdaysParse = [];
+            this._shortWeekdaysParse = [];
+            this._fullWeekdaysParse = [];
+        }
+
+        for (i = 0; i < 7; i++) {
+            // make the regex if we don't have it already
+
+            mom = createUTC([2000, 1]).day(i);
+            if (strict && !this._fullWeekdaysParse[i]) {
+                this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
+                this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
+                this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
+            }
+            if (!this._weekdaysParse[i]) {
+                regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+            }
+            // test the regex
+            if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
+                return i;
+            } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
+                return i;
+            } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
+                return i;
+            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
+                return i;
+            }
+        }
+    }
+
+    // MOMENTS
+
+    function getSetDayOfWeek (input) {
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+        if (input != null) {
+            input = parseWeekday(input, this.localeData());
+            return this.add(input - day, 'd');
+        } else {
+            return day;
+        }
+    }
+
+    function getSetLocaleDayOfWeek (input) {
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+        return input == null ? weekday : this.add(input - weekday, 'd');
+    }
+
+    function getSetISODayOfWeek (input) {
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+
+        // behaves the same as moment#day except
+        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+        // as a setter, sunday should belong to the previous week.
+
+        if (input != null) {
+            var weekday = parseIsoWeekday(input, this.localeData());
+            return this.day(this.day() % 7 ? weekday : weekday - 7);
+        } else {
+            return this.day() || 7;
+        }
+    }
+
+    var defaultWeekdaysRegex = matchWord;
+    function weekdaysRegex (isStrict) {
+        if (this._weekdaysParseExact) {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                computeWeekdaysParse.call(this);
+            }
+            if (isStrict) {
+                return this._weekdaysStrictRegex;
+            } else {
+                return this._weekdaysRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                this._weekdaysRegex = defaultWeekdaysRegex;
+            }
+            return this._weekdaysStrictRegex && isStrict ?
+                this._weekdaysStrictRegex : this._weekdaysRegex;
+        }
+    }
+
+    var defaultWeekdaysShortRegex = matchWord;
+    function weekdaysShortRegex (isStrict) {
+        if (this._weekdaysParseExact) {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                computeWeekdaysParse.call(this);
+            }
+            if (isStrict) {
+                return this._weekdaysShortStrictRegex;
+            } else {
+                return this._weekdaysShortRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_weekdaysShortRegex')) {
+                this._weekdaysShortRegex = defaultWeekdaysShortRegex;
+            }
+            return this._weekdaysShortStrictRegex && isStrict ?
+                this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
+        }
+    }
+
+    var defaultWeekdaysMinRegex = matchWord;
+    function weekdaysMinRegex (isStrict) {
+        if (this._weekdaysParseExact) {
+            if (!hasOwnProp(this, '_weekdaysRegex')) {
+                computeWeekdaysParse.call(this);
+            }
+            if (isStrict) {
+                return this._weekdaysMinStrictRegex;
+            } else {
+                return this._weekdaysMinRegex;
+            }
+        } else {
+            if (!hasOwnProp(this, '_weekdaysMinRegex')) {
+                this._weekdaysMinRegex = defaultWeekdaysMinRegex;
+            }
+            return this._weekdaysMinStrictRegex && isStrict ?
+                this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
+        }
+    }
+
+
+    function computeWeekdaysParse () {
+        function cmpLenRev(a, b) {
+            return b.length - a.length;
+        }
+
+        var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
+            i, mom, minp, shortp, longp;
+        for (i = 0; i < 7; i++) {
+            // make the regex if we don't have it already
+            mom = createUTC([2000, 1]).day(i);
+            minp = this.weekdaysMin(mom, '');
+            shortp = this.weekdaysShort(mom, '');
+            longp = this.weekdays(mom, '');
+            minPieces.push(minp);
+            shortPieces.push(shortp);
+            longPieces.push(longp);
+            mixedPieces.push(minp);
+            mixedPieces.push(shortp);
+            mixedPieces.push(longp);
+        }
+        // Sorting makes sure if one weekday (or abbr) is a prefix of another it
+        // will match the longer piece.
+        minPieces.sort(cmpLenRev);
+        shortPieces.sort(cmpLenRev);
+        longPieces.sort(cmpLenRev);
+        mixedPieces.sort(cmpLenRev);
+        for (i = 0; i < 7; i++) {
+            shortPieces[i] = regexEscape(shortPieces[i]);
+            longPieces[i] = regexEscape(longPieces[i]);
+            mixedPieces[i] = regexEscape(mixedPieces[i]);
+        }
+
+        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+        this._weekdaysShortRegex = this._weekdaysRegex;
+        this._weekdaysMinRegex = this._weekdaysRegex;
+
+        this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
+        this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
+        this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
+    }
+
+    // FORMATTING
+
+    function hFormat() {
+        return this.hours() % 12 || 12;
+    }
+
+    function kFormat() {
+        return this.hours() || 24;
+    }
+
+    addFormatToken('H', ['HH', 2], 0, 'hour');
+    addFormatToken('h', ['hh', 2], 0, hFormat);
+    addFormatToken('k', ['kk', 2], 0, kFormat);
+
+    addFormatToken('hmm', 0, 0, function () {
+        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
+    });
+
+    addFormatToken('hmmss', 0, 0, function () {
+        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
+            zeroFill(this.seconds(), 2);
+    });
+
+    addFormatToken('Hmm', 0, 0, function () {
+        return '' + this.hours() + zeroFill(this.minutes(), 2);
+    });
+
+    addFormatToken('Hmmss', 0, 0, function () {
+        return '' + this.hours() + zeroFill(this.minutes(), 2) +
+            zeroFill(this.seconds(), 2);
+    });
+
+    function meridiem (token, lowercase) {
+        addFormatToken(token, 0, 0, function () {
+            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
+        });
+    }
+
+    meridiem('a', true);
+    meridiem('A', false);
+
+    // ALIASES
+
+    addUnitAlias('hour', 'h');
+
+    // PRIORITY
+    addUnitPriority('hour', 13);
+
+    // PARSING
+
+    function matchMeridiem (isStrict, locale) {
+        return locale._meridiemParse;
+    }
+
+    addRegexToken('a',  matchMeridiem);
+    addRegexToken('A',  matchMeridiem);
+    addRegexToken('H',  match1to2);
+    addRegexToken('h',  match1to2);
+    addRegexToken('k',  match1to2);
+    addRegexToken('HH', match1to2, match2);
+    addRegexToken('hh', match1to2, match2);
+    addRegexToken('kk', match1to2, match2);
+
+    addRegexToken('hmm', match3to4);
+    addRegexToken('hmmss', match5to6);
+    addRegexToken('Hmm', match3to4);
+    addRegexToken('Hmmss', match5to6);
+
+    addParseToken(['H', 'HH'], HOUR);
+    addParseToken(['k', 'kk'], function (input, array, config) {
+        var kInput = toInt(input);
+        array[HOUR] = kInput === 24 ? 0 : kInput;
+    });
+    addParseToken(['a', 'A'], function (input, array, config) {
+        config._isPm = config._locale.isPM(input);
+        config._meridiem = input;
+    });
+    addParseToken(['h', 'hh'], function (input, array, config) {
+        array[HOUR] = toInt(input);
+        getParsingFlags(config).bigHour = true;
+    });
+    addParseToken('hmm', function (input, array, config) {
+        var pos = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos));
+        array[MINUTE] = toInt(input.substr(pos));
+        getParsingFlags(config).bigHour = true;
+    });
+    addParseToken('hmmss', function (input, array, config) {
+        var pos1 = input.length - 4;
+        var pos2 = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos1));
+        array[MINUTE] = toInt(input.substr(pos1, 2));
+        array[SECOND] = toInt(input.substr(pos2));
+        getParsingFlags(config).bigHour = true;
+    });
+    addParseToken('Hmm', function (input, array, config) {
+        var pos = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos));
+        array[MINUTE] = toInt(input.substr(pos));
+    });
+    addParseToken('Hmmss', function (input, array, config) {
+        var pos1 = input.length - 4;
+        var pos2 = input.length - 2;
+        array[HOUR] = toInt(input.substr(0, pos1));
+        array[MINUTE] = toInt(input.substr(pos1, 2));
+        array[SECOND] = toInt(input.substr(pos2));
+    });
+
+    // LOCALES
+
+    function localeIsPM (input) {
+        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+        // Using charAt should be more compatible.
+        return ((input + '').toLowerCase().charAt(0) === 'p');
+    }
+
+    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
+    function localeMeridiem (hours, minutes, isLower) {
+        if (hours > 11) {
+            return isLower ? 'pm' : 'PM';
+        } else {
+            return isLower ? 'am' : 'AM';
+        }
+    }
+
+
+    // MOMENTS
+
+    // Setting the hour should keep the time, because the user explicitly
+    // specified which hour they want. So trying to maintain the same hour (in
+    // a new timezone) makes sense. Adding/subtracting hours does not follow
+    // this rule.
+    var getSetHour = makeGetSet('Hours', true);
+
+    var baseConfig = {
+        calendar: defaultCalendar,
+        longDateFormat: defaultLongDateFormat,
+        invalidDate: defaultInvalidDate,
+        ordinal: defaultOrdinal,
+        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
+        relativeTime: defaultRelativeTime,
+
+        months: defaultLocaleMonths,
+        monthsShort: defaultLocaleMonthsShort,
+
+        week: defaultLocaleWeek,
+
+        weekdays: defaultLocaleWeekdays,
+        weekdaysMin: defaultLocaleWeekdaysMin,
+        weekdaysShort: defaultLocaleWeekdaysShort,
+
+        meridiemParse: defaultLocaleMeridiemParse
+    };
+
+    // internal storage for locale config files
+    var locales = {};
+    var localeFamilies = {};
+    var globalLocale;
+
+    function normalizeLocale(key) {
+        return key ? key.toLowerCase().replace('_', '-') : key;
+    }
+
+    // pick the locale from the array
+    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+    function chooseLocale(names) {
+        var i = 0, j, next, locale, split;
+
+        while (i < names.length) {
+            split = normalizeLocale(names[i]).split('-');
+            j = split.length;
+            next = normalizeLocale(names[i + 1]);
+            next = next ? next.split('-') : null;
+            while (j > 0) {
+                locale = loadLocale(split.slice(0, j).join('-'));
+                if (locale) {
+                    return locale;
+                }
+                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+                    //the next array item is better than a shallower substring of this one
+                    break;
+                }
+                j--;
+            }
+            i++;
+        }
+        return globalLocale;
+    }
+
+    function loadLocale(name) {
+        var oldLocale = null;
+        // TODO: Find a better way to register and load all the locales in Node
+        if (!locales[name] && (typeof module !== 'undefined') &&
+                module && module.exports) {
+            try {
+                oldLocale = globalLocale._abbr;
+                var aliasedRequire = require;
+                aliasedRequire('./locale/' + name);
+                getSetGlobalLocale(oldLocale);
+            } catch (e) {}
+        }
+        return locales[name];
+    }
+
+    // This function will load locale and then set the global locale.  If
+    // no arguments are passed in, it will simply return the current global
+    // locale key.
+    function getSetGlobalLocale (key, values) {
+        var data;
+        if (key) {
+            if (isUndefined(values)) {
+                data = getLocale(key);
+            }
+            else {
+                data = defineLocale(key, values);
+            }
+
+            if (data) {
+                // moment.duration._locale = moment._locale = data;
+                globalLocale = data;
+            }
+            else {
+                if ((typeof console !==  'undefined') && console.warn) {
+                    //warn user if arguments are passed but the locale could not be set
+                    console.warn('Locale ' + key +  ' not found. Did you forget to load it?');
+                }
+            }
+        }
+
+        return globalLocale._abbr;
+    }
+
+    function defineLocale (name, config) {
+        if (config !== null) {
+            var locale, parentConfig = baseConfig;
+            config.abbr = name;
+            if (locales[name] != null) {
+                deprecateSimple('defineLocaleOverride',
+                        'use moment.updateLocale(localeName, config) to change ' +
+                        'an existing locale. moment.defineLocale(localeName, ' +
+                        'config) should only be used for creating a new locale ' +
+                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
+                parentConfig = locales[name]._config;
+            } else if (config.parentLocale != null) {
+                if (locales[config.parentLocale] != null) {
+                    parentConfig = locales[config.parentLocale]._config;
+                } else {
+                    locale = loadLocale(config.parentLocale);
+                    if (locale != null) {
+                        parentConfig = locale._config;
+                    } else {
+                        if (!localeFamilies[config.parentLocale]) {
+                            localeFamilies[config.parentLocale] = [];
+                        }
+                        localeFamilies[config.parentLocale].push({
+                            name: name,
+                            config: config
+                        });
+                        return null;
+                    }
+                }
+            }
+            locales[name] = new Locale(mergeConfigs(parentConfig, config));
+
+            if (localeFamilies[name]) {
+                localeFamilies[name].forEach(function (x) {
+                    defineLocale(x.name, x.config);
+                });
+            }
+
+            // backwards compat for now: also set the locale
+            // make sure we set the locale AFTER all child locales have been
+            // created, so we won't end up with the child locale set.
+            getSetGlobalLocale(name);
+
+
+            return locales[name];
+        } else {
+            // useful for testing
+            delete locales[name];
+            return null;
+        }
+    }
+
+    function updateLocale(name, config) {
+        if (config != null) {
+            var locale, tmpLocale, parentConfig = baseConfig;
+            // MERGE
+            tmpLocale = loadLocale(name);
+            if (tmpLocale != null) {
+                parentConfig = tmpLocale._config;
+            }
+            config = mergeConfigs(parentConfig, config);
+            locale = new Locale(config);
+            locale.parentLocale = locales[name];
+            locales[name] = locale;
+
+            // backwards compat for now: also set the locale
+            getSetGlobalLocale(name);
+        } else {
+            // pass null for config to unupdate, useful for tests
+            if (locales[name] != null) {
+                if (locales[name].parentLocale != null) {
+                    locales[name] = locales[name].parentLocale;
+                } else if (locales[name] != null) {
+                    delete locales[name];
+                }
+            }
+        }
+        return locales[name];
+    }
+
+    // returns locale data
+    function getLocale (key) {
+        var locale;
+
+        if (key && key._locale && key._locale._abbr) {
+            key = key._locale._abbr;
+        }
+
+        if (!key) {
+            return globalLocale;
+        }
+
+        if (!isArray(key)) {
+            //short-circuit everything else
+            locale = loadLocale(key);
+            if (locale) {
+                return locale;
+            }
+            key = [key];
+        }
+
+        return chooseLocale(key);
+    }
+
+    function listLocales() {
+        return keys(locales);
+    }
+
+    function checkOverflow (m) {
+        var overflow;
+        var a = m._a;
+
+        if (a && getParsingFlags(m).overflow === -2) {
+            overflow =
+                a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :
+                a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
+                a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
+                a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :
+                a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :
+                a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
+                -1;
+
+            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+                overflow = DATE;
+            }
+            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
+                overflow = WEEK;
+            }
+            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
+                overflow = WEEKDAY;
+            }
+
+            getParsingFlags(m).overflow = overflow;
+        }
+
+        return m;
+    }
+
+    // Pick the first defined of two or three arguments.
+    function defaults(a, b, c) {
+        if (a != null) {
+            return a;
+        }
+        if (b != null) {
+            return b;
+        }
+        return c;
+    }
+
+    function currentDateArray(config) {
+        // hooks is actually the exported moment object
+        var nowValue = new Date(hooks.now());
+        if (config._useUTC) {
+            return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
+        }
+        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
+    }
+
+    // convert an array to a date.
+    // the array should mirror the parameters below
+    // note: all values past the year are optional and will default to the lowest possible value.
+    // [year, month, day , hour, minute, second, millisecond]
+    function configFromArray (config) {
+        var i, date, input = [], currentDate, expectedWeekday, yearToUse;
+
+        if (config._d) {
+            return;
+        }
+
+        currentDate = currentDateArray(config);
+
+        //compute day of the year from weeks and weekdays
+        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+            dayOfYearFromWeekInfo(config);
+        }
+
+        //if the day of the year is set, figure out what it is
+        if (config._dayOfYear != null) {
+            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
+
+            if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
+                getParsingFlags(config)._overflowDayOfYear = true;
+            }
+
+            date = createUTCDate(yearToUse, 0, config._dayOfYear);
+            config._a[MONTH] = date.getUTCMonth();
+            config._a[DATE] = date.getUTCDate();
+        }
+
+        // Default to current date.
+        // * if no year, month, day of month are given, default to today
+        // * if day of month is given, default month and year
+        // * if month is given, default only year
+        // * if year is given, don't default anything
+        for (i = 0; i < 3 && config._a[i] == null; ++i) {
+            config._a[i] = input[i] = currentDate[i];
+        }
+
+        // Zero out whatever was not defaulted, including time
+        for (; i < 7; i++) {
+            config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+        }
+
+        // Check for 24:00:00.000
+        if (config._a[HOUR] === 24 &&
+                config._a[MINUTE] === 0 &&
+                config._a[SECOND] === 0 &&
+                config._a[MILLISECOND] === 0) {
+            config._nextDay = true;
+            config._a[HOUR] = 0;
+        }
+
+        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
+        expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
+
+        // Apply timezone offset from input. The actual utcOffset can be changed
+        // with parseZone.
+        if (config._tzm != null) {
+            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+        }
+
+        if (config._nextDay) {
+            config._a[HOUR] = 24;
+        }
+
+        // check for mismatching day of week
+        if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
+            getParsingFlags(config).weekdayMismatch = true;
+        }
+    }
+
+    function dayOfYearFromWeekInfo(config) {
+        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
+
+        w = config._w;
+        if (w.GG != null || w.W != null || w.E != null) {
+            dow = 1;
+            doy = 4;
+
+            // TODO: We need to take the current isoWeekYear, but that depends on
+            // how we interpret now (local, utc, fixed offset). So create
+            // a now version of current config (take local/utc/offset flags, and
+            // create now).
+            weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
+            week = defaults(w.W, 1);
+            weekday = defaults(w.E, 1);
+            if (weekday < 1 || weekday > 7) {
+                weekdayOverflow = true;
+            }
+        } else {
+            dow = config._locale._week.dow;
+            doy = config._locale._week.doy;
+
+            var curWeek = weekOfYear(createLocal(), dow, doy);
+
+            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
+
+            // Default to current week.
+            week = defaults(w.w, curWeek.week);
+
+            if (w.d != null) {
+                // weekday -- low day numbers are considered next week
+                weekday = w.d;
+                if (weekday < 0 || weekday > 6) {
+                    weekdayOverflow = true;
+                }
+            } else if (w.e != null) {
+                // local weekday -- counting starts from beginning of week
+                weekday = w.e + dow;
+                if (w.e < 0 || w.e > 6) {
+                    weekdayOverflow = true;
+                }
+            } else {
+                // default to beginning of week
+                weekday = dow;
+            }
+        }
+        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
+            getParsingFlags(config)._overflowWeeks = true;
+        } else if (weekdayOverflow != null) {
+            getParsingFlags(config)._overflowWeekday = true;
+        } else {
+            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
+            config._a[YEAR] = temp.year;
+            config._dayOfYear = temp.dayOfYear;
+        }
+    }
+
+    // iso 8601 regex
+    // 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)
+    var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+    var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+
+    var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
+
+    var isoDates = [
+        ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
+        ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
+        ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
+        ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
+        ['YYYY-DDD', /\d{4}-\d{3}/],
+        ['YYYY-MM', /\d{4}-\d\d/, false],
+        ['YYYYYYMMDD', /[+-]\d{10}/],
+        ['YYYYMMDD', /\d{8}/],
+        // YYYYMM is NOT allowed by the standard
+        ['GGGG[W]WWE', /\d{4}W\d{3}/],
+        ['GGGG[W]WW', /\d{4}W\d{2}/, false],
+        ['YYYYDDD', /\d{7}/]
+    ];
+
+    // iso time formats and regexes
+    var isoTimes = [
+        ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
+        ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
+        ['HH:mm:ss', /\d\d:\d\d:\d\d/],
+        ['HH:mm', /\d\d:\d\d/],
+        ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
+        ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
+        ['HHmmss', /\d\d\d\d\d\d/],
+        ['HHmm', /\d\d\d\d/],
+        ['HH', /\d\d/]
+    ];
+
+    var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
+
+    // date from iso format
+    function configFromISO(config) {
+        var i, l,
+            string = config._i,
+            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
+            allowTime, dateFormat, timeFormat, tzFormat;
+
+        if (match) {
+            getParsingFlags(config).iso = true;
+
+            for (i = 0, l = isoDates.length; i < l; i++) {
+                if (isoDates[i][1].exec(match[1])) {
+                    dateFormat = isoDates[i][0];
+                    allowTime = isoDates[i][2] !== false;
+                    break;
+                }
+            }
+            if (dateFormat == null) {
+                config._isValid = false;
+                return;
+            }
+            if (match[3]) {
+                for (i = 0, l = isoTimes.length; i < l; i++) {
+                    if (isoTimes[i][1].exec(match[3])) {
+                        // match[2] should be 'T' or space
+                        timeFormat = (match[2] || ' ') + isoTimes[i][0];
+                        break;
+                    }
+                }
+                if (timeFormat == null) {
+                    config._isValid = false;
+                    return;
+                }
+            }
+            if (!allowTime && timeFormat != null) {
+                config._isValid = false;
+                return;
+            }
+            if (match[4]) {
+                if (tzRegex.exec(match[4])) {
+                    tzFormat = 'Z';
+                } else {
+                    config._isValid = false;
+                    return;
+                }
+            }
+            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
+            configFromStringAndFormat(config);
+        } else {
+            config._isValid = false;
+        }
+    }
+
+    // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
+    var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
+
+    function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
+        var result = [
+            untruncateYear(yearStr),
+            defaultLocaleMonthsShort.indexOf(monthStr),
+            parseInt(dayStr, 10),
+            parseInt(hourStr, 10),
+            parseInt(minuteStr, 10)
+        ];
+
+        if (secondStr) {
+            result.push(parseInt(secondStr, 10));
+        }
+
+        return result;
+    }
+
+    function untruncateYear(yearStr) {
+        var year = parseInt(yearStr, 10);
+        if (year <= 49) {
+            return 2000 + year;
+        } else if (year <= 999) {
+            return 1900 + year;
+        }
+        return year;
+    }
+
+    function preprocessRFC2822(s) {
+        // Remove comments and folding whitespace and replace multiple-spaces with a single space
+        return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
+    }
+
+    function checkWeekday(weekdayStr, parsedInput, config) {
+        if (weekdayStr) {
+            // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
+            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
+                weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
+            if (weekdayProvided !== weekdayActual) {
+                getParsingFlags(config).weekdayMismatch = true;
+                config._isValid = false;
+                return false;
+            }
+        }
+        return true;
+    }
+
+    var obsOffsets = {
+        UT: 0,
+        GMT: 0,
+        EDT: -4 * 60,
+        EST: -5 * 60,
+        CDT: -5 * 60,
+        CST: -6 * 60,
+        MDT: -6 * 60,
+        MST: -7 * 60,
+        PDT: -7 * 60,
+        PST: -8 * 60
+    };
+
+    function calculateOffset(obsOffset, militaryOffset, numOffset) {
+        if (obsOffset) {
+            return obsOffsets[obsOffset];
+        } else if (militaryOffset) {
+            // the only allowed military tz is Z
+            return 0;
+        } else {
+            var hm = parseInt(numOffset, 10);
+            var m = hm % 100, h = (hm - m) / 100;
+            return h * 60 + m;
+        }
+    }
+
+    // date and time from ref 2822 format
+    function configFromRFC2822(config) {
+        var match = rfc2822.exec(preprocessRFC2822(config._i));
+        if (match) {
+            var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
+            if (!checkWeekday(match[1], parsedArray, config)) {
+                return;
+            }
+
+            config._a = parsedArray;
+            config._tzm = calculateOffset(match[8], match[9], match[10]);
+
+            config._d = createUTCDate.apply(null, config._a);
+            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+
+            getParsingFlags(config).rfc2822 = true;
+        } else {
+            config._isValid = false;
+        }
+    }
+
+    // date from iso format or fallback
+    function configFromString(config) {
+        var matched = aspNetJsonRegex.exec(config._i);
+
+        if (matched !== null) {
+            config._d = new Date(+matched[1]);
+            return;
+        }
+
+        configFromISO(config);
+        if (config._isValid === false) {
+            delete config._isValid;
+        } else {
+            return;
+        }
+
+        configFromRFC2822(config);
+        if (config._isValid === false) {
+            delete config._isValid;
+        } else {
+            return;
+        }
+
+        // Final attempt, use Input Fallback
+        hooks.createFromInputFallback(config);
+    }
+
+    hooks.createFromInputFallback = deprecate(
+        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
+        'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
+        'discouraged and will be removed in an upcoming major release. Please refer to ' +
+        'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
+        function (config) {
+            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
+        }
+    );
+
+    // constant that refers to the ISO standard
+    hooks.ISO_8601 = function () {};
+
+    // constant that refers to the RFC 2822 form
+    hooks.RFC_2822 = function () {};
+
+    // date from string and format string
+    function configFromStringAndFormat(config) {
+        // TODO: Move this to another part of the creation flow to prevent circular deps
+        if (config._f === hooks.ISO_8601) {
+            configFromISO(config);
+            return;
+        }
+        if (config._f === hooks.RFC_2822) {
+            configFromRFC2822(config);
+            return;
+        }
+        config._a = [];
+        getParsingFlags(config).empty = true;
+
+        // This array is used to make a Date, either with `new Date` or `Date.UTC`
+        var string = '' + config._i,
+            i, parsedInput, tokens, token, skipped,
+            stringLength = string.length,
+            totalParsedInputLength = 0;
+
+        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+        for (i = 0; i < tokens.length; i++) {
+            token = tokens[i];
+            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
+            // console.log('token', token, 'parsedInput', parsedInput,
+            //         'regex', getParseRegexForToken(token, config));
+            if (parsedInput) {
+                skipped = string.substr(0, string.indexOf(parsedInput));
+                if (skipped.length > 0) {
+                    getParsingFlags(config).unusedInput.push(skipped);
+                }
+                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+                totalParsedInputLength += parsedInput.length;
+            }
+            // don't parse if it's not a known token
+            if (formatTokenFunctions[token]) {
+                if (parsedInput) {
+                    getParsingFlags(config).empty = false;
+                }
+                else {
+                    getParsingFlags(config).unusedTokens.push(token);
+                }
+                addTimeToArrayFromToken(token, parsedInput, config);
+            }
+            else if (config._strict && !parsedInput) {
+                getParsingFlags(config).unusedTokens.push(token);
+            }
+        }
+
+        // add remaining unparsed input length to the string
+        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
+        if (string.length > 0) {
+            getParsingFlags(config).unusedInput.push(string);
+        }
+
+        // clear _12h flag if hour is <= 12
+        if (config._a[HOUR] <= 12 &&
+            getParsingFlags(config).bigHour === true &&
+            config._a[HOUR] > 0) {
+            getParsingFlags(config).bigHour = undefined;
+        }
+
+        getParsingFlags(config).parsedDateParts = config._a.slice(0);
+        getParsingFlags(config).meridiem = config._meridiem;
+        // handle meridiem
+        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
+
+        configFromArray(config);
+        checkOverflow(config);
+    }
+
+
+    function meridiemFixWrap (locale, hour, meridiem) {
+        var isPm;
+
+        if (meridiem == null) {
+            // nothing to do
+            return hour;
+        }
+        if (locale.meridiemHour != null) {
+            return locale.meridiemHour(hour, meridiem);
+        } else if (locale.isPM != null) {
+            // Fallback
+            isPm = locale.isPM(meridiem);
+            if (isPm && hour < 12) {
+                hour += 12;
+            }
+            if (!isPm && hour === 12) {
+                hour = 0;
+            }
+            return hour;
+        } else {
+            // this is not supposed to happen
+            return hour;
+        }
+    }
+
+    // date from string and array of format strings
+    function configFromStringAndArray(config) {
+        var tempConfig,
+            bestMoment,
+
+            scoreToBeat,
+            i,
+            currentScore;
+
+        if (config._f.length === 0) {
+            getParsingFlags(config).invalidFormat = true;
+            config._d = new Date(NaN);
+            return;
+        }
+
+        for (i = 0; i < config._f.length; i++) {
+            currentScore = 0;
+            tempConfig = copyConfig({}, config);
+            if (config._useUTC != null) {
+                tempConfig._useUTC = config._useUTC;
+            }
+            tempConfig._f = config._f[i];
+            configFromStringAndFormat(tempConfig);
+
+            if (!isValid(tempConfig)) {
+                continue;
+            }
+
+            // if there is any input that was not parsed add a penalty for that format
+            currentScore += getParsingFlags(tempConfig).charsLeftOver;
+
+            //or tokens
+            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
+
+            getParsingFlags(tempConfig).score = currentScore;
+
+            if (scoreToBeat == null || currentScore < scoreToBeat) {
+                scoreToBeat = currentScore;
+                bestMoment = tempConfig;
+            }
+        }
+
+        extend(config, bestMoment || tempConfig);
+    }
+
+    function configFromObject(config) {
+        if (config._d) {
+            return;
+        }
+
+        var i = normalizeObjectUnits(config._i);
+        config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
+            return obj && parseInt(obj, 10);
+        });
+
+        configFromArray(config);
+    }
+
+    function createFromConfig (config) {
+        var res = new Moment(checkOverflow(prepareConfig(config)));
+        if (res._nextDay) {
+            // Adding is smart enough around DST
+            res.add(1, 'd');
+            res._nextDay = undefined;
+        }
+
+        return res;
+    }
+
+    function prepareConfig (config) {
+        var input = config._i,
+            format = config._f;
+
+        config._locale = config._locale || getLocale(config._l);
+
+        if (input === null || (format === undefined && input === '')) {
+            return createInvalid({nullInput: true});
+        }
+
+        if (typeof input === 'string') {
+            config._i = input = config._locale.preparse(input);
+        }
+
+        if (isMoment(input)) {
+            return new Moment(checkOverflow(input));
+        } else if (isDate(input)) {
+            config._d = input;
+        } else if (isArray(format)) {
+            configFromStringAndArray(config);
+        } else if (format) {
+            configFromStringAndFormat(config);
+        }  else {
+            configFromInput(config);
+        }
+
+        if (!isValid(config)) {
+            config._d = null;
+        }
+
+        return config;
+    }
+
+    function configFromInput(config) {
+        var input = config._i;
+        if (isUndefined(input)) {
+            config._d = new Date(hooks.now());
+        } else if (isDate(input)) {
+            config._d = new Date(input.valueOf());
+        } else if (typeof input === 'string') {
+            configFromString(config);
+        } else if (isArray(input)) {
+            config._a = map(input.slice(0), function (obj) {
+                return parseInt(obj, 10);
+            });
+            configFromArray(config);
+        } else if (isObject(input)) {
+            configFromObject(config);
+        } else if (isNumber(input)) {
+            // from milliseconds
+            config._d = new Date(input);
+        } else {
+            hooks.createFromInputFallback(config);
+        }
+    }
+
+    function createLocalOrUTC (input, format, locale, strict, isUTC) {
+        var c = {};
+
+        if (locale === true || locale === false) {
+            strict = locale;
+            locale = undefined;
+        }
+
+        if ((isObject(input) && isObjectEmpty(input)) ||
+                (isArray(input) && input.length === 0)) {
+            input = undefined;
+        }
+        // object construction must be done this way.
+        // https://github.com/moment/moment/issues/1423
+        c._isAMomentObject = true;
+        c._useUTC = c._isUTC = isUTC;
+        c._l = locale;
+        c._i = input;
+        c._f = format;
+        c._strict = strict;
+
+        return createFromConfig(c);
+    }
+
+    function createLocal (input, format, locale, strict) {
+        return createLocalOrUTC(input, format, locale, strict, false);
+    }
+
+    var prototypeMin = deprecate(
+        'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
+        function () {
+            var other = createLocal.apply(null, arguments);
+            if (this.isValid() && other.isValid()) {
+                return other < this ? this : other;
+            } else {
+                return createInvalid();
+            }
+        }
+    );
+
+    var prototypeMax = deprecate(
+        'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
+        function () {
+            var other = createLocal.apply(null, arguments);
+            if (this.isValid() && other.isValid()) {
+                return other > this ? this : other;
+            } else {
+                return createInvalid();
+            }
+        }
+    );
+
+    // Pick a moment m from moments so that m[fn](other) is true for all
+    // other. This relies on the function fn to be transitive.
+    //
+    // moments should either be an array of moment objects or an array, whose
+    // first element is an array of moment objects.
+    function pickBy(fn, moments) {
+        var res, i;
+        if (moments.length === 1 && isArray(moments[0])) {
+            moments = moments[0];
+        }
+        if (!moments.length) {
+            return createLocal();
+        }
+        res = moments[0];
+        for (i = 1; i < moments.length; ++i) {
+            if (!moments[i].isValid() || moments[i][fn](res)) {
+                res = moments[i];
+            }
+        }
+        return res;
+    }
+
+    // TODO: Use [].sort instead?
+    function min () {
+        var args = [].slice.call(arguments, 0);
+
+        return pickBy('isBefore', args);
+    }
+
+    function max () {
+        var args = [].slice.call(arguments, 0);
+
+        return pickBy('isAfter', args);
+    }
+
+    var now = function () {
+        return Date.now ? Date.now() : +(new Date());
+    };
+
+    var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
+
+    function isDurationValid(m) {
+        for (var key in m) {
+            if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
+                return false;
+            }
+        }
+
+        var unitHasDecimal = false;
+        for (var i = 0; i < ordering.length; ++i) {
+            if (m[ordering[i]]) {
+                if (unitHasDecimal) {
+                    return false; // only allow non-integers for smallest unit
+                }
+                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
+                    unitHasDecimal = true;
+                }
+            }
+        }
+
+        return true;
+    }
+
+    function isValid$1() {
+        return this._isValid;
+    }
+
+    function createInvalid$1() {
+        return createDuration(NaN);
+    }
+
+    function Duration (duration) {
+        var normalizedInput = normalizeObjectUnits(duration),
+            years = normalizedInput.year || 0,
+            quarters = normalizedInput.quarter || 0,
+            months = normalizedInput.month || 0,
+            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
+            days = normalizedInput.day || 0,
+            hours = normalizedInput.hour || 0,
+            minutes = normalizedInput.minute || 0,
+            seconds = normalizedInput.second || 0,
+            milliseconds = normalizedInput.millisecond || 0;
+
+        this._isValid = isDurationValid(normalizedInput);
+
+        // representation for dateAddRemove
+        this._milliseconds = +milliseconds +
+            seconds * 1e3 + // 1000
+            minutes * 6e4 + // 1000 * 60
+            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
+        // Because of dateAddRemove treats 24 hours as different from a
+        // day when working around DST, we need to store them separately
+        this._days = +days +
+            weeks * 7;
+        // It is impossible to translate months into days without knowing
+        // which months you are are talking about, so we have to store
+        // it separately.
+        this._months = +months +
+            quarters * 3 +
+            years * 12;
+
+        this._data = {};
+
+        this._locale = getLocale();
+
+        this._bubble();
+    }
+
+    function isDuration (obj) {
+        return obj instanceof Duration;
+    }
+
+    function absRound (number) {
+        if (number < 0) {
+            return Math.round(-1 * number) * -1;
+        } else {
+            return Math.round(number);
+        }
+    }
+
+    // FORMATTING
+
+    function offset (token, separator) {
+        addFormatToken(token, 0, 0, function () {
+            var offset = this.utcOffset();
+            var sign = '+';
+            if (offset < 0) {
+                offset = -offset;
+                sign = '-';
+            }
+            return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
+        });
+    }
+
+    offset('Z', ':');
+    offset('ZZ', '');
+
+    // PARSING
+
+    addRegexToken('Z',  matchShortOffset);
+    addRegexToken('ZZ', matchShortOffset);
+    addParseToken(['Z', 'ZZ'], function (input, array, config) {
+        config._useUTC = true;
+        config._tzm = offsetFromString(matchShortOffset, input);
+    });
+
+    // HELPERS
+
+    // timezone chunker
+    // '+10:00' > ['10',  '00']
+    // '-1530'  > ['-15', '30']
+    var chunkOffset = /([\+\-]|\d\d)/gi;
+
+    function offsetFromString(matcher, string) {
+        var matches = (string || '').match(matcher);
+
+        if (matches === null) {
+            return null;
+        }
+
+        var chunk   = matches[matches.length - 1] || [];
+        var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];
+        var minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+        return minutes === 0 ?
+          0 :
+          parts[0] === '+' ? minutes : -minutes;
+    }
+
+    // Return a moment from input, that is local/utc/zone equivalent to model.
+    function cloneWithOffset(input, model) {
+        var res, diff;
+        if (model._isUTC) {
+            res = model.clone();
+            diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
+            // Use low-level api, because this fn is low-level api.
+            res._d.setTime(res._d.valueOf() + diff);
+            hooks.updateOffset(res, false);
+            return res;
+        } else {
+            return createLocal(input).local();
+        }
+    }
+
+    function getDateOffset (m) {
+        // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+        // https://github.com/moment/moment/pull/1871
+        return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
+    }
+
+    // HOOKS
+
+    // This function will be called whenever a moment is mutated.
+    // It is intended to keep the offset in sync with the timezone.
+    hooks.updateOffset = function () {};
+
+    // MOMENTS
+
+    // keepLocalTime = true means only change the timezone, without
+    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
+    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
+    // +0200, so we adjust the time as needed, to be valid.
+    //
+    // Keeping the time actually adds/subtracts (one hour)
+    // from the actual represented time. That is why we call updateOffset
+    // a second time. In case it wants us to change the offset again
+    // _changeInProgress == true case, then we have to adjust, because
+    // there is no such time in the given timezone.
+    function getSetOffset (input, keepLocalTime, keepMinutes) {
+        var offset = this._offset || 0,
+            localAdjust;
+        if (!this.isValid()) {
+            return input != null ? this : NaN;
+        }
+        if (input != null) {
+            if (typeof input === 'string') {
+                input = offsetFromString(matchShortOffset, input);
+                if (input === null) {
+                    return this;
+                }
+            } else if (Math.abs(input) < 16 && !keepMinutes) {
+                input = input * 60;
+            }
+            if (!this._isUTC && keepLocalTime) {
+                localAdjust = getDateOffset(this);
+            }
+            this._offset = input;
+            this._isUTC = true;
+            if (localAdjust != null) {
+                this.add(localAdjust, 'm');
+            }
+            if (offset !== input) {
+                if (!keepLocalTime || this._changeInProgress) {
+                    addSubtract(this, createDuration(input - offset, 'm'), 1, false);
+                } else if (!this._changeInProgress) {
+                    this._changeInProgress = true;
+                    hooks.updateOffset(this, true);
+                    this._changeInProgress = null;
+                }
+            }
+            return this;
+        } else {
+            return this._isUTC ? offset : getDateOffset(this);
+        }
+    }
+
+    function getSetZone (input, keepLocalTime) {
+        if (input != null) {
+            if (typeof input !== 'string') {
+                input = -input;
+            }
+
+            this.utcOffset(input, keepLocalTime);
+
+            return this;
+        } else {
+            return -this.utcOffset();
+        }
+    }
+
+    function setOffsetToUTC (keepLocalTime) {
+        return this.utcOffset(0, keepLocalTime);
+    }
+
+    function setOffsetToLocal (keepLocalTime) {
+        if (this._isUTC) {
+            this.utcOffset(0, keepLocalTime);
+            this._isUTC = false;
+
+            if (keepLocalTime) {
+                this.subtract(getDateOffset(this), 'm');
+            }
+        }
+        return this;
+    }
+
+    function setOffsetToParsedOffset () {
+        if (this._tzm != null) {
+            this.utcOffset(this._tzm, false, true);
+        } else if (typeof this._i === 'string') {
+            var tZone = offsetFromString(matchOffset, this._i);
+            if (tZone != null) {
+                this.utcOffset(tZone);
+            }
+            else {
+                this.utcOffset(0, true);
+            }
+        }
+        return this;
+    }
+
+    function hasAlignedHourOffset (input) {
+        if (!this.isValid()) {
+            return false;
+        }
+        input = input ? createLocal(input).utcOffset() : 0;
+
+        return (this.utcOffset() - input) % 60 === 0;
+    }
+
+    function isDaylightSavingTime () {
+        return (
+            this.utcOffset() > this.clone().month(0).utcOffset() ||
+            this.utcOffset() > this.clone().month(5).utcOffset()
+        );
+    }
+
+    function isDaylightSavingTimeShifted () {
+        if (!isUndefined(this._isDSTShifted)) {
+            return this._isDSTShifted;
+        }
+
+        var c = {};
+
+        copyConfig(c, this);
+        c = prepareConfig(c);
+
+        if (c._a) {
+            var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
+            this._isDSTShifted = this.isValid() &&
+                compareArrays(c._a, other.toArray()) > 0;
+        } else {
+            this._isDSTShifted = false;
+        }
+
+        return this._isDSTShifted;
+    }
+
+    function isLocal () {
+        return this.isValid() ? !this._isUTC : false;
+    }
+
+    function isUtcOffset () {
+        return this.isValid() ? this._isUTC : false;
+    }
+
+    function isUtc () {
+        return this.isValid() ? this._isUTC && this._offset === 0 : false;
+    }
+
+    // ASP.NET json date format regex
+    var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
+
+    // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+    // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+    // and further modified to allow for strings containing both week and day
+    var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+
+    function createDuration (input, key) {
+        var duration = input,
+            // matching against regexp is expensive, do it on demand
+            match = null,
+            sign,
+            ret,
+            diffRes;
+
+        if (isDuration(input)) {
+            duration = {
+                ms : input._milliseconds,
+                d  : input._days,
+                M  : input._months
+            };
+        } else if (isNumber(input)) {
+            duration = {};
+            if (key) {
+                duration[key] = input;
+            } else {
+                duration.milliseconds = input;
+            }
+        } else if (!!(match = aspNetRegex.exec(input))) {
+            sign = (match[1] === '-') ? -1 : 1;
+            duration = {
+                y  : 0,
+                d  : toInt(match[DATE])                         * sign,
+                h  : toInt(match[HOUR])                         * sign,
+                m  : toInt(match[MINUTE])                       * sign,
+                s  : toInt(match[SECOND])                       * sign,
+                ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
+            };
+        } else if (!!(match = isoRegex.exec(input))) {
+            sign = (match[1] === '-') ? -1 : 1;
+            duration = {
+                y : parseIso(match[2], sign),
+                M : parseIso(match[3], sign),
+                w : parseIso(match[4], sign),
+                d : parseIso(match[5], sign),
+                h : parseIso(match[6], sign),
+                m : parseIso(match[7], sign),
+                s : parseIso(match[8], sign)
+            };
+        } else if (duration == null) {// checks for null or undefined
+            duration = {};
+        } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
+            diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
+
+            duration = {};
+            duration.ms = diffRes.milliseconds;
+            duration.M = diffRes.months;
+        }
+
+        ret = new Duration(duration);
+
+        if (isDuration(input) && hasOwnProp(input, '_locale')) {
+            ret._locale = input._locale;
+        }
+
+        return ret;
+    }
+
+    createDuration.fn = Duration.prototype;
+    createDuration.invalid = createInvalid$1;
+
+    function parseIso (inp, sign) {
+        // We'd normally use ~~inp for this, but unfortunately it also
+        // converts floats to ints.
+        // inp may be undefined, so careful calling replace on it.
+        var res = inp && parseFloat(inp.replace(',', '.'));
+        // apply sign while we're at it
+        return (isNaN(res) ? 0 : res) * sign;
+    }
+
+    function positiveMomentsDifference(base, other) {
+        var res = {};
+
+        res.months = other.month() - base.month() +
+            (other.year() - base.year()) * 12;
+        if (base.clone().add(res.months, 'M').isAfter(other)) {
+            --res.months;
+        }
+
+        res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
+
+        return res;
+    }
+
+    function momentsDifference(base, other) {
+        var res;
+        if (!(base.isValid() && other.isValid())) {
+            return {milliseconds: 0, months: 0};
+        }
+
+        other = cloneWithOffset(other, base);
+        if (base.isBefore(other)) {
+            res = positiveMomentsDifference(base, other);
+        } else {
+            res = positiveMomentsDifference(other, base);
+            res.milliseconds = -res.milliseconds;
+            res.months = -res.months;
+        }
+
+        return res;
+    }
+
+    // TODO: remove 'name' arg after deprecation is removed
+    function createAdder(direction, name) {
+        return function (val, period) {
+            var dur, tmp;
+            //invert the arguments, but complain about it
+            if (period !== null && !isNaN(+period)) {
+                deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
+                'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
+                tmp = val; val = period; period = tmp;
+            }
+
+            val = typeof val === 'string' ? +val : val;
+            dur = createDuration(val, period);
+            addSubtract(this, dur, direction);
+            return this;
+        };
+    }
+
+    function addSubtract (mom, duration, isAdding, updateOffset) {
+        var milliseconds = duration._milliseconds,
+            days = absRound(duration._days),
+            months = absRound(duration._months);
+
+        if (!mom.isValid()) {
+            // No op
+            return;
+        }
+
+        updateOffset = updateOffset == null ? true : updateOffset;
+
+        if (months) {
+            setMonth(mom, get(mom, 'Month') + months * isAdding);
+        }
+        if (days) {
+            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);
+        }
+        if (milliseconds) {
+            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
+        }
+        if (updateOffset) {
+            hooks.updateOffset(mom, days || months);
+        }
+    }
+
+    var add      = createAdder(1, 'add');
+    var subtract = createAdder(-1, 'subtract');
+
+    function getCalendarFormat(myMoment, now) {
+        var diff = myMoment.diff(now, 'days', true);
+        return diff < -6 ? 'sameElse' :
+                diff < -1 ? 'lastWeek' :
+                diff < 0 ? 'lastDay' :
+                diff < 1 ? 'sameDay' :
+                diff < 2 ? 'nextDay' :
+                diff < 7 ? 'nextWeek' : 'sameElse';
+    }
+
+    function calendar$1 (time, formats) {
+        // We want to compare the start of today, vs this.
+        // Getting start-of-today depends on whether we're local/utc/offset or not.
+        var now = time || createLocal(),
+            sod = cloneWithOffset(now, this).startOf('day'),
+            format = hooks.calendarFormat(this, sod) || 'sameElse';
+
+        var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
+
+        return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
+    }
+
+    function clone () {
+        return new Moment(this);
+    }
+
+    function isAfter (input, units) {
+        var localInput = isMoment(input) ? input : createLocal(input);
+        if (!(this.isValid() && localInput.isValid())) {
+            return false;
+        }
+        units = normalizeUnits(units) || 'millisecond';
+        if (units === 'millisecond') {
+            return this.valueOf() > localInput.valueOf();
+        } else {
+            return localInput.valueOf() < this.clone().startOf(units).valueOf();
+        }
+    }
+
+    function isBefore (input, units) {
+        var localInput = isMoment(input) ? input : createLocal(input);
+        if (!(this.isValid() && localInput.isValid())) {
+            return false;
+        }
+        units = normalizeUnits(units) || 'millisecond';
+        if (units === 'millisecond') {
+            return this.valueOf() < localInput.valueOf();
+        } else {
+            return this.clone().endOf(units).valueOf() < localInput.valueOf();
+        }
+    }
+
+    function isBetween (from, to, units, inclusivity) {
+        var localFrom = isMoment(from) ? from : createLocal(from),
+            localTo = isMoment(to) ? to : createLocal(to);
+        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
+            return false;
+        }
+        inclusivity = inclusivity || '()';
+        return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&
+            (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
+    }
+
+    function isSame (input, units) {
+        var localInput = isMoment(input) ? input : createLocal(input),
+            inputMs;
+        if (!(this.isValid() && localInput.isValid())) {
+            return false;
+        }
+        units = normalizeUnits(units) || 'millisecond';
+        if (units === 'millisecond') {
+            return this.valueOf() === localInput.valueOf();
+        } else {
+            inputMs = localInput.valueOf();
+            return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
+        }
+    }
+
+    function isSameOrAfter (input, units) {
+        return this.isSame(input, units) || this.isAfter(input, units);
+    }
+
+    function isSameOrBefore (input, units) {
+        return this.isSame(input, units) || this.isBefore(input, units);
+    }
+
+    function diff (input, units, asFloat) {
+        var that,
+            zoneDelta,
+            output;
+
+        if (!this.isValid()) {
+            return NaN;
+        }
+
+        that = cloneWithOffset(input, this);
+
+        if (!that.isValid()) {
+            return NaN;
+        }
+
+        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
+
+        units = normalizeUnits(units);
+
+        switch (units) {
+            case 'year': output = monthDiff(this, that) / 12; break;
+            case 'month': output = monthDiff(this, that); break;
+            case 'quarter': output = monthDiff(this, that) / 3; break;
+            case 'second': output = (this - that) / 1e3; break; // 1000
+            case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
+            case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
+            case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
+            case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
+            default: output = this - that;
+        }
+
+        return asFloat ? output : absFloor(output);
+    }
+
+    function monthDiff (a, b) {
+        // difference in months
+        var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
+            // b is in (anchor - 1 month, anchor + 1 month)
+            anchor = a.clone().add(wholeMonthDiff, 'months'),
+            anchor2, adjust;
+
+        if (b - anchor < 0) {
+            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
+            // linear across the month
+            adjust = (b - anchor) / (anchor - anchor2);
+        } else {
+            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
+            // linear across the month
+            adjust = (b - anchor) / (anchor2 - anchor);
+        }
+
+        //check for negative zero, return zero if negative zero
+        return -(wholeMonthDiff + adjust) || 0;
+    }
+
+    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
+    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
+
+    function toString () {
+        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+    }
+
+    function toISOString(keepOffset) {
+        if (!this.isValid()) {
+            return null;
+        }
+        var utc = keepOffset !== true;
+        var m = utc ? this.clone().utc() : this;
+        if (m.year() < 0 || m.year() > 9999) {
+            return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
+        }
+        if (isFunction(Date.prototype.toISOString)) {
+            // native implementation is ~50x faster, use it when we can
+            if (utc) {
+                return this.toDate().toISOString();
+            } else {
+                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
+            }
+        }
+        return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
+    }
+
+    /**
+     * Return a human readable representation of a moment that can
+     * also be evaluated to get a new moment which is the same
+     *
+     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
+     */
+    function inspect () {
+        if (!this.isValid()) {
+            return 'moment.invalid(/* ' + this._i + ' */)';
+        }
+        var func = 'moment';
+        var zone = '';
+        if (!this.isLocal()) {
+            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
+            zone = 'Z';
+        }
+        var prefix = '[' + func + '("]';
+        var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
+        var datetime = '-MM-DD[T]HH:mm:ss.SSS';
+        var suffix = zone + '[")]';
+
+        return this.format(prefix + year + datetime + suffix);
+    }
+
+    function format (inputString) {
+        if (!inputString) {
+            inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
+        }
+        var output = formatMoment(this, inputString);
+        return this.localeData().postformat(output);
+    }
+
+    function from (time, withoutSuffix) {
+        if (this.isValid() &&
+                ((isMoment(time) && time.isValid()) ||
+                 createLocal(time).isValid())) {
+            return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
+        } else {
+            return this.localeData().invalidDate();
+        }
+    }
+
+    function fromNow (withoutSuffix) {
+        return this.from(createLocal(), withoutSuffix);
+    }
+
+    function to (time, withoutSuffix) {
+        if (this.isValid() &&
+                ((isMoment(time) && time.isValid()) ||
+                 createLocal(time).isValid())) {
+            return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
+        } else {
+            return this.localeData().invalidDate();
+        }
+    }
+
+    function toNow (withoutSuffix) {
+        return this.to(createLocal(), withoutSuffix);
+    }
+
+    // If passed a locale key, it will set the locale for this
+    // instance.  Otherwise, it will return the locale configuration
+    // variables for this instance.
+    function locale (key) {
+        var newLocaleData;
+
+        if (key === undefined) {
+            return this._locale._abbr;
+        } else {
+            newLocaleData = getLocale(key);
+            if (newLocaleData != null) {
+                this._locale = newLocaleData;
+            }
+            return this;
+        }
+    }
+
+    var lang = deprecate(
+        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
+        function (key) {
+            if (key === undefined) {
+                return this.localeData();
+            } else {
+                return this.locale(key);
+            }
+        }
+    );
+
+    function localeData () {
+        return this._locale;
+    }
+
+    var MS_PER_SECOND = 1000;
+    var MS_PER_MINUTE = 60 * MS_PER_SECOND;
+    var MS_PER_HOUR = 60 * MS_PER_MINUTE;
+    var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
+
+    // actual modulo - handles negative numbers (for dates before 1970):
+    function mod$1(dividend, divisor) {
+        return (dividend % divisor + divisor) % divisor;
+    }
+
+    function localStartOfDate(y, m, d) {
+        // the date constructor remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            // preserve leap years using a full 400 year cycle, then reset
+            return new Date(y + 400, m, d) - MS_PER_400_YEARS;
+        } else {
+            return new Date(y, m, d).valueOf();
+        }
+    }
+
+    function utcStartOfDate(y, m, d) {
+        // Date.UTC remaps years 0-99 to 1900-1999
+        if (y < 100 && y >= 0) {
+            // preserve leap years using a full 400 year cycle, then reset
+            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
+        } else {
+            return Date.UTC(y, m, d);
+        }
+    }
+
+    function startOf (units) {
+        var time;
+        units = normalizeUnits(units);
+        if (units === undefined || units === 'millisecond' || !this.isValid()) {
+            return this;
+        }
+
+        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+        switch (units) {
+            case 'year':
+                time = startOfDate(this.year(), 0, 1);
+                break;
+            case 'quarter':
+                time = startOfDate(this.year(), this.month() - this.month() % 3, 1);
+                break;
+            case 'month':
+                time = startOfDate(this.year(), this.month(), 1);
+                break;
+            case 'week':
+                time = startOfDate(this.year(), this.month(), this.date() - this.weekday());
+                break;
+            case 'isoWeek':
+                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
+                break;
+            case 'day':
+            case 'date':
+                time = startOfDate(this.year(), this.month(), this.date());
+                break;
+            case 'hour':
+                time = this._d.valueOf();
+                time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);
+                break;
+            case 'minute':
+                time = this._d.valueOf();
+                time -= mod$1(time, MS_PER_MINUTE);
+                break;
+            case 'second':
+                time = this._d.valueOf();
+                time -= mod$1(time, MS_PER_SECOND);
+                break;
+        }
+
+        this._d.setTime(time);
+        hooks.updateOffset(this, true);
+        return this;
+    }
+
+    function endOf (units) {
+        var time;
+        units = normalizeUnits(units);
+        if (units === undefined || units === 'millisecond' || !this.isValid()) {
+            return this;
+        }
+
+        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+        switch (units) {
+            case 'year':
+                time = startOfDate(this.year() + 1, 0, 1) - 1;
+                break;
+            case 'quarter':
+                time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
+                break;
+            case 'month':
+                time = startOfDate(this.year(), this.month() + 1, 1) - 1;
+                break;
+            case 'week':
+                time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
+                break;
+            case 'isoWeek':
+                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
+                break;
+            case 'day':
+            case 'date':
+                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
+                break;
+            case 'hour':
+                time = this._d.valueOf();
+                time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;
+                break;
+            case 'minute':
+                time = this._d.valueOf();
+                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;
+                break;
+            case 'second':
+                time = this._d.valueOf();
+                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;
+                break;
+        }
+
+        this._d.setTime(time);
+        hooks.updateOffset(this, true);
+        return this;
+    }
+
+    function valueOf () {
+        return this._d.valueOf() - ((this._offset || 0) * 60000);
+    }
+
+    function unix () {
+        return Math.floor(this.valueOf() / 1000);
+    }
+
+    function toDate () {
+        return new Date(this.valueOf());
+    }
+
+    function toArray () {
+        var m = this;
+        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
+    }
+
+    function toObject () {
+        var m = this;
+        return {
+            years: m.year(),
+            months: m.month(),
+            date: m.date(),
+            hours: m.hours(),
+            minutes: m.minutes(),
+            seconds: m.seconds(),
+            milliseconds: m.milliseconds()
+        };
+    }
+
+    function toJSON () {
+        // new Date(NaN).toJSON() === null
+        return this.isValid() ? this.toISOString() : null;
+    }
+
+    function isValid$2 () {
+        return isValid(this);
+    }
+
+    function parsingFlags () {
+        return extend({}, getParsingFlags(this));
+    }
+
+    function invalidAt () {
+        return getParsingFlags(this).overflow;
+    }
+
+    function creationData() {
+        return {
+            input: this._i,
+            format: this._f,
+            locale: this._locale,
+            isUTC: this._isUTC,
+            strict: this._strict
+        };
+    }
+
+    // FORMATTING
+
+    addFormatToken(0, ['gg', 2], 0, function () {
+        return this.weekYear() % 100;
+    });
+
+    addFormatToken(0, ['GG', 2], 0, function () {
+        return this.isoWeekYear() % 100;
+    });
+
+    function addWeekYearFormatToken (token, getter) {
+        addFormatToken(0, [token, token.length], 0, getter);
+    }
+
+    addWeekYearFormatToken('gggg',     'weekYear');
+    addWeekYearFormatToken('ggggg',    'weekYear');
+    addWeekYearFormatToken('GGGG',  'isoWeekYear');
+    addWeekYearFormatToken('GGGGG', 'isoWeekYear');
+
+    // ALIASES
+
+    addUnitAlias('weekYear', 'gg');
+    addUnitAlias('isoWeekYear', 'GG');
+
+    // PRIORITY
+
+    addUnitPriority('weekYear', 1);
+    addUnitPriority('isoWeekYear', 1);
+
+
+    // PARSING
+
+    addRegexToken('G',      matchSigned);
+    addRegexToken('g',      matchSigned);
+    addRegexToken('GG',     match1to2, match2);
+    addRegexToken('gg',     match1to2, match2);
+    addRegexToken('GGGG',   match1to4, match4);
+    addRegexToken('gggg',   match1to4, match4);
+    addRegexToken('GGGGG',  match1to6, match6);
+    addRegexToken('ggggg',  match1to6, match6);
+
+    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
+        week[token.substr(0, 2)] = toInt(input);
+    });
+
+    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
+        week[token] = hooks.parseTwoDigitYear(input);
+    });
+
+    // MOMENTS
+
+    function getSetWeekYear (input) {
+        return getSetWeekYearHelper.call(this,
+                input,
+                this.week(),
+                this.weekday(),
+                this.localeData()._week.dow,
+                this.localeData()._week.doy);
+    }
+
+    function getSetISOWeekYear (input) {
+        return getSetWeekYearHelper.call(this,
+                input, this.isoWeek(), this.isoWeekday(), 1, 4);
+    }
+
+    function getISOWeeksInYear () {
+        return weeksInYear(this.year(), 1, 4);
+    }
+
+    function getWeeksInYear () {
+        var weekInfo = this.localeData()._week;
+        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+    }
+
+    function getSetWeekYearHelper(input, week, weekday, dow, doy) {
+        var weeksTarget;
+        if (input == null) {
+            return weekOfYear(this, dow, doy).year;
+        } else {
+            weeksTarget = weeksInYear(input, dow, doy);
+            if (week > weeksTarget) {
+                week = weeksTarget;
+            }
+            return setWeekAll.call(this, input, week, weekday, dow, doy);
+        }
+    }
+
+    function setWeekAll(weekYear, week, weekday, dow, doy) {
+        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
+            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
+
+        this.year(date.getUTCFullYear());
+        this.month(date.getUTCMonth());
+        this.date(date.getUTCDate());
+        return this;
+    }
+
+    // FORMATTING
+
+    addFormatToken('Q', 0, 'Qo', 'quarter');
+
+    // ALIASES
+
+    addUnitAlias('quarter', 'Q');
+
+    // PRIORITY
+
+    addUnitPriority('quarter', 7);
+
+    // PARSING
+
+    addRegexToken('Q', match1);
+    addParseToken('Q', function (input, array) {
+        array[MONTH] = (toInt(input) - 1) * 3;
+    });
+
+    // MOMENTS
+
+    function getSetQuarter (input) {
+        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
+    }
+
+    // FORMATTING
+
+    addFormatToken('D', ['DD', 2], 'Do', 'date');
+
+    // ALIASES
+
+    addUnitAlias('date', 'D');
+
+    // PRIORITY
+    addUnitPriority('date', 9);
+
+    // PARSING
+
+    addRegexToken('D',  match1to2);
+    addRegexToken('DD', match1to2, match2);
+    addRegexToken('Do', function (isStrict, locale) {
+        // TODO: Remove "ordinalParse" fallback in next major release.
+        return isStrict ?
+          (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
+          locale._dayOfMonthOrdinalParseLenient;
+    });
+
+    addParseToken(['D', 'DD'], DATE);
+    addParseToken('Do', function (input, array) {
+        array[DATE] = toInt(input.match(match1to2)[0]);
+    });
+
+    // MOMENTS
+
+    var getSetDayOfMonth = makeGetSet('Date', true);
+
+    // FORMATTING
+
+    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
+
+    // ALIASES
+
+    addUnitAlias('dayOfYear', 'DDD');
+
+    // PRIORITY
+    addUnitPriority('dayOfYear', 4);
+
+    // PARSING
+
+    addRegexToken('DDD',  match1to3);
+    addRegexToken('DDDD', match3);
+    addParseToken(['DDD', 'DDDD'], function (input, array, config) {
+        config._dayOfYear = toInt(input);
+    });
+
+    // HELPERS
+
+    // MOMENTS
+
+    function getSetDayOfYear (input) {
+        var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
+        return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
+    }
+
+    // FORMATTING
+
+    addFormatToken('m', ['mm', 2], 0, 'minute');
+
+    // ALIASES
+
+    addUnitAlias('minute', 'm');
+
+    // PRIORITY
+
+    addUnitPriority('minute', 14);
+
+    // PARSING
+
+    addRegexToken('m',  match1to2);
+    addRegexToken('mm', match1to2, match2);
+    addParseToken(['m', 'mm'], MINUTE);
+
+    // MOMENTS
+
+    var getSetMinute = makeGetSet('Minutes', false);
+
+    // FORMATTING
+
+    addFormatToken('s', ['ss', 2], 0, 'second');
+
+    // ALIASES
+
+    addUnitAlias('second', 's');
+
+    // PRIORITY
+
+    addUnitPriority('second', 15);
+
+    // PARSING
+
+    addRegexToken('s',  match1to2);
+    addRegexToken('ss', match1to2, match2);
+    addParseToken(['s', 'ss'], SECOND);
+
+    // MOMENTS
+
+    var getSetSecond = makeGetSet('Seconds', false);
+
+    // FORMATTING
+
+    addFormatToken('S', 0, 0, function () {
+        return ~~(this.millisecond() / 100);
+    });
+
+    addFormatToken(0, ['SS', 2], 0, function () {
+        return ~~(this.millisecond() / 10);
+    });
+
+    addFormatToken(0, ['SSS', 3], 0, 'millisecond');
+    addFormatToken(0, ['SSSS', 4], 0, function () {
+        return this.millisecond() * 10;
+    });
+    addFormatToken(0, ['SSSSS', 5], 0, function () {
+        return this.millisecond() * 100;
+    });
+    addFormatToken(0, ['SSSSSS', 6], 0, function () {
+        return this.millisecond() * 1000;
+    });
+    addFormatToken(0, ['SSSSSSS', 7], 0, function () {
+        return this.millisecond() * 10000;
+    });
+    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
+        return this.millisecond() * 100000;
+    });
+    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
+        return this.millisecond() * 1000000;
+    });
+
+
+    // ALIASES
+
+    addUnitAlias('millisecond', 'ms');
+
+    // PRIORITY
+
+    addUnitPriority('millisecond', 16);
+
+    // PARSING
+
+    addRegexToken('S',    match1to3, match1);
+    addRegexToken('SS',   match1to3, match2);
+    addRegexToken('SSS',  match1to3, match3);
+
+    var token;
+    for (token = 'SSSS'; token.length <= 9; token += 'S') {
+        addRegexToken(token, matchUnsigned);
+    }
+
+    function parseMs(input, array) {
+        array[MILLISECOND] = toInt(('0.' + input) * 1000);
+    }
+
+    for (token = 'S'; token.length <= 9; token += 'S') {
+        addParseToken(token, parseMs);
+    }
+    // MOMENTS
+
+    var getSetMillisecond = makeGetSet('Milliseconds', false);
+
+    // FORMATTING
+
+    addFormatToken('z',  0, 0, 'zoneAbbr');
+    addFormatToken('zz', 0, 0, 'zoneName');
+
+    // MOMENTS
+
+    function getZoneAbbr () {
+        return this._isUTC ? 'UTC' : '';
+    }
+
+    function getZoneName () {
+        return this._isUTC ? 'Coordinated Universal Time' : '';
+    }
+
+    var proto = Moment.prototype;
+
+    proto.add               = add;
+    proto.calendar          = calendar$1;
+    proto.clone             = clone;
+    proto.diff              = diff;
+    proto.endOf             = endOf;
+    proto.format            = format;
+    proto.from              = from;
+    proto.fromNow           = fromNow;
+    proto.to                = to;
+    proto.toNow             = toNow;
+    proto.get               = stringGet;
+    proto.invalidAt         = invalidAt;
+    proto.isAfter           = isAfter;
+    proto.isBefore          = isBefore;
+    proto.isBetween         = isBetween;
+    proto.isSame            = isSame;
+    proto.isSameOrAfter     = isSameOrAfter;
+    proto.isSameOrBefore    = isSameOrBefore;
+    proto.isValid           = isValid$2;
+    proto.lang              = lang;
+    proto.locale            = locale;
+    proto.localeData        = localeData;
+    proto.max               = prototypeMax;
+    proto.min               = prototypeMin;
+    proto.parsingFlags      = parsingFlags;
+    proto.set               = stringSet;
+    proto.startOf           = startOf;
+    proto.subtract          = subtract;
+    proto.toArray           = toArray;
+    proto.toObject          = toObject;
+    proto.toDate            = toDate;
+    proto.toISOString       = toISOString;
+    proto.inspect           = inspect;
+    proto.toJSON            = toJSON;
+    proto.toString          = toString;
+    proto.unix              = unix;
+    proto.valueOf           = valueOf;
+    proto.creationData      = creationData;
+    proto.year       = getSetYear;
+    proto.isLeapYear = getIsLeapYear;
+    proto.weekYear    = getSetWeekYear;
+    proto.isoWeekYear = getSetISOWeekYear;
+    proto.quarter = proto.quarters = getSetQuarter;
+    proto.month       = getSetMonth;
+    proto.daysInMonth = getDaysInMonth;
+    proto.week           = proto.weeks        = getSetWeek;
+    proto.isoWeek        = proto.isoWeeks     = getSetISOWeek;
+    proto.weeksInYear    = getWeeksInYear;
+    proto.isoWeeksInYear = getISOWeeksInYear;
+    proto.date       = getSetDayOfMonth;
+    proto.day        = proto.days             = getSetDayOfWeek;
+    proto.weekday    = getSetLocaleDayOfWeek;
+    proto.isoWeekday = getSetISODayOfWeek;
+    proto.dayOfYear  = getSetDayOfYear;
+    proto.hour = proto.hours = getSetHour;
+    proto.minute = proto.minutes = getSetMinute;
+    proto.second = proto.seconds = getSetSecond;
+    proto.millisecond = proto.milliseconds = getSetMillisecond;
+    proto.utcOffset            = getSetOffset;
+    proto.utc                  = setOffsetToUTC;
+    proto.local                = setOffsetToLocal;
+    proto.parseZone            = setOffsetToParsedOffset;
+    proto.hasAlignedHourOffset = hasAlignedHourOffset;
+    proto.isDST                = isDaylightSavingTime;
+    proto.isLocal              = isLocal;
+    proto.isUtcOffset          = isUtcOffset;
+    proto.isUtc                = isUtc;
+    proto.isUTC                = isUtc;
+    proto.zoneAbbr = getZoneAbbr;
+    proto.zoneName = getZoneName;
+    proto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
+    proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
+    proto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);
+    proto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
+    proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
+
+    function createUnix (input) {
+        return createLocal(input * 1000);
+    }
+
+    function createInZone () {
+        return createLocal.apply(null, arguments).parseZone();
+    }
+
+    function preParsePostFormat (string) {
+        return string;
+    }
+
+    var proto$1 = Locale.prototype;
+
+    proto$1.calendar        = calendar;
+    proto$1.longDateFormat  = longDateFormat;
+    proto$1.invalidDate     = invalidDate;
+    proto$1.ordinal         = ordinal;
+    proto$1.preparse        = preParsePostFormat;
+    proto$1.postformat      = preParsePostFormat;
+    proto$1.relativeTime    = relativeTime;
+    proto$1.pastFuture      = pastFuture;
+    proto$1.set             = set;
+
+    proto$1.months            =        localeMonths;
+    proto$1.monthsShort       =        localeMonthsShort;
+    proto$1.monthsParse       =        localeMonthsParse;
+    proto$1.monthsRegex       = monthsRegex;
+    proto$1.monthsShortRegex  = monthsShortRegex;
+    proto$1.week = localeWeek;
+    proto$1.firstDayOfYear = localeFirstDayOfYear;
+    proto$1.firstDayOfWeek = localeFirstDayOfWeek;
+
+    proto$1.weekdays       =        localeWeekdays;
+    proto$1.weekdaysMin    =        localeWeekdaysMin;
+    proto$1.weekdaysShort  =        localeWeekdaysShort;
+    proto$1.weekdaysParse  =        localeWeekdaysParse;
+
+    proto$1.weekdaysRegex       =        weekdaysRegex;
+    proto$1.weekdaysShortRegex  =        weekdaysShortRegex;
+    proto$1.weekdaysMinRegex    =        weekdaysMinRegex;
+
+    proto$1.isPM = localeIsPM;
+    proto$1.meridiem = localeMeridiem;
+
+    function get$1 (format, index, field, setter) {
+        var locale = getLocale();
+        var utc = createUTC().set(setter, index);
+        return locale[field](utc, format);
+    }
+
+    function listMonthsImpl (format, index, field) {
+        if (isNumber(format)) {
+            index = format;
+            format = undefined;
+        }
+
+        format = format || '';
+
+        if (index != null) {
+            return get$1(format, index, field, 'month');
+        }
+
+        var i;
+        var out = [];
+        for (i = 0; i < 12; i++) {
+            out[i] = get$1(format, i, field, 'month');
+        }
+        return out;
+    }
+
+    // ()
+    // (5)
+    // (fmt, 5)
+    // (fmt)
+    // (true)
+    // (true, 5)
+    // (true, fmt, 5)
+    // (true, fmt)
+    function listWeekdaysImpl (localeSorted, format, index, field) {
+        if (typeof localeSorted === 'boolean') {
+            if (isNumber(format)) {
+                index = format;
+                format = undefined;
+            }
+
+            format = format || '';
+        } else {
+            format = localeSorted;
+            index = format;
+            localeSorted = false;
+
+            if (isNumber(format)) {
+                index = format;
+                format = undefined;
+            }
+
+            format = format || '';
+        }
+
+        var locale = getLocale(),
+            shift = localeSorted ? locale._week.dow : 0;
+
+        if (index != null) {
+            return get$1(format, (index + shift) % 7, field, 'day');
+        }
+
+        var i;
+        var out = [];
+        for (i = 0; i < 7; i++) {
+            out[i] = get$1(format, (i + shift) % 7, field, 'day');
+        }
+        return out;
+    }
+
+    function listMonths (format, index) {
+        return listMonthsImpl(format, index, 'months');
+    }
+
+    function listMonthsShort (format, index) {
+        return listMonthsImpl(format, index, 'monthsShort');
+    }
+
+    function listWeekdays (localeSorted, format, index) {
+        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
+    }
+
+    function listWeekdaysShort (localeSorted, format, index) {
+        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
+    }
+
+    function listWeekdaysMin (localeSorted, format, index) {
+        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
+    }
+
+    getSetGlobalLocale('en', {
+        dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+        ordinal : function (number) {
+            var b = number % 10,
+                output = (toInt(number % 100 / 10) === 1) ? 'th' :
+                (b === 1) ? 'st' :
+                (b === 2) ? 'nd' :
+                (b === 3) ? 'rd' : 'th';
+            return number + output;
+        }
+    });
+
+    // Side effect imports
+
+    hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
+    hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
+
+    var mathAbs = Math.abs;
+
+    function abs () {
+        var data           = this._data;
+
+        this._milliseconds = mathAbs(this._milliseconds);
+        this._days         = mathAbs(this._days);
+        this._months       = mathAbs(this._months);
+
+        data.milliseconds  = mathAbs(data.milliseconds);
+        data.seconds       = mathAbs(data.seconds);
+        data.minutes       = mathAbs(data.minutes);
+        data.hours         = mathAbs(data.hours);
+        data.months        = mathAbs(data.months);
+        data.years         = mathAbs(data.years);
+
+        return this;
+    }
+
+    function addSubtract$1 (duration, input, value, direction) {
+        var other = createDuration(input, value);
+
+        duration._milliseconds += direction * other._milliseconds;
+        duration._days         += direction * other._days;
+        duration._months       += direction * other._months;
+
+        return duration._bubble();
+    }
+
+    // supports only 2.0-style add(1, 's') or add(duration)
+    function add$1 (input, value) {
+        return addSubtract$1(this, input, value, 1);
+    }
+
+    // supports only 2.0-style subtract(1, 's') or subtract(duration)
+    function subtract$1 (input, value) {
+        return addSubtract$1(this, input, value, -1);
+    }
+
+    function absCeil (number) {
+        if (number < 0) {
+            return Math.floor(number);
+        } else {
+            return Math.ceil(number);
+        }
+    }
+
+    function bubble () {
+        var milliseconds = this._milliseconds;
+        var days         = this._days;
+        var months       = this._months;
+        var data         = this._data;
+        var seconds, minutes, hours, years, monthsFromDays;
+
+        // if we have a mix of positive and negative values, bubble down first
+        // check: https://github.com/moment/moment/issues/2166
+        if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
+                (milliseconds <= 0 && days <= 0 && months <= 0))) {
+            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
+            days = 0;
+            months = 0;
+        }
+
+        // The following code bubbles up values, see the tests for
+        // examples of what that means.
+        data.milliseconds = milliseconds % 1000;
+
+        seconds           = absFloor(milliseconds / 1000);
+        data.seconds      = seconds % 60;
+
+        minutes           = absFloor(seconds / 60);
+        data.minutes      = minutes % 60;
+
+        hours             = absFloor(minutes / 60);
+        data.hours        = hours % 24;
+
+        days += absFloor(hours / 24);
+
+        // convert days to months
+        monthsFromDays = absFloor(daysToMonths(days));
+        months += monthsFromDays;
+        days -= absCeil(monthsToDays(monthsFromDays));
+
+        // 12 months -> 1 year
+        years = absFloor(months / 12);
+        months %= 12;
+
+        data.days   = days;
+        data.months = months;
+        data.years  = years;
+
+        return this;
+    }
+
+    function daysToMonths (days) {
+        // 400 years have 146097 days (taking into account leap year rules)
+        // 400 years have 12 months === 4800
+        return days * 4800 / 146097;
+    }
+
+    function monthsToDays (months) {
+        // the reverse of daysToMonths
+        return months * 146097 / 4800;
+    }
+
+    function as (units) {
+        if (!this.isValid()) {
+            return NaN;
+        }
+        var days;
+        var months;
+        var milliseconds = this._milliseconds;
+
+        units = normalizeUnits(units);
+
+        if (units === 'month' || units === 'quarter' || units === 'year') {
+            days = this._days + milliseconds / 864e5;
+            months = this._months + daysToMonths(days);
+            switch (units) {
+                case 'month':   return months;
+                case 'quarter': return months / 3;
+                case 'year':    return months / 12;
+            }
+        } else {
+            // handle milliseconds separately because of floating point math errors (issue #1867)
+            days = this._days + Math.round(monthsToDays(this._months));
+            switch (units) {
+                case 'week'   : return days / 7     + milliseconds / 6048e5;
+                case 'day'    : return days         + milliseconds / 864e5;
+                case 'hour'   : return days * 24    + milliseconds / 36e5;
+                case 'minute' : return days * 1440  + milliseconds / 6e4;
+                case 'second' : return days * 86400 + milliseconds / 1000;
+                // Math.floor prevents floating point math errors here
+                case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
+                default: throw new Error('Unknown unit ' + units);
+            }
+        }
+    }
+
+    // TODO: Use this.as('ms')?
+    function valueOf$1 () {
+        if (!this.isValid()) {
+            return NaN;
+        }
+        return (
+            this._milliseconds +
+            this._days * 864e5 +
+            (this._months % 12) * 2592e6 +
+            toInt(this._months / 12) * 31536e6
+        );
+    }
+
+    function makeAs (alias) {
+        return function () {
+            return this.as(alias);
+        };
+    }
+
+    var asMilliseconds = makeAs('ms');
+    var asSeconds      = makeAs('s');
+    var asMinutes      = makeAs('m');
+    var asHours        = makeAs('h');
+    var asDays         = makeAs('d');
+    var asWeeks        = makeAs('w');
+    var asMonths       = makeAs('M');
+    var asQuarters     = makeAs('Q');
+    var asYears        = makeAs('y');
+
+    function clone$1 () {
+        return createDuration(this);
+    }
+
+    function get$2 (units) {
+        units = normalizeUnits(units);
+        return this.isValid() ? this[units + 's']() : NaN;
+    }
+
+    function makeGetter(name) {
+        return function () {
+            return this.isValid() ? this._data[name] : NaN;
+        };
+    }
+
+    var milliseconds = makeGetter('milliseconds');
+    var seconds      = makeGetter('seconds');
+    var minutes      = makeGetter('minutes');
+    var hours        = makeGetter('hours');
+    var days         = makeGetter('days');
+    var months       = makeGetter('months');
+    var years        = makeGetter('years');
+
+    function weeks () {
+        return absFloor(this.days() / 7);
+    }
+
+    var round = Math.round;
+    var thresholds = {
+        ss: 44,         // a few seconds to seconds
+        s : 45,         // seconds to minute
+        m : 45,         // minutes to hour
+        h : 22,         // hours to day
+        d : 26,         // days to month
+        M : 11          // months to year
+    };
+
+    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+    }
+
+    function relativeTime$1 (posNegDuration, withoutSuffix, locale) {
+        var duration = createDuration(posNegDuration).abs();
+        var seconds  = round(duration.as('s'));
+        var minutes  = round(duration.as('m'));
+        var hours    = round(duration.as('h'));
+        var days     = round(duration.as('d'));
+        var months   = round(duration.as('M'));
+        var years    = round(duration.as('y'));
+
+        var a = seconds <= thresholds.ss && ['s', seconds]  ||
+                seconds < thresholds.s   && ['ss', seconds] ||
+                minutes <= 1             && ['m']           ||
+                minutes < thresholds.m   && ['mm', minutes] ||
+                hours   <= 1             && ['h']           ||
+                hours   < thresholds.h   && ['hh', hours]   ||
+                days    <= 1             && ['d']           ||
+                days    < thresholds.d   && ['dd', days]    ||
+                months  <= 1             && ['M']           ||
+                months  < thresholds.M   && ['MM', months]  ||
+                years   <= 1             && ['y']           || ['yy', years];
+
+        a[2] = withoutSuffix;
+        a[3] = +posNegDuration > 0;
+        a[4] = locale;
+        return substituteTimeAgo.apply(null, a);
+    }
+
+    // This function allows you to set the rounding function for relative time strings
+    function getSetRelativeTimeRounding (roundingFunction) {
+        if (roundingFunction === undefined) {
+            return round;
+        }
+        if (typeof(roundingFunction) === 'function') {
+            round = roundingFunction;
+            return true;
+        }
+        return false;
+    }
+
+    // This function allows you to set a threshold for relative time strings
+    function getSetRelativeTimeThreshold (threshold, limit) {
+        if (thresholds[threshold] === undefined) {
+            return false;
+        }
+        if (limit === undefined) {
+            return thresholds[threshold];
+        }
+        thresholds[threshold] = limit;
+        if (threshold === 's') {
+            thresholds.ss = limit - 1;
+        }
+        return true;
+    }
+
+    function humanize (withSuffix) {
+        if (!this.isValid()) {
+            return this.localeData().invalidDate();
+        }
+
+        var locale = this.localeData();
+        var output = relativeTime$1(this, !withSuffix, locale);
+
+        if (withSuffix) {
+            output = locale.pastFuture(+this, output);
+        }
+
+        return locale.postformat(output);
+    }
+
+    var abs$1 = Math.abs;
+
+    function sign(x) {
+        return ((x > 0) - (x < 0)) || +x;
+    }
+
+    function toISOString$1() {
+        // for ISO strings we do not use the normal bubbling rules:
+        //  * milliseconds bubble up until they become hours
+        //  * days do not bubble at all
+        //  * months bubble up until they become years
+        // This is because there is no context-free conversion between hours and days
+        // (think of clock changes)
+        // and also not between days and months (28-31 days per month)
+        if (!this.isValid()) {
+            return this.localeData().invalidDate();
+        }
+
+        var seconds = abs$1(this._milliseconds) / 1000;
+        var days         = abs$1(this._days);
+        var months       = abs$1(this._months);
+        var minutes, hours, years;
+
+        // 3600 seconds -> 60 minutes -> 1 hour
+        minutes           = absFloor(seconds / 60);
+        hours             = absFloor(minutes / 60);
+        seconds %= 60;
+        minutes %= 60;
+
+        // 12 months -> 1 year
+        years  = absFloor(months / 12);
+        months %= 12;
+
+
+        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+        var Y = years;
+        var M = months;
+        var D = days;
+        var h = hours;
+        var m = minutes;
+        var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
+        var total = this.asSeconds();
+
+        if (!total) {
+            // this is the same as C#'s (Noda) and python (isodate)...
+            // but not other JS (goog.date)
+            return 'P0D';
+        }
+
+        var totalSign = total < 0 ? '-' : '';
+        var ymSign = sign(this._months) !== sign(total) ? '-' : '';
+        var daysSign = sign(this._days) !== sign(total) ? '-' : '';
+        var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
+
+        return totalSign + 'P' +
+            (Y ? ymSign + Y + 'Y' : '') +
+            (M ? ymSign + M + 'M' : '') +
+            (D ? daysSign + D + 'D' : '') +
+            ((h || m || s) ? 'T' : '') +
+            (h ? hmsSign + h + 'H' : '') +
+            (m ? hmsSign + m + 'M' : '') +
+            (s ? hmsSign + s + 'S' : '');
+    }
+
+    var proto$2 = Duration.prototype;
+
+    proto$2.isValid        = isValid$1;
+    proto$2.abs            = abs;
+    proto$2.add            = add$1;
+    proto$2.subtract       = subtract$1;
+    proto$2.as             = as;
+    proto$2.asMilliseconds = asMilliseconds;
+    proto$2.asSeconds      = asSeconds;
+    proto$2.asMinutes      = asMinutes;
+    proto$2.asHours        = asHours;
+    proto$2.asDays         = asDays;
+    proto$2.asWeeks        = asWeeks;
+    proto$2.asMonths       = asMonths;
+    proto$2.asQuarters     = asQuarters;
+    proto$2.asYears        = asYears;
+    proto$2.valueOf        = valueOf$1;
+    proto$2._bubble        = bubble;
+    proto$2.clone          = clone$1;
+    proto$2.get            = get$2;
+    proto$2.milliseconds   = milliseconds;
+    proto$2.seconds        = seconds;
+    proto$2.minutes        = minutes;
+    proto$2.hours          = hours;
+    proto$2.days           = days;
+    proto$2.weeks          = weeks;
+    proto$2.months         = months;
+    proto$2.years          = years;
+    proto$2.humanize       = humanize;
+    proto$2.toISOString    = toISOString$1;
+    proto$2.toString       = toISOString$1;
+    proto$2.toJSON         = toISOString$1;
+    proto$2.locale         = locale;
+    proto$2.localeData     = localeData;
+
+    proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);
+    proto$2.lang = lang;
+
+    // Side effect imports
+
+    // FORMATTING
+
+    addFormatToken('X', 0, 0, 'unix');
+    addFormatToken('x', 0, 0, 'valueOf');
+
+    // PARSING
+
+    addRegexToken('x', matchSigned);
+    addRegexToken('X', matchTimestamp);
+    addParseToken('X', function (input, array, config) {
+        config._d = new Date(parseFloat(input, 10) * 1000);
+    });
+    addParseToken('x', function (input, array, config) {
+        config._d = new Date(toInt(input));
+    });
+
+    // Side effect imports
+
+
+    hooks.version = '2.24.0';
+
+    setHookCallback(createLocal);
+
+    hooks.fn                    = proto;
+    hooks.min                   = min;
+    hooks.max                   = max;
+    hooks.now                   = now;
+    hooks.utc                   = createUTC;
+    hooks.unix                  = createUnix;
+    hooks.months                = listMonths;
+    hooks.isDate                = isDate;
+    hooks.locale                = getSetGlobalLocale;
+    hooks.invalid               = createInvalid;
+    hooks.duration              = createDuration;
+    hooks.isMoment              = isMoment;
+    hooks.weekdays              = listWeekdays;
+    hooks.parseZone             = createInZone;
+    hooks.localeData            = getLocale;
+    hooks.isDuration            = isDuration;
+    hooks.monthsShort           = listMonthsShort;
+    hooks.weekdaysMin           = listWeekdaysMin;
+    hooks.defineLocale          = defineLocale;
+    hooks.updateLocale          = updateLocale;
+    hooks.locales               = listLocales;
+    hooks.weekdaysShort         = listWeekdaysShort;
+    hooks.normalizeUnits        = normalizeUnits;
+    hooks.relativeTimeRounding  = getSetRelativeTimeRounding;
+    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;
+    hooks.calendarFormat        = getCalendarFormat;
+    hooks.prototype             = proto;
+
+    // currently HTML5 input type only supports 24-hour formats
+    hooks.HTML5_FMT = {
+        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // <input type="datetime-local" />
+        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // <input type="datetime-local" step="1" />
+        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // <input type="datetime-local" step="0.001" />
+        DATE: 'YYYY-MM-DD',                             // <input type="date" />
+        TIME: 'HH:mm',                                  // <input type="time" />
+        TIME_SECONDS: 'HH:mm:ss',                       // <input type="time" step="1" />
+        TIME_MS: 'HH:mm:ss.SSS',                        // <input type="time" step="0.001" />
+        WEEK: 'GGGG-[W]WW',                             // <input type="week" />
+        MONTH: 'YYYY-MM'                                // <input type="month" />
+    };
+
+    return hooks;
+
+})));
diff --git a/public/bower_components/moment/package-lock.json b/public/bower_components/moment/package-lock.json
new file mode 100644
index 0000000..151876c
--- /dev/null
+++ b/public/bower_components/moment/package-lock.json
@@ -0,0 +1,9699 @@
+{
+    "name": "moment",
+    "version": "2.23.0",
+    "lockfileVersion": 1,
+    "requires": true,
+    "dependencies": {
+        "@types/estree": {
+            "version": "0.0.39",
+            "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+            "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+            "dev": true
+        },
+        "@types/node": {
+            "version": "10.12.15",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-10.12.15.tgz",
+            "integrity": "sha512-9kROxduaN98QghwwHmxXO2Xz3MaWf+I1sLVAA6KJDF5xix+IyXVhds0MAfdNwtcpSrzhaTsNB0/jnL86fgUhqA==",
+            "dev": true
+        },
+        "JSV": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npmjs.org/JSV/-/JSV-4.0.2.tgz",
+            "integrity": "sha1-0Hf2glVx+CEy+d/67Vh7QCn+/1c=",
+            "dev": true
+        },
+        "abbrev": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
+            "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+            "dev": true
+        },
+        "accepts": {
+            "version": "1.3.5",
+            "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz",
+            "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=",
+            "dev": true,
+            "requires": {
+                "mime-types": "~2.1.18",
+                "negotiator": "0.6.1"
+            }
+        },
+        "adm-zip": {
+            "version": "0.4.13",
+            "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.13.tgz",
+            "integrity": "sha512-fERNJX8sOXfel6qCBCMPvZLzENBEhZTzKqg6vrOW5pvoEaQuJhRU4ndTAh6lHOxn1I6jnz2NHra56ZODM751uw==",
+            "dev": true
+        },
+        "after": {
+            "version": "0.8.2",
+            "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz",
+            "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=",
+            "dev": true
+        },
+        "agent-base": {
+            "version": "4.2.1",
+            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz",
+            "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==",
+            "dev": true,
+            "requires": {
+                "es6-promisify": "^5.0.0"
+            }
+        },
+        "ajv": {
+            "version": "5.5.2",
+            "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz",
+            "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=",
+            "dev": true,
+            "requires": {
+                "co": "^4.6.0",
+                "fast-deep-equal": "^1.0.0",
+                "fast-json-stable-stringify": "^2.0.0",
+                "json-schema-traverse": "^0.3.0"
+            }
+        },
+        "align-text": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz",
+            "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2",
+                "longest": "^1.0.1",
+                "repeat-string": "^1.5.2"
+            }
+        },
+        "amdefine": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz",
+            "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
+            "dev": true,
+            "optional": true
+        },
+        "ansi-regex": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz",
+            "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=",
+            "dev": true
+        },
+        "ansi-styles": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz",
+            "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=",
+            "dev": true
+        },
+        "anymatch": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz",
+            "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==",
+            "dev": true,
+            "requires": {
+                "micromatch": "^3.1.4",
+                "normalize-path": "^2.1.1"
+            }
+        },
+        "argparse": {
+            "version": "1.0.10",
+            "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+            "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+            "dev": true,
+            "requires": {
+                "sprintf-js": "~1.0.2"
+            }
+        },
+        "argsparser": {
+            "version": "0.0.7",
+            "resolved": "https://registry.npmjs.org/argsparser/-/argsparser-0.0.7.tgz",
+            "integrity": "sha1-QcheDD3nV7NQ8S5u0OSQsegtvgY=",
+            "dev": true
+        },
+        "arr-diff": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz",
+            "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=",
+            "dev": true
+        },
+        "arr-flatten": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz",
+            "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==",
+            "dev": true
+        },
+        "arr-union": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz",
+            "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=",
+            "dev": true
+        },
+        "array-differ": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz",
+            "integrity": "sha1-7/UuN1gknTO+QCuLuOVkuytdQDE=",
+            "dev": true
+        },
+        "array-each": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/array-each/-/array-each-1.0.1.tgz",
+            "integrity": "sha1-p5SvDAWrF1KEbudTofIRoFugxE8=",
+            "dev": true
+        },
+        "array-slice": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-1.1.0.tgz",
+            "integrity": "sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==",
+            "dev": true
+        },
+        "array-union": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
+            "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=",
+            "dev": true,
+            "requires": {
+                "array-uniq": "^1.0.1"
+            }
+        },
+        "array-uniq": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz",
+            "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
+            "dev": true
+        },
+        "array-unique": {
+            "version": "0.3.2",
+            "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz",
+            "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=",
+            "dev": true
+        },
+        "arraybuffer.slice": {
+            "version": "0.0.7",
+            "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz",
+            "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==",
+            "dev": true
+        },
+        "arrify": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
+            "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=",
+            "dev": true
+        },
+        "asn1": {
+            "version": "0.2.3",
+            "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
+            "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
+            "dev": true
+        },
+        "assert-plus": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+            "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+            "dev": true
+        },
+        "assertion-error": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.0.tgz",
+            "integrity": "sha1-x/hUOP3UZrx8oWq5DIFRN5el0js=",
+            "dev": true
+        },
+        "assign-symbols": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz",
+            "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
+            "dev": true
+        },
+        "async": {
+            "version": "0.1.22",
+            "resolved": "https://registry.npmjs.org/async/-/async-0.1.22.tgz",
+            "integrity": "sha1-D8GqoIig4+8Ovi2IMbqw3PiEUGE=",
+            "dev": true
+        },
+        "async-each": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz",
+            "integrity": "sha1-GdOGodntxufByF04iu28xW0zYC0=",
+            "dev": true
+        },
+        "async-limiter": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz",
+            "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==",
+            "dev": true
+        },
+        "asynckit": {
+            "version": "0.4.0",
+            "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+            "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
+            "dev": true
+        },
+        "atob": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
+            "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==",
+            "dev": true
+        },
+        "aws-sign2": {
+            "version": "0.7.0",
+            "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz",
+            "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=",
+            "dev": true
+        },
+        "babel-runtime": {
+            "version": "6.26.0",
+            "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
+            "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
+            "dev": true,
+            "requires": {
+                "core-js": "^2.4.0",
+                "regenerator-runtime": "^0.11.0"
+            }
+        },
+        "babylon": {
+            "version": "6.18.0",
+            "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz",
+            "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==",
+            "dev": true
+        },
+        "backo2": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz",
+            "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=",
+            "dev": true
+        },
+        "balanced-match": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+            "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+            "dev": true
+        },
+        "base": {
+            "version": "0.11.2",
+            "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz",
+            "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==",
+            "dev": true,
+            "requires": {
+                "cache-base": "^1.0.1",
+                "class-utils": "^0.3.5",
+                "component-emitter": "^1.2.1",
+                "define-property": "^1.0.0",
+                "isobject": "^3.0.1",
+                "mixin-deep": "^1.2.0",
+                "pascalcase": "^0.1.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+                    "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.0"
+                    }
+                },
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "base64-arraybuffer": {
+            "version": "0.1.5",
+            "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz",
+            "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=",
+            "dev": true
+        },
+        "base64id": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz",
+            "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=",
+            "dev": true
+        },
+        "bcrypt-pbkdf": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
+            "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "tweetnacl": "^0.14.3"
+            }
+        },
+        "benchmark": {
+            "version": "2.1.4",
+            "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz",
+            "integrity": "sha1-CfPeMckWQl1JjMLuVloOvzwqVik=",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.17.4",
+                "platform": "^1.3.3"
+            }
+        },
+        "better-assert": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz",
+            "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=",
+            "dev": true,
+            "requires": {
+                "callsite": "1.0.0"
+            }
+        },
+        "binary-extensions": {
+            "version": "1.12.0",
+            "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.12.0.tgz",
+            "integrity": "sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==",
+            "dev": true
+        },
+        "blob": {
+            "version": "0.0.5",
+            "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz",
+            "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==",
+            "dev": true
+        },
+        "bluebird": {
+            "version": "3.5.3",
+            "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.3.tgz",
+            "integrity": "sha512-/qKPUQlaW1OyR51WeCPBvRnAlnZFUJkCSG5HzGnuIqhgyJtF+T94lFnn33eiazjRm2LAHVy2guNnaq48X9SJuw==",
+            "dev": true
+        },
+        "body": {
+            "version": "5.1.0",
+            "resolved": "https://registry.npmjs.org/body/-/body-5.1.0.tgz",
+            "integrity": "sha1-5LoM5BCkaTYyM2dgnstOZVMSUGk=",
+            "dev": true,
+            "requires": {
+                "continuable-cache": "^0.3.1",
+                "error": "^7.0.0",
+                "raw-body": "~1.1.0",
+                "safe-json-parse": "~1.0.1"
+            }
+        },
+        "body-parser": {
+            "version": "1.18.3",
+            "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz",
+            "integrity": "sha1-WykhmP/dVTs6DyDe0FkrlWlVyLQ=",
+            "dev": true,
+            "requires": {
+                "bytes": "3.0.0",
+                "content-type": "~1.0.4",
+                "debug": "2.6.9",
+                "depd": "~1.1.2",
+                "http-errors": "~1.6.3",
+                "iconv-lite": "0.4.23",
+                "on-finished": "~2.3.0",
+                "qs": "6.5.2",
+                "raw-body": "2.3.3",
+                "type-is": "~1.6.16"
+            },
+            "dependencies": {
+                "bytes": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+                    "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=",
+                    "dev": true
+                },
+                "debug": {
+                    "version": "2.6.9",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                    "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "iconv-lite": {
+                    "version": "0.4.23",
+                    "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz",
+                    "integrity": "sha512-neyTUVFtahjf0mB3dZT77u+8O0QB89jFdnBkd5P1JgYPbPaia3gXXOVL2fq8VyU2gMMD7SaN7QukTB/pmXYvDA==",
+                    "dev": true,
+                    "requires": {
+                        "safer-buffer": ">= 2.1.2 < 3"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                },
+                "raw-body": {
+                    "version": "2.3.3",
+                    "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.3.3.tgz",
+                    "integrity": "sha512-9esiElv1BrZoI3rCDuOuKCBRbuApGGaDPQfjSflGxdy4oyzqghxu6klEkkVIvBje+FF0BX9coEv8KqW6X/7njw==",
+                    "dev": true,
+                    "requires": {
+                        "bytes": "3.0.0",
+                        "http-errors": "1.6.3",
+                        "iconv-lite": "0.4.23",
+                        "unpipe": "1.0.0"
+                    }
+                }
+            }
+        },
+        "brace-expansion": {
+            "version": "1.1.11",
+            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+            "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+            "dev": true,
+            "requires": {
+                "balanced-match": "^1.0.0",
+                "concat-map": "0.0.1"
+            }
+        },
+        "braces": {
+            "version": "2.3.2",
+            "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz",
+            "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==",
+            "dev": true,
+            "requires": {
+                "arr-flatten": "^1.1.0",
+                "array-unique": "^0.3.2",
+                "extend-shallow": "^2.0.1",
+                "fill-range": "^4.0.0",
+                "isobject": "^3.0.1",
+                "repeat-element": "^1.1.2",
+                "snapdragon": "^0.8.1",
+                "snapdragon-node": "^2.0.1",
+                "split-string": "^3.0.2",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "bser": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/bser/-/bser-2.0.0.tgz",
+            "integrity": "sha1-mseNPtXZFYBP2HrLFYvHlxR6Fxk=",
+            "dev": true,
+            "requires": {
+                "node-int64": "^0.4.0"
+            }
+        },
+        "buffer-alloc": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz",
+            "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==",
+            "dev": true,
+            "requires": {
+                "buffer-alloc-unsafe": "^1.1.0",
+                "buffer-fill": "^1.0.0"
+            }
+        },
+        "buffer-alloc-unsafe": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz",
+            "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==",
+            "dev": true
+        },
+        "buffer-fill": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz",
+            "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=",
+            "dev": true
+        },
+        "buffer-from": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
+            "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==",
+            "dev": true
+        },
+        "bytes": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz",
+            "integrity": "sha1-NWnt6Lo0MV+rmcPpLLBMciDeH6g=",
+            "dev": true
+        },
+        "cache-base": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz",
+            "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==",
+            "dev": true,
+            "requires": {
+                "collection-visit": "^1.0.0",
+                "component-emitter": "^1.2.1",
+                "get-value": "^2.0.6",
+                "has-value": "^1.0.0",
+                "isobject": "^3.0.1",
+                "set-value": "^2.0.0",
+                "to-object-path": "^0.3.0",
+                "union-value": "^1.0.0",
+                "unset-value": "^1.0.0"
+            }
+        },
+        "callsite": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz",
+            "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=",
+            "dev": true
+        },
+        "capture-exit": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/capture-exit/-/capture-exit-1.2.0.tgz",
+            "integrity": "sha1-HF/MSJ/QqwDU8ax64QcuMXP7q28=",
+            "dev": true,
+            "requires": {
+                "rsvp": "^3.3.3"
+            }
+        },
+        "caseless": {
+            "version": "0.12.0",
+            "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
+            "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
+            "dev": true
+        },
+        "center-align": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz",
+            "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "align-text": "^0.1.3",
+                "lazy-cache": "^1.0.3"
+            }
+        },
+        "chai": {
+            "version": "1.9.2",
+            "resolved": "http://registry.npmjs.org/chai/-/chai-1.9.2.tgz",
+            "integrity": "sha1-Pxog+CsLnXQ3V30k1vErGmnTtZA=",
+            "dev": true,
+            "requires": {
+                "assertion-error": "1.0.0",
+                "deep-eql": "0.1.3"
+            }
+        },
+        "chalk": {
+            "version": "1.1.3",
+            "resolved": "http://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz",
+            "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=",
+            "dev": true,
+            "requires": {
+                "ansi-styles": "^2.2.1",
+                "escape-string-regexp": "^1.0.2",
+                "has-ansi": "^2.0.0",
+                "strip-ansi": "^3.0.0",
+                "supports-color": "^2.0.0"
+            }
+        },
+        "chokidar": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz",
+            "integrity": "sha512-z9n7yt9rOvIJrMhvDtDictKrkFHeihkNl6uWMmZlmL6tJtX9Cs+87oK+teBx+JIgzvbX3yZHT3eF8vpbDxHJXQ==",
+            "dev": true,
+            "requires": {
+                "anymatch": "^2.0.0",
+                "async-each": "^1.0.0",
+                "braces": "^2.3.0",
+                "fsevents": "^1.2.2",
+                "glob-parent": "^3.1.0",
+                "inherits": "^2.0.1",
+                "is-binary-path": "^1.0.0",
+                "is-glob": "^4.0.0",
+                "lodash.debounce": "^4.0.8",
+                "normalize-path": "^2.1.1",
+                "path-is-absolute": "^1.0.0",
+                "readdirp": "^2.0.0",
+                "upath": "^1.0.5"
+            },
+            "dependencies": {
+                "is-glob": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz",
+                    "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=",
+                    "dev": true,
+                    "requires": {
+                        "is-extglob": "^2.1.1"
+                    }
+                }
+            }
+        },
+        "circular-json": {
+            "version": "0.5.9",
+            "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.5.9.tgz",
+            "integrity": "sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ==",
+            "dev": true
+        },
+        "class-utils": {
+            "version": "0.3.6",
+            "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz",
+            "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==",
+            "dev": true,
+            "requires": {
+                "arr-union": "^3.1.0",
+                "define-property": "^0.2.5",
+                "isobject": "^3.0.0",
+                "static-extend": "^0.1.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "cli": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/cli/-/cli-1.0.1.tgz",
+            "integrity": "sha1-IoF1NPJL+klQw01TLUjsvGIbjBQ=",
+            "dev": true,
+            "requires": {
+                "exit": "0.1.2",
+                "glob": "^7.1.1"
+            },
+            "dependencies": {
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "cli-table": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz",
+            "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=",
+            "dev": true,
+            "requires": {
+                "colors": "1.0.3"
+            },
+            "dependencies": {
+                "colors": {
+                    "version": "1.0.3",
+                    "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz",
+                    "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=",
+                    "dev": true
+                }
+            }
+        },
+        "cliui": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz",
+            "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "center-align": "^0.1.1",
+                "right-align": "^0.1.1",
+                "wordwrap": "0.0.2"
+            },
+            "dependencies": {
+                "wordwrap": {
+                    "version": "0.0.2",
+                    "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz",
+                    "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=",
+                    "dev": true,
+                    "optional": true
+                }
+            }
+        },
+        "co": {
+            "version": "4.6.0",
+            "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+            "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+            "dev": true
+        },
+        "coffee-script": {
+            "version": "1.3.3",
+            "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz",
+            "integrity": "sha1-FQ1rTLUiiUNp7+1qIQHCC8f0pPQ=",
+            "dev": true
+        },
+        "collection-visit": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz",
+            "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=",
+            "dev": true,
+            "requires": {
+                "map-visit": "^1.0.0",
+                "object-visit": "^1.0.0"
+            }
+        },
+        "color-convert": {
+            "version": "1.9.3",
+            "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+            "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+            "dev": true,
+            "requires": {
+                "color-name": "1.1.3"
+            }
+        },
+        "color-name": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+            "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
+            "dev": true
+        },
+        "colors": {
+            "version": "0.6.2",
+            "resolved": "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz",
+            "integrity": "sha1-JCP+ZnisDF2uiFLl0OW+CMmXq8w=",
+            "dev": true
+        },
+        "combine-lists": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/combine-lists/-/combine-lists-1.0.1.tgz",
+            "integrity": "sha1-RYwH4J4NkA/Ci3Cj/sLazR0st/Y=",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.5.0"
+            }
+        },
+        "combined-stream": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.6.tgz",
+            "integrity": "sha1-cj599ugBrFYTETp+RFqbactjKBg=",
+            "dev": true,
+            "requires": {
+                "delayed-stream": "~1.0.0"
+            }
+        },
+        "commander": {
+            "version": "2.17.1",
+            "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz",
+            "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==",
+            "dev": true
+        },
+        "comment-parser": {
+            "version": "0.3.2",
+            "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-0.3.2.tgz",
+            "integrity": "sha1-PAPwd2uGo239mgosl8YwfzMggv4=",
+            "dev": true,
+            "requires": {
+                "readable-stream": "^2.0.4"
+            },
+            "dependencies": {
+                "isarray": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "2.3.6",
+                    "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+                    "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+                    "dev": true,
+                    "requires": {
+                        "core-util-is": "~1.0.0",
+                        "inherits": "~2.0.3",
+                        "isarray": "~1.0.0",
+                        "process-nextick-args": "~2.0.0",
+                        "safe-buffer": "~5.1.1",
+                        "string_decoder": "~1.1.1",
+                        "util-deprecate": "~1.0.1"
+                    }
+                },
+                "string_decoder": {
+                    "version": "1.1.1",
+                    "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+                    "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+                    "dev": true,
+                    "requires": {
+                        "safe-buffer": "~5.1.0"
+                    }
+                }
+            }
+        },
+        "component-bind": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz",
+            "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=",
+            "dev": true
+        },
+        "component-emitter": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz",
+            "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=",
+            "dev": true
+        },
+        "component-inherit": {
+            "version": "0.0.3",
+            "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz",
+            "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=",
+            "dev": true
+        },
+        "concat-map": {
+            "version": "0.0.1",
+            "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+            "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+            "dev": true
+        },
+        "concat-stream": {
+            "version": "1.6.2",
+            "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+            "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+            "dev": true,
+            "requires": {
+                "buffer-from": "^1.0.0",
+                "inherits": "^2.0.3",
+                "readable-stream": "^2.2.2",
+                "typedarray": "^0.0.6"
+            },
+            "dependencies": {
+                "isarray": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "2.3.6",
+                    "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+                    "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+                    "dev": true,
+                    "requires": {
+                        "core-util-is": "~1.0.0",
+                        "inherits": "~2.0.3",
+                        "isarray": "~1.0.0",
+                        "process-nextick-args": "~2.0.0",
+                        "safe-buffer": "~5.1.1",
+                        "string_decoder": "~1.1.1",
+                        "util-deprecate": "~1.0.1"
+                    }
+                },
+                "string_decoder": {
+                    "version": "1.1.1",
+                    "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+                    "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+                    "dev": true,
+                    "requires": {
+                        "safe-buffer": "~5.1.0"
+                    }
+                }
+            }
+        },
+        "connect": {
+            "version": "3.6.6",
+            "resolved": "https://registry.npmjs.org/connect/-/connect-3.6.6.tgz",
+            "integrity": "sha1-Ce/2xVr3I24TcTWnJXSFi2eG9SQ=",
+            "dev": true,
+            "requires": {
+                "debug": "2.6.9",
+                "finalhandler": "1.1.0",
+                "parseurl": "~1.3.2",
+                "utils-merge": "1.0.1"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "2.6.9",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                    "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "console-browserify": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz",
+            "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=",
+            "dev": true,
+            "requires": {
+                "date-now": "^0.1.4"
+            }
+        },
+        "content-type": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
+            "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
+            "dev": true
+        },
+        "continuable-cache": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npmjs.org/continuable-cache/-/continuable-cache-0.3.1.tgz",
+            "integrity": "sha1-vXJ6f67XfnH/OYWskzUakSczrQ8=",
+            "dev": true
+        },
+        "cookie": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz",
+            "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=",
+            "dev": true
+        },
+        "copy-descriptor": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
+            "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
+            "dev": true
+        },
+        "core-js": {
+            "version": "2.6.0",
+            "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.0.tgz",
+            "integrity": "sha512-kLRC6ncVpuEW/1kwrOXYX6KQASCVtrh1gQr/UiaVgFlf9WE5Vp+lNe5+h3LuMr5PAucWnnEXwH0nQHRH/gpGtw==",
+            "dev": true
+        },
+        "core-util-is": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
+            "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=",
+            "dev": true
+        },
+        "coveralls": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.2.tgz",
+            "integrity": "sha512-Tv0LKe/MkBOilH2v7WBiTBdudg2ChfGbdXafc/s330djpF3zKOmuehTeRwjXWc7pzfj9FrDUTA7tEx6Div8NFw==",
+            "dev": true,
+            "requires": {
+                "growl": "~> 1.10.0",
+                "js-yaml": "^3.11.0",
+                "lcov-parse": "^0.0.10",
+                "log-driver": "^1.2.7",
+                "minimist": "^1.2.0",
+                "request": "^2.85.0"
+            },
+            "dependencies": {
+                "esprima": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+                    "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+                    "dev": true
+                },
+                "js-yaml": {
+                    "version": "3.12.0",
+                    "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz",
+                    "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==",
+                    "dev": true,
+                    "requires": {
+                        "argparse": "^1.0.7",
+                        "esprima": "^4.0.0"
+                    }
+                }
+            }
+        },
+        "cross-spawn": {
+            "version": "6.0.5",
+            "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
+            "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+            "dev": true,
+            "requires": {
+                "nice-try": "^1.0.4",
+                "path-key": "^2.0.1",
+                "semver": "^5.5.0",
+                "shebang-command": "^1.2.0",
+                "which": "^1.2.9"
+            },
+            "dependencies": {
+                "which": {
+                    "version": "1.3.1",
+                    "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+                    "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "cst": {
+            "version": "0.4.10",
+            "resolved": "https://registry.npmjs.org/cst/-/cst-0.4.10.tgz",
+            "integrity": "sha512-U5ETe1IOjq2h56ZcBE3oe9rT7XryCH6IKgPMv0L7sSk6w29yR3p5egCK0T3BDNHHV95OoUBgXsqiVG+3a900Ag==",
+            "dev": true,
+            "requires": {
+                "babel-runtime": "^6.9.2",
+                "babylon": "^6.8.1",
+                "source-map-support": "^0.4.0"
+            }
+        },
+        "custom-event": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz",
+            "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
+            "dev": true
+        },
+        "cycle": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz",
+            "integrity": "sha1-IegLK+hYD5i0aPN5QwZisEbDStI=",
+            "dev": true
+        },
+        "dashdash": {
+            "version": "1.14.1",
+            "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
+            "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0"
+            },
+            "dependencies": {
+                "assert-plus": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+                    "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+                    "dev": true
+                }
+            }
+        },
+        "date-format": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/date-format/-/date-format-1.2.0.tgz",
+            "integrity": "sha1-YV6CjiM90aubua4JUODOzPpuytg=",
+            "dev": true
+        },
+        "date-now": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz",
+            "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=",
+            "dev": true
+        },
+        "dateformat": {
+            "version": "1.0.2-1.2.3",
+            "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz",
+            "integrity": "sha1-sCIMAt6YYXQztyhRz0fePfLNvuk=",
+            "dev": true
+        },
+        "debug": {
+            "version": "3.2.6",
+            "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
+            "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==",
+            "dev": true,
+            "requires": {
+                "ms": "^2.1.1"
+            }
+        },
+        "decamelize": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz",
+            "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=",
+            "dev": true,
+            "optional": true
+        },
+        "decode-uri-component": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz",
+            "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=",
+            "dev": true
+        },
+        "deep-eql": {
+            "version": "0.1.3",
+            "resolved": "http://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz",
+            "integrity": "sha1-71WKyrjeJSBs1xOQbXTlaTDrafI=",
+            "dev": true,
+            "requires": {
+                "type-detect": "0.1.1"
+            }
+        },
+        "deep-equal": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
+            "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
+            "dev": true
+        },
+        "deep-extend": {
+            "version": "0.2.11",
+            "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz",
+            "integrity": "sha1-eha6aXKRMjQFBhcElLyD9wdv4I8=",
+            "dev": true
+        },
+        "deep-is": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+            "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+            "dev": true,
+            "optional": true
+        },
+        "define-property": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz",
+            "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==",
+            "dev": true,
+            "requires": {
+                "is-descriptor": "^1.0.2",
+                "isobject": "^3.0.1"
+            },
+            "dependencies": {
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "delayed-stream": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+            "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
+            "dev": true
+        },
+        "depd": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
+            "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
+            "dev": true
+        },
+        "detect-file": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
+            "integrity": "sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc=",
+            "dev": true
+        },
+        "di": {
+            "version": "0.0.1",
+            "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz",
+            "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=",
+            "dev": true
+        },
+        "dom-serialize": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
+            "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=",
+            "dev": true,
+            "requires": {
+                "custom-event": "~1.0.0",
+                "ent": "~2.2.0",
+                "extend": "^3.0.0",
+                "void-elements": "^2.0.0"
+            }
+        },
+        "dom-serializer": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz",
+            "integrity": "sha1-BzxpdUbOB4DOI75KKOKT5AvDDII=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "~1.1.1",
+                "entities": "~1.1.1"
+            },
+            "dependencies": {
+                "domelementtype": {
+                    "version": "1.1.3",
+                    "resolved": "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz",
+                    "integrity": "sha1-vSh3PiZCiBrsUVRJJCmcXNgiGFs=",
+                    "dev": true
+                },
+                "entities": {
+                    "version": "1.1.2",
+                    "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
+                    "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==",
+                    "dev": true
+                }
+            }
+        },
+        "domelementtype": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz",
+            "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==",
+            "dev": true
+        },
+        "domhandler": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz",
+            "integrity": "sha1-LeWaCCLVAn+r/28DLCsloqir5zg=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "1"
+            }
+        },
+        "domutils": {
+            "version": "1.5.1",
+            "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz",
+            "integrity": "sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8=",
+            "dev": true,
+            "requires": {
+                "dom-serializer": "0",
+                "domelementtype": "1"
+            }
+        },
+        "duplexer": {
+            "version": "0.1.1",
+            "resolved": "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz",
+            "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=",
+            "dev": true
+        },
+        "ecc-jsbn": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
+            "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "jsbn": "~0.1.0"
+            }
+        },
+        "ee-first": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
+            "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
+            "dev": true
+        },
+        "encodeurl": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+            "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
+            "dev": true
+        },
+        "end-of-stream": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz",
+            "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==",
+            "dev": true,
+            "requires": {
+                "once": "^1.4.0"
+            }
+        },
+        "engine.io": {
+            "version": "3.2.1",
+            "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz",
+            "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==",
+            "dev": true,
+            "requires": {
+                "accepts": "~1.3.4",
+                "base64id": "1.0.0",
+                "cookie": "0.3.1",
+                "debug": "~3.1.0",
+                "engine.io-parser": "~2.1.0",
+                "ws": "~3.3.1"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "engine.io-client": {
+            "version": "3.2.1",
+            "resolved": "http://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz",
+            "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==",
+            "dev": true,
+            "requires": {
+                "component-emitter": "1.2.1",
+                "component-inherit": "0.0.3",
+                "debug": "~3.1.0",
+                "engine.io-parser": "~2.1.1",
+                "has-cors": "1.1.0",
+                "indexof": "0.0.1",
+                "parseqs": "0.0.5",
+                "parseuri": "0.0.5",
+                "ws": "~3.3.1",
+                "xmlhttprequest-ssl": "~1.5.4",
+                "yeast": "0.1.2"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "engine.io-parser": {
+            "version": "2.1.3",
+            "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz",
+            "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==",
+            "dev": true,
+            "requires": {
+                "after": "0.8.2",
+                "arraybuffer.slice": "~0.0.7",
+                "base64-arraybuffer": "0.1.5",
+                "blob": "0.0.5",
+                "has-binary2": "~1.0.2"
+            }
+        },
+        "ensure-posix-path": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/ensure-posix-path/-/ensure-posix-path-1.0.2.tgz",
+            "integrity": "sha1-pls+QtC3HPxYXrd0+ZQ8jZuRsMI=",
+            "dev": true
+        },
+        "ent": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
+            "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=",
+            "dev": true
+        },
+        "entities": {
+            "version": "1.0.0",
+            "resolved": "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz",
+            "integrity": "sha1-sph6o4ITR/zeZCsk/fyeT7cSvyY=",
+            "dev": true
+        },
+        "error": {
+            "version": "7.0.2",
+            "resolved": "https://registry.npmjs.org/error/-/error-7.0.2.tgz",
+            "integrity": "sha1-pfdf/02ZJhJt2sDqXcOOaJFTywI=",
+            "dev": true,
+            "requires": {
+                "string-template": "~0.2.1",
+                "xtend": "~4.0.0"
+            }
+        },
+        "es6-promise": {
+            "version": "4.2.5",
+            "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz",
+            "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==",
+            "dev": true
+        },
+        "es6-promisify": {
+            "version": "5.0.0",
+            "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz",
+            "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=",
+            "dev": true,
+            "requires": {
+                "es6-promise": "^4.0.3"
+            }
+        },
+        "escape-html": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+            "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
+            "dev": true
+        },
+        "escape-string-regexp": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+            "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
+            "dev": true
+        },
+        "esprima": {
+            "version": "2.7.3",
+            "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz",
+            "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
+            "dev": true
+        },
+        "estraverse": {
+            "version": "4.2.0",
+            "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz",
+            "integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
+            "dev": true
+        },
+        "esutils": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz",
+            "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
+            "dev": true,
+            "optional": true
+        },
+        "eventemitter2": {
+            "version": "0.4.14",
+            "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz",
+            "integrity": "sha1-j2G3XN4BKy6esoTUVFWDtWQ7Yas=",
+            "dev": true
+        },
+        "eventemitter3": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz",
+            "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==",
+            "dev": true
+        },
+        "exec-sh": {
+            "version": "0.3.2",
+            "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.3.2.tgz",
+            "integrity": "sha512-9sLAvzhI5nc8TpuQUh4ahMdCrWT00wPWz7j47/emR5+2qEfoZP5zzUXvx+vdx+H6ohhnsYC31iX04QLYJK8zTg==",
+            "dev": true
+        },
+        "execa": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
+            "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+            "dev": true,
+            "requires": {
+                "cross-spawn": "^6.0.0",
+                "get-stream": "^4.0.0",
+                "is-stream": "^1.1.0",
+                "npm-run-path": "^2.0.0",
+                "p-finally": "^1.0.0",
+                "signal-exit": "^3.0.0",
+                "strip-eof": "^1.0.0"
+            }
+        },
+        "exists-stat": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/exists-stat/-/exists-stat-1.0.0.tgz",
+            "integrity": "sha1-BmDjUlouidnkRhKUQMJy7foktSk=",
+            "dev": true
+        },
+        "exit": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+            "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
+            "dev": true
+        },
+        "expand-braces": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz",
+            "integrity": "sha1-SIsdHSRRyz06axks/AMPRMWFX+o=",
+            "dev": true,
+            "requires": {
+                "array-slice": "^0.2.3",
+                "array-unique": "^0.2.1",
+                "braces": "^0.1.2"
+            },
+            "dependencies": {
+                "array-slice": {
+                    "version": "0.2.3",
+                    "resolved": "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz",
+                    "integrity": "sha1-3Tz7gO15c6dRF82sabC5nshhhvU=",
+                    "dev": true
+                },
+                "array-unique": {
+                    "version": "0.2.1",
+                    "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz",
+                    "integrity": "sha1-odl8yvy8JiXMcPrc6zalDFiwGlM=",
+                    "dev": true
+                },
+                "braces": {
+                    "version": "0.1.5",
+                    "resolved": "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz",
+                    "integrity": "sha1-wIVxEIUpHYt1/ddOqw+FlygHEeY=",
+                    "dev": true,
+                    "requires": {
+                        "expand-range": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "expand-brackets": {
+            "version": "2.1.4",
+            "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz",
+            "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=",
+            "dev": true,
+            "requires": {
+                "debug": "^2.3.3",
+                "define-property": "^0.2.5",
+                "extend-shallow": "^2.0.1",
+                "posix-character-classes": "^0.1.0",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "2.6.9",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                    "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "expand-range": {
+            "version": "0.1.1",
+            "resolved": "http://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
+            "integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
+            "dev": true,
+            "requires": {
+                "is-number": "^0.1.1",
+                "repeat-string": "^0.2.2"
+            },
+            "dependencies": {
+                "is-number": {
+                    "version": "0.1.1",
+                    "resolved": "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz",
+                    "integrity": "sha1-aaevEWlj1HIG7JvZtIoUIW8eOAY=",
+                    "dev": true
+                },
+                "repeat-string": {
+                    "version": "0.2.2",
+                    "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz",
+                    "integrity": "sha1-x6jTI2BoNiBZp+RlH8aITosftK4=",
+                    "dev": true
+                }
+            }
+        },
+        "expand-tilde": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/expand-tilde/-/expand-tilde-2.0.2.tgz",
+            "integrity": "sha1-l+gBqgUt8CRU3kawK/YhZCzchQI=",
+            "dev": true,
+            "requires": {
+                "homedir-polyfill": "^1.0.1"
+            }
+        },
+        "extend": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+            "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+            "dev": true
+        },
+        "extend-shallow": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz",
+            "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=",
+            "dev": true,
+            "requires": {
+                "assign-symbols": "^1.0.0",
+                "is-extendable": "^1.0.1"
+            },
+            "dependencies": {
+                "is-extendable": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+                    "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+                    "dev": true,
+                    "requires": {
+                        "is-plain-object": "^2.0.4"
+                    }
+                }
+            }
+        },
+        "extglob": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz",
+            "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==",
+            "dev": true,
+            "requires": {
+                "array-unique": "^0.3.2",
+                "define-property": "^1.0.0",
+                "expand-brackets": "^2.1.4",
+                "extend-shallow": "^2.0.1",
+                "fragment-cache": "^0.2.1",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+                    "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.0"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "extract-zip": {
+            "version": "1.6.7",
+            "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.6.7.tgz",
+            "integrity": "sha1-qEC0uK9kAyZMjbV/Txp0Mz74H+k=",
+            "dev": true,
+            "requires": {
+                "concat-stream": "1.6.2",
+                "debug": "2.6.9",
+                "mkdirp": "0.5.1",
+                "yauzl": "2.4.1"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "2.6.9",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                    "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "extsprintf": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz",
+            "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=",
+            "dev": true
+        },
+        "eyes": {
+            "version": "0.1.8",
+            "resolved": "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz",
+            "integrity": "sha1-Ys8SAjTGg3hdkCNIqADvPgzCC8A=",
+            "dev": true
+        },
+        "fast-deep-equal": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz",
+            "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=",
+            "dev": true
+        },
+        "fast-json-stable-stringify": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
+            "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
+            "dev": true
+        },
+        "fast-levenshtein": {
+            "version": "2.0.6",
+            "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+            "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+            "dev": true,
+            "optional": true
+        },
+        "faye-websocket": {
+            "version": "0.10.0",
+            "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz",
+            "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=",
+            "dev": true,
+            "requires": {
+                "websocket-driver": ">=0.5.1"
+            }
+        },
+        "fb-watchman": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.0.tgz",
+            "integrity": "sha1-VOmr99+i8mzZsWNsWIwa/AXeXVg=",
+            "dev": true,
+            "requires": {
+                "bser": "^2.0.0"
+            }
+        },
+        "fd-slicer": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz",
+            "integrity": "sha1-i1vL2ewyfFBBv5qwI/1nUPEXfmU=",
+            "dev": true,
+            "requires": {
+                "pend": "~1.2.0"
+            }
+        },
+        "figures": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz",
+            "integrity": "sha1-y+Hjr/zxzUS4DK3+0o3Hk6lwHS4=",
+            "dev": true,
+            "requires": {
+                "escape-string-regexp": "^1.0.5",
+                "object-assign": "^4.1.0"
+            }
+        },
+        "file-sync-cmp": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/file-sync-cmp/-/file-sync-cmp-0.1.1.tgz",
+            "integrity": "sha1-peeo/7+kk7Q7kju9TKiaU7Y7YSs=",
+            "dev": true
+        },
+        "fill-range": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz",
+            "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^2.0.1",
+                "is-number": "^3.0.0",
+                "repeat-string": "^1.6.1",
+                "to-regex-range": "^2.1.0"
+            },
+            "dependencies": {
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "finalhandler": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz",
+            "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=",
+            "dev": true,
+            "requires": {
+                "debug": "2.6.9",
+                "encodeurl": "~1.0.1",
+                "escape-html": "~1.0.3",
+                "on-finished": "~2.3.0",
+                "parseurl": "~1.3.2",
+                "statuses": "~1.3.1",
+                "unpipe": "~1.0.0"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "2.6.9",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                    "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                },
+                "statuses": {
+                    "version": "1.3.1",
+                    "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz",
+                    "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=",
+                    "dev": true
+                }
+            }
+        },
+        "find-up": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz",
+            "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=",
+            "dev": true,
+            "requires": {
+                "path-exists": "^2.0.0",
+                "pinkie-promise": "^2.0.0"
+            }
+        },
+        "findup-sync": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz",
+            "integrity": "sha1-fz56l7gjksZTvwZYm9hRkOk8NoM=",
+            "dev": true,
+            "requires": {
+                "glob": "~3.2.9",
+                "lodash": "~2.4.1"
+            },
+            "dependencies": {
+                "glob": {
+                    "version": "3.2.11",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz",
+                    "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=",
+                    "dev": true,
+                    "requires": {
+                        "inherits": "2",
+                        "minimatch": "0.3"
+                    }
+                },
+                "lodash": {
+                    "version": "2.4.2",
+                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+                    "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+                    "dev": true
+                },
+                "minimatch": {
+                    "version": "0.3.0",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz",
+                    "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=",
+                    "dev": true,
+                    "requires": {
+                        "lru-cache": "2",
+                        "sigmund": "~1.0.0"
+                    }
+                }
+            }
+        },
+        "fined": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/fined/-/fined-1.1.1.tgz",
+            "integrity": "sha512-jQp949ZmEbiYHk3gkbdtpJ0G1+kgtLQBNdP5edFP7Fh+WAYceLQz6yO1SBj72Xkg8GVyTB3bBzAYrHJVh5Xd5g==",
+            "dev": true,
+            "requires": {
+                "expand-tilde": "^2.0.2",
+                "is-plain-object": "^2.0.3",
+                "object.defaults": "^1.1.0",
+                "object.pick": "^1.2.0",
+                "parse-filepath": "^1.0.1"
+            }
+        },
+        "flagged-respawn": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-1.0.1.tgz",
+            "integrity": "sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==",
+            "dev": true
+        },
+        "flatted": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.0.tgz",
+            "integrity": "sha512-R+H8IZclI8AAkSBRQJLVOsxwAoHd6WC40b4QTNWIjzAa6BXOBfQcM587MXDTVPeYaopFNWHUFLx7eNmHDSxMWg==",
+            "dev": true
+        },
+        "follow-redirects": {
+            "version": "1.5.10",
+            "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
+            "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==",
+            "dev": true,
+            "requires": {
+                "debug": "=3.1.0"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "for-in": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+            "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=",
+            "dev": true
+        },
+        "for-own": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/for-own/-/for-own-1.0.0.tgz",
+            "integrity": "sha1-xjMy9BXO3EsE2/5wz4NklMU8tEs=",
+            "dev": true,
+            "requires": {
+                "for-in": "^1.0.1"
+            }
+        },
+        "forever-agent": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
+            "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
+            "dev": true
+        },
+        "form-data": {
+            "version": "2.3.3",
+            "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz",
+            "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==",
+            "dev": true,
+            "requires": {
+                "asynckit": "^0.4.0",
+                "combined-stream": "^1.0.6",
+                "mime-types": "^2.1.12"
+            }
+        },
+        "fragment-cache": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz",
+            "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=",
+            "dev": true,
+            "requires": {
+                "map-cache": "^0.2.2"
+            }
+        },
+        "fs-access": {
+            "version": "1.0.1",
+            "resolved": "http://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz",
+            "integrity": "sha1-1qh/JiJxzv6+wwxVNAf7mV2od3o=",
+            "dev": true,
+            "requires": {
+                "null-check": "^1.0.0"
+            }
+        },
+        "fs-extra": {
+            "version": "1.0.0",
+            "resolved": "http://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz",
+            "integrity": "sha1-zTzl9+fLYUWIP8rjGR6Yd/hYeVA=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.2",
+                "jsonfile": "^2.1.0",
+                "klaw": "^1.0.0"
+            },
+            "dependencies": {
+                "graceful-fs": {
+                    "version": "4.1.15",
+                    "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+                    "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+                    "dev": true
+                }
+            }
+        },
+        "fs.realpath": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+            "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+            "dev": true
+        },
+        "fsevents": {
+            "version": "1.2.4",
+            "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz",
+            "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "nan": "^2.9.2",
+                "node-pre-gyp": "^0.10.0"
+            },
+            "dependencies": {
+                "abbrev": {
+                    "version": "1.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "ansi-regex": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "aproba": {
+                    "version": "1.2.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "are-we-there-yet": {
+                    "version": "1.1.4",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "delegates": "^1.0.0",
+                        "readable-stream": "^2.0.6"
+                    }
+                },
+                "balanced-match": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "brace-expansion": {
+                    "version": "1.1.11",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "balanced-match": "^1.0.0",
+                        "concat-map": "0.0.1"
+                    }
+                },
+                "chownr": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "code-point-at": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "concat-map": {
+                    "version": "0.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "console-control-strings": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "core-util-is": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "debug": {
+                    "version": "2.6.9",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "deep-extend": {
+                    "version": "0.5.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "delegates": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "detect-libc": {
+                    "version": "1.0.3",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "fs-minipass": {
+                    "version": "1.2.5",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "minipass": "^2.2.1"
+                    }
+                },
+                "fs.realpath": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "gauge": {
+                    "version": "2.7.4",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "aproba": "^1.0.3",
+                        "console-control-strings": "^1.0.0",
+                        "has-unicode": "^2.0.0",
+                        "object-assign": "^4.1.0",
+                        "signal-exit": "^3.0.0",
+                        "string-width": "^1.0.1",
+                        "strip-ansi": "^3.0.1",
+                        "wide-align": "^1.1.0"
+                    }
+                },
+                "glob": {
+                    "version": "7.1.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "has-unicode": {
+                    "version": "2.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "iconv-lite": {
+                    "version": "0.4.21",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "safer-buffer": "^2.1.0"
+                    }
+                },
+                "ignore-walk": {
+                    "version": "3.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "minimatch": "^3.0.4"
+                    }
+                },
+                "inflight": {
+                    "version": "1.0.6",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "once": "^1.3.0",
+                        "wrappy": "1"
+                    }
+                },
+                "inherits": {
+                    "version": "2.0.3",
+                    "bundled": true,
+                    "dev": true
+                },
+                "ini": {
+                    "version": "1.3.5",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "is-fullwidth-code-point": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "isarray": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "minimist": {
+                    "version": "0.0.8",
+                    "bundled": true,
+                    "dev": true
+                },
+                "minipass": {
+                    "version": "2.2.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "safe-buffer": "^5.1.1",
+                        "yallist": "^3.0.0"
+                    }
+                },
+                "minizlib": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "minipass": "^2.2.1"
+                    }
+                },
+                "mkdirp": {
+                    "version": "0.5.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "minimist": "0.0.8"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "needle": {
+                    "version": "2.2.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "debug": "^2.1.2",
+                        "iconv-lite": "^0.4.4",
+                        "sax": "^1.2.4"
+                    }
+                },
+                "node-pre-gyp": {
+                    "version": "0.10.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "detect-libc": "^1.0.2",
+                        "mkdirp": "^0.5.1",
+                        "needle": "^2.2.0",
+                        "nopt": "^4.0.1",
+                        "npm-packlist": "^1.1.6",
+                        "npmlog": "^4.0.2",
+                        "rc": "^1.1.7",
+                        "rimraf": "^2.6.1",
+                        "semver": "^5.3.0",
+                        "tar": "^4"
+                    }
+                },
+                "nopt": {
+                    "version": "4.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "abbrev": "1",
+                        "osenv": "^0.1.4"
+                    }
+                },
+                "npm-bundled": {
+                    "version": "1.0.3",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "npm-packlist": {
+                    "version": "1.1.10",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "ignore-walk": "^3.0.1",
+                        "npm-bundled": "^1.0.1"
+                    }
+                },
+                "npmlog": {
+                    "version": "4.1.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "are-we-there-yet": "~1.1.2",
+                        "console-control-strings": "~1.1.0",
+                        "gauge": "~2.7.3",
+                        "set-blocking": "~2.0.0"
+                    }
+                },
+                "number-is-nan": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "object-assign": {
+                    "version": "4.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "once": {
+                    "version": "1.4.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "wrappy": "1"
+                    }
+                },
+                "os-homedir": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "os-tmpdir": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "osenv": {
+                    "version": "0.1.5",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "os-homedir": "^1.0.0",
+                        "os-tmpdir": "^1.0.0"
+                    }
+                },
+                "path-is-absolute": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "process-nextick-args": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "rc": {
+                    "version": "1.2.7",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "deep-extend": "^0.5.1",
+                        "ini": "~1.3.0",
+                        "minimist": "^1.2.0",
+                        "strip-json-comments": "~2.0.1"
+                    },
+                    "dependencies": {
+                        "minimist": {
+                            "version": "1.2.0",
+                            "bundled": true,
+                            "dev": true,
+                            "optional": true
+                        }
+                    }
+                },
+                "readable-stream": {
+                    "version": "2.3.6",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "core-util-is": "~1.0.0",
+                        "inherits": "~2.0.3",
+                        "isarray": "~1.0.0",
+                        "process-nextick-args": "~2.0.0",
+                        "safe-buffer": "~5.1.1",
+                        "string_decoder": "~1.1.1",
+                        "util-deprecate": "~1.0.1"
+                    }
+                },
+                "rimraf": {
+                    "version": "2.6.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "glob": "^7.0.5"
+                    }
+                },
+                "safe-buffer": {
+                    "version": "5.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "safer-buffer": {
+                    "version": "2.1.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "sax": {
+                    "version": "1.2.4",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "semver": {
+                    "version": "5.5.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "set-blocking": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "signal-exit": {
+                    "version": "3.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "string-width": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "code-point-at": "^1.0.0",
+                        "is-fullwidth-code-point": "^1.0.0",
+                        "strip-ansi": "^3.0.0"
+                    }
+                },
+                "string_decoder": {
+                    "version": "1.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "safe-buffer": "~5.1.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "3.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
+                },
+                "strip-json-comments": {
+                    "version": "2.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "tar": {
+                    "version": "4.4.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "chownr": "^1.0.1",
+                        "fs-minipass": "^1.2.5",
+                        "minipass": "^2.2.4",
+                        "minizlib": "^1.1.0",
+                        "mkdirp": "^0.5.0",
+                        "safe-buffer": "^5.1.1",
+                        "yallist": "^3.0.2"
+                    }
+                },
+                "util-deprecate": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "wide-align": {
+                    "version": "1.1.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "string-width": "^1.0.2"
+                    }
+                },
+                "wrappy": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "yallist": {
+                    "version": "3.0.2",
+                    "bundled": true,
+                    "dev": true
+                }
+            }
+        },
+        "gaze": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npmjs.org/gaze/-/gaze-1.1.3.tgz",
+            "integrity": "sha512-BRdNm8hbWzFzWHERTrejLqwHDfS4GibPoq5wjTPIoJHoBtKGPg3xAFfxmM+9ztbXelxcf2hwQcaz1PtmFeue8g==",
+            "dev": true,
+            "requires": {
+                "globule": "^1.0.0"
+            }
+        },
+        "get-stream": {
+            "version": "4.1.0",
+            "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
+            "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+            "dev": true,
+            "requires": {
+                "pump": "^3.0.0"
+            }
+        },
+        "get-value": {
+            "version": "2.0.6",
+            "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz",
+            "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=",
+            "dev": true
+        },
+        "getobject": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz",
+            "integrity": "sha1-BHpEl4n6Fg0Bj1SG7ZEyC27HiFw=",
+            "dev": true
+        },
+        "getpass": {
+            "version": "0.1.7",
+            "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
+            "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0"
+            },
+            "dependencies": {
+                "assert-plus": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+                    "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+                    "dev": true
+                }
+            }
+        },
+        "glob": {
+            "version": "3.1.21",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz",
+            "integrity": "sha1-0p4KBV3qUTj00H7UDomC6DwgZs0=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "~1.2.0",
+                "inherits": "1",
+                "minimatch": "~0.2.11"
+            },
+            "dependencies": {
+                "inherits": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz",
+                    "integrity": "sha1-ykMJ2t7mtUzAuNJH6NfHoJdb3Js=",
+                    "dev": true
+                }
+            }
+        },
+        "glob-parent": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz",
+            "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=",
+            "dev": true,
+            "requires": {
+                "is-glob": "^3.1.0",
+                "path-dirname": "^1.0.0"
+            }
+        },
+        "global-modules": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-1.0.0.tgz",
+            "integrity": "sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==",
+            "dev": true,
+            "requires": {
+                "global-prefix": "^1.0.1",
+                "is-windows": "^1.0.1",
+                "resolve-dir": "^1.0.0"
+            }
+        },
+        "global-prefix": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-1.0.2.tgz",
+            "integrity": "sha1-2/dDxsFJklk8ZVVoy2btMsASLr4=",
+            "dev": true,
+            "requires": {
+                "expand-tilde": "^2.0.2",
+                "homedir-polyfill": "^1.0.1",
+                "ini": "^1.3.4",
+                "is-windows": "^1.0.1",
+                "which": "^1.2.14"
+            },
+            "dependencies": {
+                "which": {
+                    "version": "1.3.1",
+                    "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+                    "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "globule": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/globule/-/globule-1.2.1.tgz",
+            "integrity": "sha512-g7QtgWF4uYSL5/dn71WxubOrS7JVGCnFPEnoeChJmBnyR9Mw8nGoEwOgJL/RC2Te0WhbsEUCejfH8SZNJ+adYQ==",
+            "dev": true,
+            "requires": {
+                "glob": "~7.1.1",
+                "lodash": "~4.17.10",
+                "minimatch": "~3.0.2"
+            },
+            "dependencies": {
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "graceful-fs": {
+            "version": "1.2.3",
+            "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz",
+            "integrity": "sha1-FaSAaldUfLLS2/J/QuiajDRRs2Q=",
+            "dev": true
+        },
+        "graceful-readlink": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz",
+            "integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
+            "dev": true
+        },
+        "growl": {
+            "version": "1.10.5",
+            "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz",
+            "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==",
+            "dev": true
+        },
+        "grunt": {
+            "version": "0.4.5",
+            "resolved": "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz",
+            "integrity": "sha1-VpN81RlDJK3/bSB2MYMqnWuk5/A=",
+            "dev": true,
+            "requires": {
+                "async": "~0.1.22",
+                "coffee-script": "~1.3.3",
+                "colors": "~0.6.2",
+                "dateformat": "1.0.2-1.2.3",
+                "eventemitter2": "~0.4.13",
+                "exit": "~0.1.1",
+                "findup-sync": "~0.1.2",
+                "getobject": "~0.1.0",
+                "glob": "~3.1.21",
+                "grunt-legacy-log": "~0.1.0",
+                "grunt-legacy-util": "~0.2.0",
+                "hooker": "~0.2.3",
+                "iconv-lite": "~0.2.11",
+                "js-yaml": "~2.0.5",
+                "lodash": "~0.9.2",
+                "minimatch": "~0.2.12",
+                "nopt": "~1.0.10",
+                "rimraf": "~2.2.8",
+                "underscore.string": "~2.2.1",
+                "which": "~1.0.5"
+            },
+            "dependencies": {
+                "argparse": {
+                    "version": "0.1.16",
+                    "resolved": "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz",
+                    "integrity": "sha1-z9AeD7uj1srtBJ+9dY1A9lGW9Xw=",
+                    "dev": true,
+                    "requires": {
+                        "underscore": "~1.7.0",
+                        "underscore.string": "~2.4.0"
+                    },
+                    "dependencies": {
+                        "underscore.string": {
+                            "version": "2.4.0",
+                            "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz",
+                            "integrity": "sha1-jN2PusTi0uoefi6Al8QvRCKA+Fs=",
+                            "dev": true
+                        }
+                    }
+                },
+                "esprima": {
+                    "version": "1.0.4",
+                    "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz",
+                    "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=",
+                    "dev": true
+                },
+                "js-yaml": {
+                    "version": "2.0.5",
+                    "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz",
+                    "integrity": "sha1-olrmUJmZ6X3yeMZxnaEb0Gh3Q6g=",
+                    "dev": true,
+                    "requires": {
+                        "argparse": "~ 0.1.11",
+                        "esprima": "~ 1.0.2"
+                    }
+                },
+                "lodash": {
+                    "version": "0.9.2",
+                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
+                    "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-benchmark": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/grunt-benchmark/-/grunt-benchmark-1.0.0.tgz",
+            "integrity": "sha1-yXVmohi/a7TQA4D4dodA60Vl4us=",
+            "dev": true,
+            "requires": {
+                "benchmark": "~1.0.0",
+                "cli-table": "^0.3.1"
+            },
+            "dependencies": {
+                "benchmark": {
+                    "version": "1.0.0",
+                    "resolved": "http://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz",
+                    "integrity": "sha1-Lx4vpMNZ8REiqhgwgiGOlX45DHM=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-cli": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.3.2.tgz",
+            "integrity": "sha512-8OHDiZZkcptxVXtMfDxJvmN7MVJNE8L/yIcPb4HB7TlyFD1kDvjHrb62uhySsU14wJx9ORMnTuhRMQ40lH/orQ==",
+            "dev": true,
+            "requires": {
+                "grunt-known-options": "~1.1.0",
+                "interpret": "~1.1.0",
+                "liftoff": "~2.5.0",
+                "nopt": "~4.0.1",
+                "v8flags": "~3.1.1"
+            },
+            "dependencies": {
+                "nopt": {
+                    "version": "4.0.1",
+                    "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.1.tgz",
+                    "integrity": "sha1-0NRoWv1UFRk8jHUFYC0NF81kR00=",
+                    "dev": true,
+                    "requires": {
+                        "abbrev": "1",
+                        "osenv": "^0.1.4"
+                    }
+                }
+            }
+        },
+        "grunt-contrib-clean": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/grunt-contrib-clean/-/grunt-contrib-clean-2.0.0.tgz",
+            "integrity": "sha512-g5ZD3ORk6gMa5ugZosLDQl3dZO7cI3R14U75hTM+dVLVxdMNJCPVmwf9OUt4v4eWgpKKWWoVK9DZc1amJp4nQw==",
+            "dev": true,
+            "requires": {
+                "async": "^2.6.1",
+                "rimraf": "^2.6.2"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "2.6.1",
+                    "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+                    "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+                    "dev": true,
+                    "requires": {
+                        "lodash": "^4.17.10"
+                    }
+                },
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "rimraf": {
+                    "version": "2.6.2",
+                    "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+                    "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+                    "dev": true,
+                    "requires": {
+                        "glob": "^7.0.5"
+                    }
+                }
+            }
+        },
+        "grunt-contrib-concat": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/grunt-contrib-concat/-/grunt-contrib-concat-1.0.1.tgz",
+            "integrity": "sha1-YVCYYwhOhx1+ht5IwBUlntl3Rb0=",
+            "dev": true,
+            "requires": {
+                "chalk": "^1.0.0",
+                "source-map": "^0.5.3"
+            }
+        },
+        "grunt-contrib-copy": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/grunt-contrib-copy/-/grunt-contrib-copy-1.0.0.tgz",
+            "integrity": "sha1-cGDGWB6QS4qw0A8HbgqPbj58NXM=",
+            "dev": true,
+            "requires": {
+                "chalk": "^1.1.1",
+                "file-sync-cmp": "^0.1.0"
+            }
+        },
+        "grunt-contrib-jshint": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-2.0.0.tgz",
+            "integrity": "sha512-4qR411I1bhvVrPkKBzCUcrWkTEtBuWioXi9ABWRXHoplRScg03jiMqLDpzS4pDhVsLOTx5F9l+0cnMc+Gd2MWg==",
+            "dev": true,
+            "requires": {
+                "chalk": "^2.4.1",
+                "hooker": "^0.2.3",
+                "jshint": "~2.9.6"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "3.2.1",
+                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+                    "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+                    "dev": true,
+                    "requires": {
+                        "color-convert": "^1.9.0"
+                    }
+                },
+                "chalk": {
+                    "version": "2.4.1",
+                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+                    "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^3.2.1",
+                        "escape-string-regexp": "^1.0.5",
+                        "supports-color": "^5.3.0"
+                    }
+                },
+                "has-flag": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "5.5.0",
+                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+                    "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "grunt-contrib-uglify": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-4.0.0.tgz",
+            "integrity": "sha512-vy3Vop2KDqdiwcGOGAjyKvjHFrRD/YK4KPQWR3Yt6OdYlgFw1z7HCuk66+IJ9s7oJmp9uRQXuuSHyawKRAgiMw==",
+            "dev": true,
+            "requires": {
+                "chalk": "^2.4.1",
+                "maxmin": "^2.1.0",
+                "uglify-js": "~3.4.8",
+                "uri-path": "^1.0.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "3.2.1",
+                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+                    "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+                    "dev": true,
+                    "requires": {
+                        "color-convert": "^1.9.0"
+                    }
+                },
+                "chalk": {
+                    "version": "2.4.1",
+                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz",
+                    "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^3.2.1",
+                        "escape-string-regexp": "^1.0.5",
+                        "supports-color": "^5.3.0"
+                    }
+                },
+                "has-flag": {
+                    "version": "3.0.0",
+                    "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+                    "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "5.5.0",
+                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+                    "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+                    "dev": true,
+                    "requires": {
+                        "has-flag": "^3.0.0"
+                    }
+                }
+            }
+        },
+        "grunt-contrib-watch": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-1.1.0.tgz",
+            "integrity": "sha512-yGweN+0DW5yM+oo58fRu/XIRrPcn3r4tQx+nL7eMRwjpvk+rQY6R8o94BPK0i2UhTg9FN21hS+m8vR8v9vXfeg==",
+            "dev": true,
+            "requires": {
+                "async": "^2.6.0",
+                "gaze": "^1.1.0",
+                "lodash": "^4.17.10",
+                "tiny-lr": "^1.1.1"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "2.6.1",
+                    "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+                    "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+                    "dev": true,
+                    "requires": {
+                        "lodash": "^4.17.10"
+                    }
+                }
+            }
+        },
+        "grunt-env": {
+            "version": "0.4.4",
+            "resolved": "https://registry.npmjs.org/grunt-env/-/grunt-env-0.4.4.tgz",
+            "integrity": "sha1-OziEOo1zcXfdyfiTh5+2nOGgvC8=",
+            "dev": true,
+            "requires": {
+                "ini": "~1.3.0",
+                "lodash": "~2.4.1"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "2.4.2",
+                    "resolved": "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+                    "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-exec": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/grunt-exec/-/grunt-exec-3.0.0.tgz",
+            "integrity": "sha512-cgAlreXf3muSYS5LzW0Cc4xHK03BjFOYk0MqCQ/MZ3k1Xz2GU7D+IAJg4UKicxpO+XdONJdx/NJ6kpy2wI+uHg==",
+            "dev": true
+        },
+        "grunt-jscs": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/grunt-jscs/-/grunt-jscs-3.0.1.tgz",
+            "integrity": "sha1-H65Q4+lV3546nZQlrsIqzK4AgJI=",
+            "dev": true,
+            "requires": {
+                "hooker": "~0.2.3",
+                "jscs": "~3.0.5",
+                "lodash": "~4.6.1",
+                "vow": "~0.4.1"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "4.6.1",
+                    "resolved": "http://registry.npmjs.org/lodash/-/lodash-4.6.1.tgz",
+                    "integrity": "sha1-3wDBFkrSNrGDz8OIel6NOMxjy7w=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-karma": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/grunt-karma/-/grunt-karma-3.0.1.tgz",
+            "integrity": "sha512-iNt1Qe5GoePMIfBQmeffvfrvnvwTfJ9/h9p9gqGMIuEdVsUo4PKhTxIwyW5NMbHrgD8p2UEdeTJH4l0QGz4YtA==",
+            "dev": true,
+            "requires": {
+                "lodash": "^4.17.10"
+            }
+        },
+        "grunt-known-options": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.1.tgz",
+            "integrity": "sha512-cHwsLqoighpu7TuYj5RonnEuxGVFnztcUqTqp5rXFGYL4OuPFofwC4Ycg7n9fYwvK6F5WbYgeVOwph9Crs2fsQ==",
+            "dev": true
+        },
+        "grunt-legacy-log": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz",
+            "integrity": "sha1-7ClCboAwIa9ZAp+H0vnNczWgVTE=",
+            "dev": true,
+            "requires": {
+                "colors": "~0.6.2",
+                "grunt-legacy-log-utils": "~0.1.1",
+                "hooker": "~0.2.3",
+                "lodash": "~2.4.1",
+                "underscore.string": "~2.3.3"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "2.4.2",
+                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+                    "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+                    "dev": true
+                },
+                "underscore.string": {
+                    "version": "2.3.3",
+                    "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
+                    "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-legacy-log-utils": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz",
+            "integrity": "sha1-wHBrndkGThFvNvI/5OawSGcsD34=",
+            "dev": true,
+            "requires": {
+                "colors": "~0.6.2",
+                "lodash": "~2.4.1",
+                "underscore.string": "~2.3.3"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "2.4.2",
+                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz",
+                    "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=",
+                    "dev": true
+                },
+                "underscore.string": {
+                    "version": "2.3.3",
+                    "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz",
+                    "integrity": "sha1-ccCL9rQosRM/N+ePo6Icgvcymw0=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-legacy-util": {
+            "version": "0.2.0",
+            "resolved": "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz",
+            "integrity": "sha1-kzJIhNv343qf98Am3/RR2UqeVUs=",
+            "dev": true,
+            "requires": {
+                "async": "~0.1.22",
+                "exit": "~0.1.1",
+                "getobject": "~0.1.0",
+                "hooker": "~0.2.3",
+                "lodash": "~0.9.2",
+                "underscore.string": "~2.2.1",
+                "which": "~1.0.5"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "0.9.2",
+                    "resolved": "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz",
+                    "integrity": "sha1-jzSZxSRdNG1oLlsNO0B2fgnxqSw=",
+                    "dev": true
+                }
+            }
+        },
+        "grunt-nuget": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npmjs.org/grunt-nuget/-/grunt-nuget-0.3.1.tgz",
+            "integrity": "sha512-jYPwNAkDRw7UNL2uytExr31fPZwcOIqz/5xdv+ZtOJLBHTt1v9f9qDCTniRHaNEDF6FwZPWWRG9gKLAVY13KNg==",
+            "dev": true
+        },
+        "grunt-string-replace": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npmjs.org/grunt-string-replace/-/grunt-string-replace-1.3.1.tgz",
+            "integrity": "sha1-YzoDvHhIKg4OH5339kWBH8H7sWI=",
+            "dev": true,
+            "requires": {
+                "async": "^2.0.0",
+                "chalk": "^1.0.0"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "2.6.1",
+                    "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+                    "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+                    "dev": true,
+                    "requires": {
+                        "lodash": "^4.17.10"
+                    }
+                }
+            }
+        },
+        "gzip-size": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz",
+            "integrity": "sha1-VGGI6b3DN/Zzdy+BZgRks4nc5SA=",
+            "dev": true,
+            "requires": {
+                "duplexer": "^0.1.1"
+            }
+        },
+        "handlebars": {
+            "version": "4.0.11",
+            "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.11.tgz",
+            "integrity": "sha1-Ywo13+ApS8KB7a5v/F0yn8eYLcw=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "async": "^1.4.0",
+                "optimist": "^0.6.1",
+                "source-map": "^0.4.4",
+                "uglify-js": "^2.6"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "1.5.2",
+                    "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+                    "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+                    "dev": true,
+                    "optional": true
+                },
+                "camelcase": {
+                    "version": "1.2.1",
+                    "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz",
+                    "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=",
+                    "dev": true,
+                    "optional": true
+                },
+                "source-map": {
+                    "version": "0.4.4",
+                    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz",
+                    "integrity": "sha1-66T12pwNyZneaAMti092FzZSA2s=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "amdefine": ">=0.0.4"
+                    }
+                },
+                "uglify-js": {
+                    "version": "2.8.29",
+                    "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz",
+                    "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "source-map": "~0.5.1",
+                        "uglify-to-browserify": "~1.0.0",
+                        "yargs": "~3.10.0"
+                    },
+                    "dependencies": {
+                        "source-map": {
+                            "version": "0.5.7",
+                            "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+                            "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+                            "dev": true,
+                            "optional": true
+                        }
+                    }
+                },
+                "yargs": {
+                    "version": "3.10.0",
+                    "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz",
+                    "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "camelcase": "^1.0.2",
+                        "cliui": "^2.1.0",
+                        "decamelize": "^1.0.0",
+                        "window-size": "0.1.0"
+                    }
+                }
+            }
+        },
+        "har-schema": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
+            "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=",
+            "dev": true
+        },
+        "har-validator": {
+            "version": "5.1.0",
+            "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.0.tgz",
+            "integrity": "sha512-+qnmNjI4OfH2ipQ9VQOw23bBd/ibtfbVdK2fYbY4acTDqKTW/YDp9McimZdDbG8iV9fZizUqQMD5xvriB146TA==",
+            "dev": true,
+            "requires": {
+                "ajv": "^5.3.0",
+                "har-schema": "^2.0.0"
+            }
+        },
+        "has-ansi": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
+            "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=",
+            "dev": true,
+            "requires": {
+                "ansi-regex": "^2.0.0"
+            }
+        },
+        "has-binary2": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz",
+            "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==",
+            "dev": true,
+            "requires": {
+                "isarray": "2.0.1"
+            },
+            "dependencies": {
+                "isarray": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+                    "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+                    "dev": true
+                }
+            }
+        },
+        "has-color": {
+            "version": "0.1.7",
+            "resolved": "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz",
+            "integrity": "sha1-ZxRKUmDDT8PMpnfQQdr1L+e3iy8=",
+            "dev": true
+        },
+        "has-cors": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz",
+            "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=",
+            "dev": true
+        },
+        "has-flag": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
+            "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
+            "dev": true,
+            "optional": true
+        },
+        "has-value": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz",
+            "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=",
+            "dev": true,
+            "requires": {
+                "get-value": "^2.0.6",
+                "has-values": "^1.0.0",
+                "isobject": "^3.0.0"
+            }
+        },
+        "has-values": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz",
+            "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=",
+            "dev": true,
+            "requires": {
+                "is-number": "^3.0.0",
+                "kind-of": "^4.0.0"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz",
+                    "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=",
+                    "dev": true,
+                    "requires": {
+                        "is-buffer": "^1.1.5"
+                    }
+                }
+            }
+        },
+        "hasha": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz",
+            "integrity": "sha1-eNfL/B5tZjA/55g3NlmEUXsvbuE=",
+            "dev": true,
+            "requires": {
+                "is-stream": "^1.0.1",
+                "pinkie-promise": "^2.0.0"
+            }
+        },
+        "homedir-polyfill": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.1.tgz",
+            "integrity": "sha1-TCu8inWJmP7r9e1oWA921GdotLw=",
+            "dev": true,
+            "requires": {
+                "parse-passwd": "^1.0.0"
+            }
+        },
+        "hooker": {
+            "version": "0.2.3",
+            "resolved": "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz",
+            "integrity": "sha1-uDT3I8xKJCqmWWNFnfbZhMXT2Vk=",
+            "dev": true
+        },
+        "htmlparser2": {
+            "version": "3.8.3",
+            "resolved": "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz",
+            "integrity": "sha1-mWwosZFRaovoZQGn15dX5ccMEGg=",
+            "dev": true,
+            "requires": {
+                "domelementtype": "1",
+                "domhandler": "2.3",
+                "domutils": "1.5",
+                "entities": "1.0",
+                "readable-stream": "1.1"
+            }
+        },
+        "http-errors": {
+            "version": "1.6.3",
+            "resolved": "http://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
+            "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=",
+            "dev": true,
+            "requires": {
+                "depd": "~1.1.2",
+                "inherits": "2.0.3",
+                "setprototypeof": "1.1.0",
+                "statuses": ">= 1.4.0 < 2"
+            }
+        },
+        "http-parser-js": {
+            "version": "0.4.13",
+            "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.13.tgz",
+            "integrity": "sha1-O9bW/ebjFyyTNMOzO2wZPYD+ETc=",
+            "dev": true
+        },
+        "http-proxy": {
+            "version": "1.17.0",
+            "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.17.0.tgz",
+            "integrity": "sha512-Taqn+3nNvYRfJ3bGvKfBSRwy1v6eePlm3oc/aWVxZp57DQr5Eq3xhKJi7Z4hZpS8PC3H4qI+Yly5EmFacGuA/g==",
+            "dev": true,
+            "requires": {
+                "eventemitter3": "^3.0.0",
+                "follow-redirects": "^1.0.0",
+                "requires-port": "^1.0.0"
+            }
+        },
+        "http-signature": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz",
+            "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0",
+                "jsprim": "^1.2.2",
+                "sshpk": "^1.7.0"
+            }
+        },
+        "https-proxy-agent": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz",
+            "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==",
+            "dev": true,
+            "requires": {
+                "agent-base": "^4.1.0",
+                "debug": "^3.1.0"
+            }
+        },
+        "i": {
+            "version": "0.3.6",
+            "resolved": "https://registry.npmjs.org/i/-/i-0.3.6.tgz",
+            "integrity": "sha1-2WyScyB28HJxG2sQ/X1PZa2O4j0=",
+            "dev": true
+        },
+        "iconv-lite": {
+            "version": "0.2.11",
+            "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz",
+            "integrity": "sha1-HOYKOleGSiktEyH/RgnKS7llrcg=",
+            "dev": true
+        },
+        "immediate": {
+            "version": "3.0.6",
+            "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz",
+            "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=",
+            "dev": true
+        },
+        "indexof": {
+            "version": "0.0.1",
+            "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz",
+            "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
+            "dev": true
+        },
+        "inflight": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+            "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+            "dev": true,
+            "requires": {
+                "once": "^1.3.0",
+                "wrappy": "1"
+            }
+        },
+        "inherit": {
+            "version": "2.2.7",
+            "resolved": "https://registry.npmjs.org/inherit/-/inherit-2.2.7.tgz",
+            "integrity": "sha512-dxJmC1j0Q32NFAjvbd6g3lXYLZ49HgzotgbSMwMkoiTXGhC9412Oc24g7A7M9cPPkw/vDsF2cSII+2zJwocUtQ==",
+            "dev": true
+        },
+        "inherits": {
+            "version": "2.0.3",
+            "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
+            "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=",
+            "dev": true
+        },
+        "ini": {
+            "version": "1.3.5",
+            "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
+            "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==",
+            "dev": true
+        },
+        "interpret": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz",
+            "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=",
+            "dev": true
+        },
+        "is-absolute": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz",
+            "integrity": "sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==",
+            "dev": true,
+            "requires": {
+                "is-relative": "^1.0.0",
+                "is-windows": "^1.0.1"
+            }
+        },
+        "is-accessor-descriptor": {
+            "version": "0.1.6",
+            "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz",
+            "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "is-binary-path": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz",
+            "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=",
+            "dev": true,
+            "requires": {
+                "binary-extensions": "^1.0.0"
+            }
+        },
+        "is-buffer": {
+            "version": "1.1.6",
+            "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+            "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
+            "dev": true
+        },
+        "is-data-descriptor": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz",
+            "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "is-descriptor": {
+            "version": "0.1.6",
+            "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz",
+            "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==",
+            "dev": true,
+            "requires": {
+                "is-accessor-descriptor": "^0.1.6",
+                "is-data-descriptor": "^0.1.4",
+                "kind-of": "^5.0.0"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "5.1.0",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz",
+                    "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==",
+                    "dev": true
+                }
+            }
+        },
+        "is-extendable": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+            "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=",
+            "dev": true
+        },
+        "is-extglob": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+            "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+            "dev": true
+        },
+        "is-glob": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz",
+            "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=",
+            "dev": true,
+            "requires": {
+                "is-extglob": "^2.1.0"
+            }
+        },
+        "is-number": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz",
+            "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "is-plain-object": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+            "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+            "dev": true,
+            "requires": {
+                "isobject": "^3.0.1"
+            }
+        },
+        "is-relative": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-1.0.0.tgz",
+            "integrity": "sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==",
+            "dev": true,
+            "requires": {
+                "is-unc-path": "^1.0.0"
+            }
+        },
+        "is-stream": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
+            "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+            "dev": true
+        },
+        "is-typedarray": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
+            "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
+            "dev": true
+        },
+        "is-unc-path": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/is-unc-path/-/is-unc-path-1.0.0.tgz",
+            "integrity": "sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==",
+            "dev": true,
+            "requires": {
+                "unc-path-regex": "^0.1.2"
+            }
+        },
+        "is-utf8": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz",
+            "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=",
+            "dev": true
+        },
+        "is-windows": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz",
+            "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==",
+            "dev": true
+        },
+        "isarray": {
+            "version": "0.0.1",
+            "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
+            "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=",
+            "dev": true
+        },
+        "isbinaryfile": {
+            "version": "3.0.3",
+            "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz",
+            "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==",
+            "dev": true,
+            "requires": {
+                "buffer-alloc": "^1.2.0"
+            }
+        },
+        "isexe": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+            "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=",
+            "dev": true
+        },
+        "isobject": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+            "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=",
+            "dev": true
+        },
+        "isstream": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
+            "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
+            "dev": true
+        },
+        "js-reporters": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/js-reporters/-/js-reporters-1.2.1.tgz",
+            "integrity": "sha1-+IxgjjJKM3OpW8xFrTBeXJecRZs=",
+            "dev": true
+        },
+        "js-yaml": {
+            "version": "3.6.1",
+            "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz",
+            "integrity": "sha1-bl/mfYsgXOTSL60Ft3geja3MSzA=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "argparse": "^1.0.7",
+                "esprima": "^2.6.0"
+            }
+        },
+        "jsbn": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
+            "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
+            "dev": true,
+            "optional": true
+        },
+        "jscs": {
+            "version": "3.0.7",
+            "resolved": "https://registry.npmjs.org/jscs/-/jscs-3.0.7.tgz",
+            "integrity": "sha1-cUG03/W4bjLQ6Z12S4NnZ8MNIBo=",
+            "dev": true,
+            "requires": {
+                "chalk": "~1.1.0",
+                "cli-table": "~0.3.1",
+                "commander": "~2.9.0",
+                "cst": "^0.4.3",
+                "estraverse": "^4.1.0",
+                "exit": "~0.1.2",
+                "glob": "^5.0.1",
+                "htmlparser2": "3.8.3",
+                "js-yaml": "~3.4.0",
+                "jscs-jsdoc": "^2.0.0",
+                "jscs-preset-wikimedia": "~1.0.0",
+                "jsonlint": "~1.6.2",
+                "lodash": "~3.10.0",
+                "minimatch": "~3.0.0",
+                "natural-compare": "~1.2.2",
+                "pathval": "~0.1.1",
+                "prompt": "~0.2.14",
+                "reserved-words": "^0.1.1",
+                "resolve": "^1.1.6",
+                "strip-bom": "^2.0.0",
+                "strip-json-comments": "~1.0.2",
+                "to-double-quotes": "^2.0.0",
+                "to-single-quotes": "^2.0.0",
+                "vow": "~0.4.8",
+                "vow-fs": "~0.3.4",
+                "xmlbuilder": "^3.1.0"
+            },
+            "dependencies": {
+                "commander": {
+                    "version": "2.9.0",
+                    "resolved": "http://registry.npmjs.org/commander/-/commander-2.9.0.tgz",
+                    "integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-readlink": ">= 1.0.0"
+                    }
+                },
+                "glob": {
+                    "version": "5.0.15",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+                    "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+                    "dev": true,
+                    "requires": {
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "2 || 3",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "js-yaml": {
+                    "version": "3.4.6",
+                    "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.4.6.tgz",
+                    "integrity": "sha1-a+GyP2JJ9T0pM3D9TRqqY84bTrA=",
+                    "dev": true,
+                    "requires": {
+                        "argparse": "^1.0.2",
+                        "esprima": "^2.6.0",
+                        "inherit": "^2.2.2"
+                    }
+                },
+                "lodash": {
+                    "version": "3.10.1",
+                    "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+                    "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+                    "dev": true
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "jscs-jsdoc": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/jscs-jsdoc/-/jscs-jsdoc-2.0.0.tgz",
+            "integrity": "sha1-9T684CmqMSW9iCkLpQ1k1FEKSHE=",
+            "dev": true,
+            "requires": {
+                "comment-parser": "^0.3.1",
+                "jsdoctypeparser": "~1.2.0"
+            }
+        },
+        "jscs-preset-wikimedia": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/jscs-preset-wikimedia/-/jscs-preset-wikimedia-1.0.1.tgz",
+            "integrity": "sha512-RWqu6IYSUlnYuCRCF0obCOHjJV0vhpLcvKbauwxmLQoZ0PiXDTWBYlfpsEfdhg7pmREAEwrARfDRz5qWD6qknA==",
+            "dev": true
+        },
+        "jsdoctypeparser": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/jsdoctypeparser/-/jsdoctypeparser-1.2.0.tgz",
+            "integrity": "sha1-597cFToRhJ/8UUEUSuhqfvDCU5I=",
+            "dev": true,
+            "requires": {
+                "lodash": "^3.7.0"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "3.10.1",
+                    "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+                    "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+                    "dev": true
+                }
+            }
+        },
+        "jshint": {
+            "version": "2.9.7",
+            "resolved": "https://registry.npmjs.org/jshint/-/jshint-2.9.7.tgz",
+            "integrity": "sha512-Q8XN38hGsVQhdlM+4gd1Xl7OB1VieSuCJf+fEJjpo59JH99bVJhXRXAh26qQ15wfdd1VPMuDWNeSWoNl53T4YA==",
+            "dev": true,
+            "requires": {
+                "cli": "~1.0.0",
+                "console-browserify": "1.1.x",
+                "exit": "0.1.x",
+                "htmlparser2": "3.8.x",
+                "lodash": "~4.17.10",
+                "minimatch": "~3.0.2",
+                "shelljs": "0.3.x",
+                "strip-json-comments": "1.0.x"
+            },
+            "dependencies": {
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "json-schema": {
+            "version": "0.2.3",
+            "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
+            "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
+            "dev": true
+        },
+        "json-schema-traverse": {
+            "version": "0.3.1",
+            "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz",
+            "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=",
+            "dev": true
+        },
+        "json-stringify-safe": {
+            "version": "5.0.1",
+            "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
+            "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
+            "dev": true
+        },
+        "jsonfile": {
+            "version": "2.4.0",
+            "resolved": "http://registry.npmjs.org/jsonfile/-/jsonfile-2.4.0.tgz",
+            "integrity": "sha1-NzaitCi4e72gzIO1P6PWM6NcKug=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.6"
+            },
+            "dependencies": {
+                "graceful-fs": {
+                    "version": "4.1.15",
+                    "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+                    "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+                    "dev": true,
+                    "optional": true
+                }
+            }
+        },
+        "jsonlint": {
+            "version": "1.6.3",
+            "resolved": "https://registry.npmjs.org/jsonlint/-/jsonlint-1.6.3.tgz",
+            "integrity": "sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A==",
+            "dev": true,
+            "requires": {
+                "JSV": "^4.0.x",
+                "nomnom": "^1.5.x"
+            }
+        },
+        "jsprim": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz",
+            "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "1.0.0",
+                "extsprintf": "1.3.0",
+                "json-schema": "0.2.3",
+                "verror": "1.10.0"
+            },
+            "dependencies": {
+                "assert-plus": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+                    "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+                    "dev": true
+                }
+            }
+        },
+        "jszip": {
+            "version": "3.1.5",
+            "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.1.5.tgz",
+            "integrity": "sha512-5W8NUaFRFRqTOL7ZDDrx5qWHJyBXy6velVudIzQUSoqAAYqzSh2Z7/m0Rf1QbmQJccegD0r+YZxBjzqoBiEeJQ==",
+            "dev": true,
+            "requires": {
+                "core-js": "~2.3.0",
+                "es6-promise": "~3.0.2",
+                "lie": "~3.1.0",
+                "pako": "~1.0.2",
+                "readable-stream": "~2.0.6"
+            },
+            "dependencies": {
+                "core-js": {
+                    "version": "2.3.0",
+                    "resolved": "http://registry.npmjs.org/core-js/-/core-js-2.3.0.tgz",
+                    "integrity": "sha1-+rg/uwstjchfpjbEudNMdUIMbWU=",
+                    "dev": true
+                },
+                "es6-promise": {
+                    "version": "3.0.2",
+                    "resolved": "http://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz",
+                    "integrity": "sha1-AQ1YWEI6XxGJeWZfRkhqlcbuK7Y=",
+                    "dev": true
+                },
+                "isarray": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+                    "dev": true
+                },
+                "process-nextick-args": {
+                    "version": "1.0.7",
+                    "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz",
+                    "integrity": "sha1-FQ4gt1ZZCtP5EJPyWk8q2L/zC6M=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "2.0.6",
+                    "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz",
+                    "integrity": "sha1-j5A0HmilPMySh4jaz80Rs265t44=",
+                    "dev": true,
+                    "requires": {
+                        "core-util-is": "~1.0.0",
+                        "inherits": "~2.0.1",
+                        "isarray": "~1.0.0",
+                        "process-nextick-args": "~1.0.6",
+                        "string_decoder": "~0.10.x",
+                        "util-deprecate": "~1.0.1"
+                    }
+                }
+            }
+        },
+        "karma": {
+            "version": "3.1.3",
+            "resolved": "https://registry.npmjs.org/karma/-/karma-3.1.3.tgz",
+            "integrity": "sha512-JU4FYUtFEGsLZd6ZJzLrivcPj0TkteBiIRDcXWFsltPMGgZMDtby/MIzNOzgyZv/9dahs9vHpSxerC/ZfeX9Qw==",
+            "dev": true,
+            "requires": {
+                "bluebird": "^3.3.0",
+                "body-parser": "^1.16.1",
+                "chokidar": "^2.0.3",
+                "colors": "^1.1.0",
+                "combine-lists": "^1.0.0",
+                "connect": "^3.6.0",
+                "core-js": "^2.2.0",
+                "di": "^0.0.1",
+                "dom-serialize": "^2.2.0",
+                "expand-braces": "^0.1.1",
+                "flatted": "^2.0.0",
+                "glob": "^7.1.1",
+                "graceful-fs": "^4.1.2",
+                "http-proxy": "^1.13.0",
+                "isbinaryfile": "^3.0.0",
+                "lodash": "^4.17.5",
+                "log4js": "^3.0.0",
+                "mime": "^2.3.1",
+                "minimatch": "^3.0.2",
+                "optimist": "^0.6.1",
+                "qjobs": "^1.1.4",
+                "range-parser": "^1.2.0",
+                "rimraf": "^2.6.0",
+                "safe-buffer": "^5.0.1",
+                "socket.io": "2.1.1",
+                "source-map": "^0.6.1",
+                "tmp": "0.0.33",
+                "useragent": "2.3.0"
+            },
+            "dependencies": {
+                "colors": {
+                    "version": "1.3.3",
+                    "resolved": "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz",
+                    "integrity": "sha512-mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==",
+                    "dev": true
+                },
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "graceful-fs": {
+                    "version": "4.1.15",
+                    "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+                    "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+                    "dev": true
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "rimraf": {
+                    "version": "2.6.2",
+                    "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+                    "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+                    "dev": true,
+                    "requires": {
+                        "glob": "^7.0.5"
+                    }
+                },
+                "source-map": {
+                    "version": "0.6.1",
+                    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+                    "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+                    "dev": true
+                }
+            }
+        },
+        "karma-chrome-launcher": {
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-2.2.0.tgz",
+            "integrity": "sha512-uf/ZVpAabDBPvdPdveyk1EPgbnloPvFFGgmRhYLTDH7gEB4nZdSBk8yTU47w1g/drLSx5uMOkjKk7IWKfWg/+w==",
+            "dev": true,
+            "requires": {
+                "fs-access": "^1.0.0",
+                "which": "^1.2.1"
+            },
+            "dependencies": {
+                "which": {
+                    "version": "1.3.1",
+                    "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+                    "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "karma-firefox-launcher": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/karma-firefox-launcher/-/karma-firefox-launcher-1.1.0.tgz",
+            "integrity": "sha512-LbZ5/XlIXLeQ3cqnCbYLn+rOVhuMIK9aZwlP6eOLGzWdo1UVp7t6CN3DP4SafiRLjexKwHeKHDm0c38Mtd3VxA==",
+            "dev": true
+        },
+        "karma-qunit": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/karma-qunit/-/karma-qunit-2.1.0.tgz",
+            "integrity": "sha512-QFt2msjpFNx1ZqB1EcD7rXaFRa3P+kLrgm6uRDYV/1MO7qGMxnTDgsFB1KyAKCpMreOmB5MMpEm5sX52j4c0aw==",
+            "dev": true
+        },
+        "karma-sauce-launcher": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-2.0.2.tgz",
+            "integrity": "sha512-jLUFaJhHMcKpxFWUesyWYihzM5FvQiJsDwGcCtKeOy2lsWhkVw0V0Byqb1d+wU6myU1mribBtsIcub23HS4kWA==",
+            "dev": true,
+            "requires": {
+                "sauce-connect-launcher": "^1.2.4",
+                "saucelabs": "^1.5.0",
+                "selenium-webdriver": "^4.0.0-alpha.1"
+            }
+        },
+        "kew": {
+            "version": "0.7.0",
+            "resolved": "http://registry.npmjs.org/kew/-/kew-0.7.0.tgz",
+            "integrity": "sha1-edk9LTM2PW/dKXCzNdkUGtWR15s=",
+            "dev": true
+        },
+        "kind-of": {
+            "version": "3.2.2",
+            "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+            "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=",
+            "dev": true,
+            "requires": {
+                "is-buffer": "^1.1.5"
+            }
+        },
+        "klaw": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npmjs.org/klaw/-/klaw-1.3.1.tgz",
+            "integrity": "sha1-QIhDO0azsbolnXh4XY6W9zugJDk=",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.9"
+            },
+            "dependencies": {
+                "graceful-fs": {
+                    "version": "4.1.15",
+                    "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+                    "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+                    "dev": true,
+                    "optional": true
+                }
+            }
+        },
+        "lazy-cache": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz",
+            "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=",
+            "dev": true,
+            "optional": true
+        },
+        "lcov-parse": {
+            "version": "0.0.10",
+            "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz",
+            "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=",
+            "dev": true
+        },
+        "levn": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+            "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "prelude-ls": "~1.1.2",
+                "type-check": "~0.3.2"
+            }
+        },
+        "lie": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz",
+            "integrity": "sha1-mkNrLMd0bKWd56QfpGmz77dr2H4=",
+            "dev": true,
+            "requires": {
+                "immediate": "~3.0.5"
+            }
+        },
+        "liftoff": {
+            "version": "2.5.0",
+            "resolved": "https://registry.npmjs.org/liftoff/-/liftoff-2.5.0.tgz",
+            "integrity": "sha1-IAkpG7Mc6oYbvxCnwVooyvdcMew=",
+            "dev": true,
+            "requires": {
+                "extend": "^3.0.0",
+                "findup-sync": "^2.0.0",
+                "fined": "^1.0.1",
+                "flagged-respawn": "^1.0.0",
+                "is-plain-object": "^2.0.4",
+                "object.map": "^1.0.0",
+                "rechoir": "^0.6.2",
+                "resolve": "^1.1.7"
+            },
+            "dependencies": {
+                "findup-sync": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+                    "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+                    "dev": true,
+                    "requires": {
+                        "detect-file": "^1.0.0",
+                        "is-glob": "^3.1.0",
+                        "micromatch": "^3.0.4",
+                        "resolve-dir": "^1.0.1"
+                    }
+                }
+            }
+        },
+        "livereload-js": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npmjs.org/livereload-js/-/livereload-js-2.3.0.tgz",
+            "integrity": "sha512-j1R0/FeGa64Y+NmqfZhyoVRzcFlOZ8sNlKzHjh4VvLULFACZhn68XrX5DFg2FhMvSMJmROuFxRSa560ECWKBMg==",
+            "dev": true
+        },
+        "load-grunt-tasks": {
+            "version": "3.5.2",
+            "resolved": "https://registry.npmjs.org/load-grunt-tasks/-/load-grunt-tasks-3.5.2.tgz",
+            "integrity": "sha1-ByhWEYD9IP+KaSdQWFL8WKrqDIg=",
+            "dev": true,
+            "requires": {
+                "arrify": "^1.0.0",
+                "multimatch": "^2.0.0",
+                "pkg-up": "^1.0.0",
+                "resolve-pkg": "^0.1.0"
+            }
+        },
+        "lodash": {
+            "version": "4.17.11",
+            "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz",
+            "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==",
+            "dev": true
+        },
+        "lodash.debounce": {
+            "version": "4.0.8",
+            "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+            "integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
+            "dev": true
+        },
+        "log-driver": {
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz",
+            "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==",
+            "dev": true
+        },
+        "log4js": {
+            "version": "3.0.6",
+            "resolved": "https://registry.npmjs.org/log4js/-/log4js-3.0.6.tgz",
+            "integrity": "sha512-ezXZk6oPJCWL483zj64pNkMuY/NcRX5MPiB0zE6tjZM137aeusrOnW1ecxgF9cmwMWkBMhjteQxBPoZBh9FDxQ==",
+            "dev": true,
+            "requires": {
+                "circular-json": "^0.5.5",
+                "date-format": "^1.2.0",
+                "debug": "^3.1.0",
+                "rfdc": "^1.1.2",
+                "streamroller": "0.7.0"
+            }
+        },
+        "loglevel": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.1.0.tgz",
+            "integrity": "sha1-gslPm3N3S0oc0uSuZWKzqLZ230s=",
+            "dev": true
+        },
+        "longest": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz",
+            "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=",
+            "dev": true
+        },
+        "lru-cache": {
+            "version": "2.7.3",
+            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz",
+            "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=",
+            "dev": true
+        },
+        "make-iterator": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
+            "integrity": "sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==",
+            "dev": true,
+            "requires": {
+                "kind-of": "^6.0.2"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "makeerror": {
+            "version": "1.0.11",
+            "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.11.tgz",
+            "integrity": "sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw=",
+            "dev": true,
+            "requires": {
+                "tmpl": "1.0.x"
+            }
+        },
+        "map-cache": {
+            "version": "0.2.2",
+            "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz",
+            "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=",
+            "dev": true
+        },
+        "map-visit": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz",
+            "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=",
+            "dev": true,
+            "requires": {
+                "object-visit": "^1.0.0"
+            }
+        },
+        "matcher-collection": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npmjs.org/matcher-collection/-/matcher-collection-1.0.5.tgz",
+            "integrity": "sha512-nUCmzKipcJEwYsBVAFh5P+d7JBuhJaW1xs85Hara9xuMLqtCVUrW6DSC0JVIkluxEH2W45nPBM/wjHtBXa/tYA==",
+            "dev": true,
+            "requires": {
+                "minimatch": "^3.0.2"
+            },
+            "dependencies": {
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "maxmin": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/maxmin/-/maxmin-2.1.0.tgz",
+            "integrity": "sha1-TTsiCQPZXu5+t6x/qGTnLcCaMWY=",
+            "dev": true,
+            "requires": {
+                "chalk": "^1.0.0",
+                "figures": "^1.0.1",
+                "gzip-size": "^3.0.0",
+                "pretty-bytes": "^3.0.0"
+            }
+        },
+        "media-typer": {
+            "version": "0.3.0",
+            "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
+            "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
+            "dev": true
+        },
+        "merge": {
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz",
+            "integrity": "sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==",
+            "dev": true
+        },
+        "micromatch": {
+            "version": "3.1.10",
+            "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz",
+            "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==",
+            "dev": true,
+            "requires": {
+                "arr-diff": "^4.0.0",
+                "array-unique": "^0.3.2",
+                "braces": "^2.3.1",
+                "define-property": "^2.0.2",
+                "extend-shallow": "^3.0.2",
+                "extglob": "^2.0.4",
+                "fragment-cache": "^0.2.1",
+                "kind-of": "^6.0.2",
+                "nanomatch": "^1.2.9",
+                "object.pick": "^1.3.0",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.2"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "mime": {
+            "version": "2.4.0",
+            "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.0.tgz",
+            "integrity": "sha512-ikBcWwyqXQSHKtciCcctu9YfPbFYZ4+gbHEmE0Q8jzcTYQg5dHCr3g2wwAZjPoJfQVXZq6KXAjpXOTf5/cjT7w==",
+            "dev": true
+        },
+        "mime-db": {
+            "version": "1.33.0",
+            "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+            "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+            "dev": true
+        },
+        "mime-types": {
+            "version": "2.1.18",
+            "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+            "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+            "dev": true,
+            "requires": {
+                "mime-db": "~1.33.0"
+            }
+        },
+        "minimatch": {
+            "version": "0.2.14",
+            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz",
+            "integrity": "sha1-x054BXT2PG+aCQ6Q775u9TpqdWo=",
+            "dev": true,
+            "requires": {
+                "lru-cache": "2",
+                "sigmund": "~1.0.0"
+            }
+        },
+        "minimist": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
+            "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+            "dev": true
+        },
+        "mixin-deep": {
+            "version": "1.3.1",
+            "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz",
+            "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==",
+            "dev": true,
+            "requires": {
+                "for-in": "^1.0.2",
+                "is-extendable": "^1.0.1"
+            },
+            "dependencies": {
+                "is-extendable": {
+                    "version": "1.0.1",
+                    "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+                    "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+                    "dev": true,
+                    "requires": {
+                        "is-plain-object": "^2.0.4"
+                    }
+                }
+            }
+        },
+        "mkdirp": {
+            "version": "0.5.1",
+            "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
+            "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
+            "dev": true,
+            "requires": {
+                "minimist": "0.0.8"
+            },
+            "dependencies": {
+                "minimist": {
+                    "version": "0.0.8",
+                    "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
+                    "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
+                    "dev": true
+                }
+            }
+        },
+        "ms": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
+            "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==",
+            "dev": true
+        },
+        "multimatch": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
+            "integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
+            "dev": true,
+            "requires": {
+                "array-differ": "^1.0.0",
+                "array-union": "^1.0.1",
+                "arrify": "^1.0.0",
+                "minimatch": "^3.0.0"
+            },
+            "dependencies": {
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "mute-stream": {
+            "version": "0.0.7",
+            "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz",
+            "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=",
+            "dev": true
+        },
+        "nan": {
+            "version": "2.12.0",
+            "resolved": "https://registry.npmjs.org/nan/-/nan-2.12.0.tgz",
+            "integrity": "sha512-zT5nC0JhbljmyEf+Z456nvm7iO7XgRV2hYxoBtPpnyp+0Q4aCoP6uWNn76v/I6k2kCYNLWqWbwBWQcjsNI/bjw==",
+            "dev": true,
+            "optional": true
+        },
+        "nanomatch": {
+            "version": "1.2.13",
+            "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
+            "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==",
+            "dev": true,
+            "requires": {
+                "arr-diff": "^4.0.0",
+                "array-unique": "^0.3.2",
+                "define-property": "^2.0.2",
+                "extend-shallow": "^3.0.2",
+                "fragment-cache": "^0.2.1",
+                "is-windows": "^1.0.2",
+                "kind-of": "^6.0.2",
+                "object.pick": "^1.3.0",
+                "regex-not": "^1.0.0",
+                "snapdragon": "^0.8.1",
+                "to-regex": "^3.0.1"
+            },
+            "dependencies": {
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "natives": {
+            "version": "1.1.6",
+            "resolved": "https://registry.npmjs.org/natives/-/natives-1.1.6.tgz",
+            "integrity": "sha512-6+TDFewD4yxY14ptjKaS63GVdtKiES1pTPyxn9Jb0rBqPMZ7VcCiooEhPNsr+mqHtMGxa/5c/HhcC4uPEUw/nA==",
+            "dev": true
+        },
+        "natural-compare": {
+            "version": "1.2.2",
+            "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.2.2.tgz",
+            "integrity": "sha1-H5bWDjFBysG20FZTzg2urHY69qo=",
+            "dev": true
+        },
+        "ncp": {
+            "version": "0.4.2",
+            "resolved": "http://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz",
+            "integrity": "sha1-q8xsvT7C7Spyn/bnwfqPAXhKhXQ=",
+            "dev": true
+        },
+        "negotiator": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz",
+            "integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk=",
+            "dev": true
+        },
+        "nice-try": {
+            "version": "1.0.5",
+            "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
+            "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
+            "dev": true
+        },
+        "node-int64": {
+            "version": "0.4.0",
+            "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+            "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=",
+            "dev": true
+        },
+        "node-qunit": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/node-qunit/-/node-qunit-1.0.0.tgz",
+            "integrity": "sha512-XS9yT8+uirjUo4i04RSRGqZPMVC7U/BnQJcWyUe3kX9Ot9NIzKDq/ZsNW+//5KksHYDCpDv+pODLwpCQbB3upw==",
+            "dev": true,
+            "requires": {
+                "argsparser": "^0.0.7",
+                "cli-table": "^0.3.0",
+                "co": "^4.6.0",
+                "istanbul": "0.4.5",
+                "qunitjs": "2.1.1",
+                "tracejs": "^0.1.8",
+                "underscore": "^1.6.0"
+            },
+            "dependencies": {
+                "abbrev": {
+                    "version": "1.0.9",
+                    "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz",
+                    "integrity": "sha1-kbR5JYinc4wl813W9jdSovh3YTU=",
+                    "dev": true
+                },
+                "async": {
+                    "version": "1.5.2",
+                    "resolved": "https://registry.npmjs.org/async/-/async-1.5.2.tgz",
+                    "integrity": "sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo=",
+                    "dev": true,
+                    "optional": true
+                },
+                "co": {
+                    "version": "4.6.0",
+                    "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+                    "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
+                    "dev": true
+                },
+                "escodegen": {
+                    "version": "1.8.1",
+                    "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.8.1.tgz",
+                    "integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "esprima": "^2.7.1",
+                        "estraverse": "^1.9.1",
+                        "esutils": "^2.0.2",
+                        "optionator": "^0.8.1",
+                        "source-map": "~0.2.0"
+                    }
+                },
+                "estraverse": {
+                    "version": "1.9.3",
+                    "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz",
+                    "integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
+                    "dev": true,
+                    "optional": true
+                },
+                "glob": {
+                    "version": "5.0.15",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz",
+                    "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "2 || 3",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "istanbul": {
+                    "version": "0.4.5",
+                    "resolved": "https://registry.npmjs.org/istanbul/-/istanbul-0.4.5.tgz",
+                    "integrity": "sha1-ZcfXPUxNqE1POsMQuRj7C4Azczs=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "abbrev": "1.0.x",
+                        "async": "1.x",
+                        "escodegen": "1.8.x",
+                        "esprima": "2.7.x",
+                        "glob": "^5.0.15",
+                        "handlebars": "^4.0.1",
+                        "js-yaml": "3.x",
+                        "mkdirp": "0.5.x",
+                        "nopt": "3.x",
+                        "once": "1.x",
+                        "resolve": "1.1.x",
+                        "supports-color": "^3.1.0",
+                        "which": "^1.1.1",
+                        "wordwrap": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "nopt": {
+                    "version": "3.0.6",
+                    "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz",
+                    "integrity": "sha1-xkZdvwirzU2zWTF/eaxopkayj/k=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "abbrev": "1"
+                    }
+                },
+                "source-map": {
+                    "version": "0.2.0",
+                    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz",
+                    "integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "amdefine": ">=0.0.4"
+                    }
+                },
+                "supports-color": {
+                    "version": "3.2.3",
+                    "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
+                    "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "has-flag": "^1.0.0"
+                    }
+                },
+                "which": {
+                    "version": "1.3.0",
+                    "resolved": "https://registry.npmjs.org/which/-/which-1.3.0.tgz",
+                    "integrity": "sha512-xcJpopdamTuY5duC/KnTTNBraPK54YwpenP4lzxU8H91GudWpFv38u0CKjclE1Wi2EH2EDz5LRcHcKbCIzqGyg==",
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "nomnom": {
+            "version": "1.8.1",
+            "resolved": "https://registry.npmjs.org/nomnom/-/nomnom-1.8.1.tgz",
+            "integrity": "sha1-IVH3Ikcrp55Qp2/BJbuMjy5Nwqc=",
+            "dev": true,
+            "requires": {
+                "chalk": "~0.4.0",
+                "underscore": "~1.6.0"
+            },
+            "dependencies": {
+                "ansi-styles": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.0.0.tgz",
+                    "integrity": "sha1-yxAt8cVvUSPquLZ817mAJ6AnkXg=",
+                    "dev": true
+                },
+                "chalk": {
+                    "version": "0.4.0",
+                    "resolved": "http://registry.npmjs.org/chalk/-/chalk-0.4.0.tgz",
+                    "integrity": "sha1-UZmj3c0MHv4jvAjBsCewYXbgxk8=",
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "~1.0.0",
+                        "has-color": "~0.1.0",
+                        "strip-ansi": "~0.1.0"
+                    }
+                },
+                "strip-ansi": {
+                    "version": "0.1.1",
+                    "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.1.1.tgz",
+                    "integrity": "sha1-OeipjQRNFQZgq+SmgIrPcLt7yZE=",
+                    "dev": true
+                },
+                "underscore": {
+                    "version": "1.6.0",
+                    "resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
+                    "integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
+                    "dev": true
+                }
+            }
+        },
+        "nopt": {
+            "version": "1.0.10",
+            "resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
+            "integrity": "sha1-bd0hvSoxQXuScn3Vhfim83YI6+4=",
+            "dev": true,
+            "requires": {
+                "abbrev": "1"
+            }
+        },
+        "normalize-path": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz",
+            "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=",
+            "dev": true,
+            "requires": {
+                "remove-trailing-separator": "^1.0.1"
+            }
+        },
+        "npm-run-path": {
+            "version": "2.0.2",
+            "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
+            "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+            "dev": true,
+            "requires": {
+                "path-key": "^2.0.0"
+            }
+        },
+        "null-check": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz",
+            "integrity": "sha1-l33/1xdgErnsMNKjnbXPcqBDnt0=",
+            "dev": true
+        },
+        "number-is-nan": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
+            "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
+            "dev": true
+        },
+        "nyc": {
+            "version": "11.9.0",
+            "resolved": "https://registry.npmjs.org/nyc/-/nyc-11.9.0.tgz",
+            "integrity": "sha512-w8OdJAhXL5izerzZMdqzYKMj/pgHJyY3qEPYBjLLxrhcVoHEY9pU5ENIiZyCgG9OR7x3VcUMoD40o6PtVpfR4g==",
+            "dev": true,
+            "requires": {
+                "archy": "^1.0.0",
+                "arrify": "^1.0.1",
+                "caching-transform": "^1.0.0",
+                "convert-source-map": "^1.5.1",
+                "debug-log": "^1.0.1",
+                "default-require-extensions": "^1.0.0",
+                "find-cache-dir": "^0.1.1",
+                "find-up": "^2.1.0",
+                "foreground-child": "^1.5.3",
+                "glob": "^7.0.6",
+                "istanbul-lib-coverage": "^1.1.2",
+                "istanbul-lib-hook": "^1.1.0",
+                "istanbul-lib-instrument": "^1.10.0",
+                "istanbul-lib-report": "^1.1.3",
+                "istanbul-lib-source-maps": "^1.2.3",
+                "istanbul-reports": "^1.4.0",
+                "md5-hex": "^1.2.0",
+                "merge-source-map": "^1.1.0",
+                "micromatch": "^3.1.10",
+                "mkdirp": "^0.5.0",
+                "resolve-from": "^2.0.0",
+                "rimraf": "^2.6.2",
+                "signal-exit": "^3.0.1",
+                "spawn-wrap": "^1.4.2",
+                "test-exclude": "^4.2.0",
+                "yargs": "11.1.0",
+                "yargs-parser": "^8.0.0"
+            },
+            "dependencies": {
+                "align-text": {
+                    "version": "0.1.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2",
+                        "longest": "^1.0.1",
+                        "repeat-string": "^1.5.2"
+                    }
+                },
+                "amdefine": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "ansi-regex": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "ansi-styles": {
+                    "version": "2.2.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "append-transform": {
+                    "version": "0.4.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "default-require-extensions": "^1.0.0"
+                    }
+                },
+                "archy": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "arr-diff": {
+                    "version": "4.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "arr-flatten": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "arr-union": {
+                    "version": "3.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "array-unique": {
+                    "version": "0.3.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "arrify": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "assign-symbols": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "async": {
+                    "version": "1.5.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "atob": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "babel-code-frame": {
+                    "version": "6.26.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "chalk": "^1.1.3",
+                        "esutils": "^2.0.2",
+                        "js-tokens": "^3.0.2"
+                    }
+                },
+                "babel-generator": {
+                    "version": "6.26.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "babel-messages": "^6.23.0",
+                        "babel-runtime": "^6.26.0",
+                        "babel-types": "^6.26.0",
+                        "detect-indent": "^4.0.0",
+                        "jsesc": "^1.3.0",
+                        "lodash": "^4.17.4",
+                        "source-map": "^0.5.7",
+                        "trim-right": "^1.0.1"
+                    }
+                },
+                "babel-messages": {
+                    "version": "6.23.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "babel-runtime": "^6.22.0"
+                    }
+                },
+                "babel-runtime": {
+                    "version": "6.26.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "core-js": "^2.4.0",
+                        "regenerator-runtime": "^0.11.0"
+                    }
+                },
+                "babel-template": {
+                    "version": "6.26.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "babel-runtime": "^6.26.0",
+                        "babel-traverse": "^6.26.0",
+                        "babel-types": "^6.26.0",
+                        "babylon": "^6.18.0",
+                        "lodash": "^4.17.4"
+                    }
+                },
+                "babel-traverse": {
+                    "version": "6.26.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "babel-code-frame": "^6.26.0",
+                        "babel-messages": "^6.23.0",
+                        "babel-runtime": "^6.26.0",
+                        "babel-types": "^6.26.0",
+                        "babylon": "^6.18.0",
+                        "debug": "^2.6.8",
+                        "globals": "^9.18.0",
+                        "invariant": "^2.2.2",
+                        "lodash": "^4.17.4"
+                    }
+                },
+                "babel-types": {
+                    "version": "6.26.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "babel-runtime": "^6.26.0",
+                        "esutils": "^2.0.2",
+                        "lodash": "^4.17.4",
+                        "to-fast-properties": "^1.0.3"
+                    }
+                },
+                "babylon": {
+                    "version": "6.18.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "balanced-match": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "base": {
+                    "version": "0.11.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "cache-base": "^1.0.1",
+                        "class-utils": "^0.3.5",
+                        "component-emitter": "^1.2.1",
+                        "define-property": "^1.0.0",
+                        "isobject": "^3.0.1",
+                        "mixin-deep": "^1.2.0",
+                        "pascalcase": "^0.1.1"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^1.0.0"
+                            }
+                        },
+                        "is-accessor-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-data-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-descriptor": {
+                            "version": "1.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-accessor-descriptor": "^1.0.0",
+                                "is-data-descriptor": "^1.0.0",
+                                "kind-of": "^6.0.2"
+                            }
+                        },
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "brace-expansion": {
+                    "version": "1.1.11",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "balanced-match": "^1.0.0",
+                        "concat-map": "0.0.1"
+                    }
+                },
+                "braces": {
+                    "version": "2.3.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "arr-flatten": "^1.1.0",
+                        "array-unique": "^0.3.2",
+                        "extend-shallow": "^2.0.1",
+                        "fill-range": "^4.0.0",
+                        "isobject": "^3.0.1",
+                        "repeat-element": "^1.1.2",
+                        "snapdragon": "^0.8.1",
+                        "snapdragon-node": "^2.0.1",
+                        "split-string": "^3.0.2",
+                        "to-regex": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "builtin-modules": {
+                    "version": "1.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "cache-base": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "collection-visit": "^1.0.0",
+                        "component-emitter": "^1.2.1",
+                        "get-value": "^2.0.6",
+                        "has-value": "^1.0.0",
+                        "isobject": "^3.0.1",
+                        "set-value": "^2.0.0",
+                        "to-object-path": "^0.3.0",
+                        "union-value": "^1.0.0",
+                        "unset-value": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "caching-transform": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "md5-hex": "^1.2.0",
+                        "mkdirp": "^0.5.1",
+                        "write-file-atomic": "^1.1.4"
+                    }
+                },
+                "camelcase": {
+                    "version": "1.2.1",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "center-align": {
+                    "version": "0.1.3",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "align-text": "^0.1.3",
+                        "lazy-cache": "^1.0.3"
+                    }
+                },
+                "chalk": {
+                    "version": "1.1.3",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "ansi-styles": "^2.2.1",
+                        "escape-string-regexp": "^1.0.2",
+                        "has-ansi": "^2.0.0",
+                        "strip-ansi": "^3.0.0",
+                        "supports-color": "^2.0.0"
+                    }
+                },
+                "class-utils": {
+                    "version": "0.3.6",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "arr-union": "^3.1.0",
+                        "define-property": "^0.2.5",
+                        "isobject": "^3.0.0",
+                        "static-extend": "^0.1.1"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "0.2.5",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^0.1.0"
+                            }
+                        },
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "cliui": {
+                    "version": "2.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "center-align": "^0.1.1",
+                        "right-align": "^0.1.1",
+                        "wordwrap": "0.0.2"
+                    },
+                    "dependencies": {
+                        "wordwrap": {
+                            "version": "0.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "optional": true
+                        }
+                    }
+                },
+                "code-point-at": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "collection-visit": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "map-visit": "^1.0.0",
+                        "object-visit": "^1.0.0"
+                    }
+                },
+                "commondir": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "component-emitter": {
+                    "version": "1.2.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "concat-map": {
+                    "version": "0.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "convert-source-map": {
+                    "version": "1.5.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "copy-descriptor": {
+                    "version": "0.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "core-js": {
+                    "version": "2.5.6",
+                    "bundled": true,
+                    "dev": true
+                },
+                "cross-spawn": {
+                    "version": "4.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "lru-cache": "^4.0.1",
+                        "which": "^1.2.9"
+                    }
+                },
+                "debug": {
+                    "version": "2.6.9",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "debug-log": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "decamelize": {
+                    "version": "1.2.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "decode-uri-component": {
+                    "version": "0.2.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "default-require-extensions": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "strip-bom": "^2.0.0"
+                    }
+                },
+                "define-property": {
+                    "version": "2.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.2",
+                        "isobject": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "is-accessor-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-data-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-descriptor": {
+                            "version": "1.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-accessor-descriptor": "^1.0.0",
+                                "is-data-descriptor": "^1.0.0",
+                                "kind-of": "^6.0.2"
+                            }
+                        },
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "detect-indent": {
+                    "version": "4.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "repeating": "^2.0.0"
+                    }
+                },
+                "error-ex": {
+                    "version": "1.3.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-arrayish": "^0.2.1"
+                    }
+                },
+                "escape-string-regexp": {
+                    "version": "1.0.5",
+                    "bundled": true,
+                    "dev": true
+                },
+                "esutils": {
+                    "version": "2.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "execa": {
+                    "version": "0.7.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "cross-spawn": "^5.0.1",
+                        "get-stream": "^3.0.0",
+                        "is-stream": "^1.1.0",
+                        "npm-run-path": "^2.0.0",
+                        "p-finally": "^1.0.0",
+                        "signal-exit": "^3.0.0",
+                        "strip-eof": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "cross-spawn": {
+                            "version": "5.1.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "lru-cache": "^4.0.1",
+                                "shebang-command": "^1.2.0",
+                                "which": "^1.2.9"
+                            }
+                        }
+                    }
+                },
+                "expand-brackets": {
+                    "version": "2.1.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "debug": "^2.3.3",
+                        "define-property": "^0.2.5",
+                        "extend-shallow": "^2.0.1",
+                        "posix-character-classes": "^0.1.0",
+                        "regex-not": "^1.0.0",
+                        "snapdragon": "^0.8.1",
+                        "to-regex": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "0.2.5",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^0.1.0"
+                            }
+                        },
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "extend-shallow": {
+                    "version": "3.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "assign-symbols": "^1.0.0",
+                        "is-extendable": "^1.0.1"
+                    },
+                    "dependencies": {
+                        "is-extendable": {
+                            "version": "1.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-plain-object": "^2.0.4"
+                            }
+                        }
+                    }
+                },
+                "extglob": {
+                    "version": "2.0.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "array-unique": "^0.3.2",
+                        "define-property": "^1.0.0",
+                        "expand-brackets": "^2.1.4",
+                        "extend-shallow": "^2.0.1",
+                        "fragment-cache": "^0.2.1",
+                        "regex-not": "^1.0.0",
+                        "snapdragon": "^0.8.1",
+                        "to-regex": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^1.0.0"
+                            }
+                        },
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        },
+                        "is-accessor-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-data-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-descriptor": {
+                            "version": "1.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-accessor-descriptor": "^1.0.0",
+                                "is-data-descriptor": "^1.0.0",
+                                "kind-of": "^6.0.2"
+                            }
+                        },
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "fill-range": {
+                    "version": "4.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^2.0.1",
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1",
+                        "to-regex-range": "^2.1.0"
+                    },
+                    "dependencies": {
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "find-cache-dir": {
+                    "version": "0.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "commondir": "^1.0.1",
+                        "mkdirp": "^0.5.1",
+                        "pkg-dir": "^1.0.0"
+                    }
+                },
+                "find-up": {
+                    "version": "2.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "locate-path": "^2.0.0"
+                    }
+                },
+                "for-in": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "foreground-child": {
+                    "version": "1.5.6",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "cross-spawn": "^4",
+                        "signal-exit": "^3.0.0"
+                    }
+                },
+                "fragment-cache": {
+                    "version": "0.2.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "map-cache": "^0.2.2"
+                    }
+                },
+                "fs.realpath": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "get-caller-file": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "get-stream": {
+                    "version": "3.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "get-value": {
+                    "version": "2.0.6",
+                    "bundled": true,
+                    "dev": true
+                },
+                "glob": {
+                    "version": "7.1.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "globals": {
+                    "version": "9.18.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "graceful-fs": {
+                    "version": "4.1.11",
+                    "bundled": true,
+                    "dev": true
+                },
+                "handlebars": {
+                    "version": "4.0.11",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "async": "^1.4.0",
+                        "optimist": "^0.6.1",
+                        "source-map": "^0.4.4",
+                        "uglify-js": "^2.6"
+                    },
+                    "dependencies": {
+                        "source-map": {
+                            "version": "0.4.4",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "amdefine": ">=0.0.4"
+                            }
+                        }
+                    }
+                },
+                "has-ansi": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
+                },
+                "has-flag": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "has-value": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "get-value": "^2.0.6",
+                        "has-values": "^1.0.0",
+                        "isobject": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "has-values": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-number": "^3.0.0",
+                        "kind-of": "^4.0.0"
+                    },
+                    "dependencies": {
+                        "is-number": {
+                            "version": "3.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^3.0.2"
+                            },
+                            "dependencies": {
+                                "kind-of": {
+                                    "version": "3.2.2",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-buffer": "^1.1.5"
+                                    }
+                                }
+                            }
+                        },
+                        "kind-of": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-buffer": "^1.1.5"
+                            }
+                        }
+                    }
+                },
+                "hosted-git-info": {
+                    "version": "2.6.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "imurmurhash": {
+                    "version": "0.1.4",
+                    "bundled": true,
+                    "dev": true
+                },
+                "inflight": {
+                    "version": "1.0.6",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "once": "^1.3.0",
+                        "wrappy": "1"
+                    }
+                },
+                "inherits": {
+                    "version": "2.0.3",
+                    "bundled": true,
+                    "dev": true
+                },
+                "invariant": {
+                    "version": "2.2.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "loose-envify": "^1.0.0"
+                    }
+                },
+                "invert-kv": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-accessor-descriptor": {
+                    "version": "0.1.6",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    }
+                },
+                "is-arrayish": {
+                    "version": "0.2.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-buffer": {
+                    "version": "1.1.6",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-builtin-module": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "builtin-modules": "^1.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "0.1.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "0.1.6",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^0.1.6",
+                        "is-data-descriptor": "^0.1.4",
+                        "kind-of": "^5.0.0"
+                    },
+                    "dependencies": {
+                        "kind-of": {
+                            "version": "5.1.0",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "is-extendable": {
+                    "version": "0.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-finite": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "number-is-nan": "^1.0.0"
+                    }
+                },
+                "is-fullwidth-code-point": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-number": {
+                    "version": "3.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    }
+                },
+                "is-odd": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-number": "^4.0.0"
+                    },
+                    "dependencies": {
+                        "is-number": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "is-plain-object": {
+                    "version": "2.0.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "isobject": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "is-stream": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-utf8": {
+                    "version": "0.2.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "is-windows": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "isarray": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "isexe": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "isobject": {
+                    "version": "3.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "istanbul-lib-coverage": {
+                    "version": "1.2.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "istanbul-lib-hook": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "append-transform": "^0.4.0"
+                    }
+                },
+                "istanbul-lib-instrument": {
+                    "version": "1.10.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "babel-generator": "^6.18.0",
+                        "babel-template": "^6.16.0",
+                        "babel-traverse": "^6.18.0",
+                        "babel-types": "^6.18.0",
+                        "babylon": "^6.18.0",
+                        "istanbul-lib-coverage": "^1.2.0",
+                        "semver": "^5.3.0"
+                    }
+                },
+                "istanbul-lib-report": {
+                    "version": "1.1.3",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "istanbul-lib-coverage": "^1.1.2",
+                        "mkdirp": "^0.5.1",
+                        "path-parse": "^1.0.5",
+                        "supports-color": "^3.1.2"
+                    },
+                    "dependencies": {
+                        "supports-color": {
+                            "version": "3.2.3",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "has-flag": "^1.0.0"
+                            }
+                        }
+                    }
+                },
+                "istanbul-lib-source-maps": {
+                    "version": "1.2.3",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "debug": "^3.1.0",
+                        "istanbul-lib-coverage": "^1.1.2",
+                        "mkdirp": "^0.5.1",
+                        "rimraf": "^2.6.1",
+                        "source-map": "^0.5.3"
+                    },
+                    "dependencies": {
+                        "debug": {
+                            "version": "3.1.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "ms": "2.0.0"
+                            }
+                        }
+                    }
+                },
+                "istanbul-reports": {
+                    "version": "1.4.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "handlebars": "^4.0.3"
+                    }
+                },
+                "js-tokens": {
+                    "version": "3.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "jsesc": {
+                    "version": "1.3.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "kind-of": {
+                    "version": "3.2.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-buffer": "^1.1.5"
+                    }
+                },
+                "lazy-cache": {
+                    "version": "1.0.4",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "lcid": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "invert-kv": "^1.0.0"
+                    }
+                },
+                "load-json-file": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "parse-json": "^2.2.0",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0",
+                        "strip-bom": "^2.0.0"
+                    }
+                },
+                "locate-path": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "p-locate": "^2.0.0",
+                        "path-exists": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "path-exists": {
+                            "version": "3.0.0",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "lodash": {
+                    "version": "4.17.10",
+                    "bundled": true,
+                    "dev": true
+                },
+                "longest": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "loose-envify": {
+                    "version": "1.3.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "js-tokens": "^3.0.0"
+                    }
+                },
+                "lru-cache": {
+                    "version": "4.1.3",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "pseudomap": "^1.0.2",
+                        "yallist": "^2.1.2"
+                    }
+                },
+                "map-cache": {
+                    "version": "0.2.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "map-visit": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "object-visit": "^1.0.0"
+                    }
+                },
+                "md5-hex": {
+                    "version": "1.3.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "md5-o-matic": "^0.1.1"
+                    }
+                },
+                "md5-o-matic": {
+                    "version": "0.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "mem": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "mimic-fn": "^1.0.0"
+                    }
+                },
+                "merge-source-map": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "source-map": "^0.6.1"
+                    },
+                    "dependencies": {
+                        "source-map": {
+                            "version": "0.6.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "micromatch": {
+                    "version": "3.1.10",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "arr-diff": "^4.0.0",
+                        "array-unique": "^0.3.2",
+                        "braces": "^2.3.1",
+                        "define-property": "^2.0.2",
+                        "extend-shallow": "^3.0.2",
+                        "extglob": "^2.0.4",
+                        "fragment-cache": "^0.2.1",
+                        "kind-of": "^6.0.2",
+                        "nanomatch": "^1.2.9",
+                        "object.pick": "^1.3.0",
+                        "regex-not": "^1.0.0",
+                        "snapdragon": "^0.8.1",
+                        "to-regex": "^3.0.2"
+                    },
+                    "dependencies": {
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "mimic-fn": {
+                    "version": "1.2.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "minimist": {
+                    "version": "0.0.8",
+                    "bundled": true,
+                    "dev": true
+                },
+                "mixin-deep": {
+                    "version": "1.3.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "for-in": "^1.0.2",
+                        "is-extendable": "^1.0.1"
+                    },
+                    "dependencies": {
+                        "is-extendable": {
+                            "version": "1.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-plain-object": "^2.0.4"
+                            }
+                        }
+                    }
+                },
+                "mkdirp": {
+                    "version": "0.5.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "minimist": "0.0.8"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "nanomatch": {
+                    "version": "1.2.9",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "arr-diff": "^4.0.0",
+                        "array-unique": "^0.3.2",
+                        "define-property": "^2.0.2",
+                        "extend-shallow": "^3.0.2",
+                        "fragment-cache": "^0.2.1",
+                        "is-odd": "^2.0.0",
+                        "is-windows": "^1.0.2",
+                        "kind-of": "^6.0.2",
+                        "object.pick": "^1.3.0",
+                        "regex-not": "^1.0.0",
+                        "snapdragon": "^0.8.1",
+                        "to-regex": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "arr-diff": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "array-unique": {
+                            "version": "0.3.2",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "normalize-package-data": {
+                    "version": "2.4.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "hosted-git-info": "^2.1.4",
+                        "is-builtin-module": "^1.0.0",
+                        "semver": "2 || 3 || 4 || 5",
+                        "validate-npm-package-license": "^3.0.1"
+                    }
+                },
+                "npm-run-path": {
+                    "version": "2.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "path-key": "^2.0.0"
+                    }
+                },
+                "number-is-nan": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "object-assign": {
+                    "version": "4.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "object-copy": {
+                    "version": "0.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "copy-descriptor": "^0.1.0",
+                        "define-property": "^0.2.5",
+                        "kind-of": "^3.0.3"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "0.2.5",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "object-visit": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "isobject": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "object.pick": {
+                    "version": "1.3.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "isobject": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "once": {
+                    "version": "1.4.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "wrappy": "1"
+                    }
+                },
+                "optimist": {
+                    "version": "0.6.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "minimist": "~0.0.1",
+                        "wordwrap": "~0.0.2"
+                    }
+                },
+                "os-homedir": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "os-locale": {
+                    "version": "2.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "execa": "^0.7.0",
+                        "lcid": "^1.0.0",
+                        "mem": "^1.1.0"
+                    }
+                },
+                "p-finally": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "p-limit": {
+                    "version": "1.2.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "p-try": "^1.0.0"
+                    }
+                },
+                "p-locate": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "p-limit": "^1.1.0"
+                    }
+                },
+                "p-try": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "parse-json": {
+                    "version": "2.2.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "error-ex": "^1.2.0"
+                    }
+                },
+                "pascalcase": {
+                    "version": "0.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "path-exists": {
+                    "version": "2.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "path-is-absolute": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "path-key": {
+                    "version": "2.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "path-parse": {
+                    "version": "1.0.5",
+                    "bundled": true,
+                    "dev": true
+                },
+                "path-type": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.2",
+                        "pify": "^2.0.0",
+                        "pinkie-promise": "^2.0.0"
+                    }
+                },
+                "pify": {
+                    "version": "2.3.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "pinkie": {
+                    "version": "2.0.4",
+                    "bundled": true,
+                    "dev": true
+                },
+                "pinkie-promise": {
+                    "version": "2.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "pinkie": "^2.0.0"
+                    }
+                },
+                "pkg-dir": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "find-up": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "find-up": {
+                            "version": "1.1.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "path-exists": "^2.0.0",
+                                "pinkie-promise": "^2.0.0"
+                            }
+                        }
+                    }
+                },
+                "posix-character-classes": {
+                    "version": "0.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "pseudomap": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "read-pkg": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "load-json-file": "^1.0.0",
+                        "normalize-package-data": "^2.3.2",
+                        "path-type": "^1.0.0"
+                    }
+                },
+                "read-pkg-up": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "find-up": "^1.0.0",
+                        "read-pkg": "^1.0.0"
+                    },
+                    "dependencies": {
+                        "find-up": {
+                            "version": "1.1.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "path-exists": "^2.0.0",
+                                "pinkie-promise": "^2.0.0"
+                            }
+                        }
+                    }
+                },
+                "regenerator-runtime": {
+                    "version": "0.11.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "regex-not": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^3.0.2",
+                        "safe-regex": "^1.1.0"
+                    }
+                },
+                "repeat-element": {
+                    "version": "1.1.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "repeat-string": {
+                    "version": "1.6.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "repeating": {
+                    "version": "2.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-finite": "^1.0.0"
+                    }
+                },
+                "require-directory": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "require-main-filename": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "resolve-from": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "resolve-url": {
+                    "version": "0.2.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "ret": {
+                    "version": "0.1.15",
+                    "bundled": true,
+                    "dev": true
+                },
+                "right-align": {
+                    "version": "0.1.3",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "align-text": "^0.1.1"
+                    }
+                },
+                "rimraf": {
+                    "version": "2.6.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "glob": "^7.0.5"
+                    }
+                },
+                "safe-regex": {
+                    "version": "1.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "ret": "~0.1.10"
+                    }
+                },
+                "semver": {
+                    "version": "5.5.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "set-blocking": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "set-value": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^2.0.1",
+                        "is-extendable": "^0.1.1",
+                        "is-plain-object": "^2.0.3",
+                        "split-string": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "shebang-command": {
+                    "version": "1.2.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "shebang-regex": "^1.0.0"
+                    }
+                },
+                "shebang-regex": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "signal-exit": {
+                    "version": "3.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "slide": {
+                    "version": "1.1.6",
+                    "bundled": true,
+                    "dev": true
+                },
+                "snapdragon": {
+                    "version": "0.8.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "base": "^0.11.1",
+                        "debug": "^2.2.0",
+                        "define-property": "^0.2.5",
+                        "extend-shallow": "^2.0.1",
+                        "map-cache": "^0.2.2",
+                        "source-map": "^0.5.6",
+                        "source-map-resolve": "^0.5.0",
+                        "use": "^3.1.0"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "0.2.5",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^0.1.0"
+                            }
+                        },
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "snapdragon-node": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "define-property": "^1.0.0",
+                        "isobject": "^3.0.0",
+                        "snapdragon-util": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^1.0.0"
+                            }
+                        },
+                        "is-accessor-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-data-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-descriptor": {
+                            "version": "1.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-accessor-descriptor": "^1.0.0",
+                                "is-data-descriptor": "^1.0.0",
+                                "kind-of": "^6.0.2"
+                            }
+                        },
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "snapdragon-util": {
+                    "version": "3.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.2.0"
+                    }
+                },
+                "source-map": {
+                    "version": "0.5.7",
+                    "bundled": true,
+                    "dev": true
+                },
+                "source-map-resolve": {
+                    "version": "0.5.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "atob": "^2.0.0",
+                        "decode-uri-component": "^0.2.0",
+                        "resolve-url": "^0.2.1",
+                        "source-map-url": "^0.4.0",
+                        "urix": "^0.1.0"
+                    }
+                },
+                "source-map-url": {
+                    "version": "0.4.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "spawn-wrap": {
+                    "version": "1.4.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "foreground-child": "^1.5.6",
+                        "mkdirp": "^0.5.0",
+                        "os-homedir": "^1.0.1",
+                        "rimraf": "^2.6.2",
+                        "signal-exit": "^3.0.2",
+                        "which": "^1.3.0"
+                    }
+                },
+                "spdx-correct": {
+                    "version": "3.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "spdx-expression-parse": "^3.0.0",
+                        "spdx-license-ids": "^3.0.0"
+                    }
+                },
+                "spdx-exceptions": {
+                    "version": "2.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "spdx-expression-parse": {
+                    "version": "3.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "spdx-exceptions": "^2.1.0",
+                        "spdx-license-ids": "^3.0.0"
+                    }
+                },
+                "spdx-license-ids": {
+                    "version": "3.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "split-string": {
+                    "version": "3.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^3.0.0"
+                    }
+                },
+                "static-extend": {
+                    "version": "0.1.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "define-property": "^0.2.5",
+                        "object-copy": "^0.1.0"
+                    },
+                    "dependencies": {
+                        "define-property": {
+                            "version": "0.2.5",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-descriptor": "^0.1.0"
+                            }
+                        }
+                    }
+                },
+                "string-width": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-fullwidth-code-point": "^2.0.0",
+                        "strip-ansi": "^4.0.0"
+                    },
+                    "dependencies": {
+                        "ansi-regex": {
+                            "version": "3.0.0",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "strip-ansi": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "ansi-regex": "^3.0.0"
+                            }
+                        }
+                    }
+                },
+                "strip-ansi": {
+                    "version": "3.0.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "ansi-regex": "^2.0.0"
+                    }
+                },
+                "strip-bom": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-utf8": "^0.2.0"
+                    }
+                },
+                "strip-eof": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "supports-color": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "test-exclude": {
+                    "version": "4.2.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "arrify": "^1.0.1",
+                        "micromatch": "^3.1.8",
+                        "object-assign": "^4.1.0",
+                        "read-pkg-up": "^1.0.1",
+                        "require-main-filename": "^1.0.1"
+                    },
+                    "dependencies": {
+                        "arr-diff": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "array-unique": {
+                            "version": "0.3.2",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "braces": {
+                            "version": "2.3.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "arr-flatten": "^1.1.0",
+                                "array-unique": "^0.3.2",
+                                "extend-shallow": "^2.0.1",
+                                "fill-range": "^4.0.0",
+                                "isobject": "^3.0.1",
+                                "repeat-element": "^1.1.2",
+                                "snapdragon": "^0.8.1",
+                                "snapdragon-node": "^2.0.1",
+                                "split-string": "^3.0.2",
+                                "to-regex": "^3.0.1"
+                            },
+                            "dependencies": {
+                                "extend-shallow": {
+                                    "version": "2.0.1",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-extendable": "^0.1.0"
+                                    }
+                                }
+                            }
+                        },
+                        "expand-brackets": {
+                            "version": "2.1.4",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "debug": "^2.3.3",
+                                "define-property": "^0.2.5",
+                                "extend-shallow": "^2.0.1",
+                                "posix-character-classes": "^0.1.0",
+                                "regex-not": "^1.0.0",
+                                "snapdragon": "^0.8.1",
+                                "to-regex": "^3.0.1"
+                            },
+                            "dependencies": {
+                                "define-property": {
+                                    "version": "0.2.5",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-descriptor": "^0.1.0"
+                                    }
+                                },
+                                "extend-shallow": {
+                                    "version": "2.0.1",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-extendable": "^0.1.0"
+                                    }
+                                },
+                                "is-accessor-descriptor": {
+                                    "version": "0.1.6",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "kind-of": "^3.0.2"
+                                    },
+                                    "dependencies": {
+                                        "kind-of": {
+                                            "version": "3.2.2",
+                                            "bundled": true,
+                                            "dev": true,
+                                            "requires": {
+                                                "is-buffer": "^1.1.5"
+                                            }
+                                        }
+                                    }
+                                },
+                                "is-data-descriptor": {
+                                    "version": "0.1.4",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "kind-of": "^3.0.2"
+                                    },
+                                    "dependencies": {
+                                        "kind-of": {
+                                            "version": "3.2.2",
+                                            "bundled": true,
+                                            "dev": true,
+                                            "requires": {
+                                                "is-buffer": "^1.1.5"
+                                            }
+                                        }
+                                    }
+                                },
+                                "is-descriptor": {
+                                    "version": "0.1.6",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-accessor-descriptor": "^0.1.6",
+                                        "is-data-descriptor": "^0.1.4",
+                                        "kind-of": "^5.0.0"
+                                    }
+                                },
+                                "kind-of": {
+                                    "version": "5.1.0",
+                                    "bundled": true,
+                                    "dev": true
+                                }
+                            }
+                        },
+                        "extglob": {
+                            "version": "2.0.4",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "array-unique": "^0.3.2",
+                                "define-property": "^1.0.0",
+                                "expand-brackets": "^2.1.4",
+                                "extend-shallow": "^2.0.1",
+                                "fragment-cache": "^0.2.1",
+                                "regex-not": "^1.0.0",
+                                "snapdragon": "^0.8.1",
+                                "to-regex": "^3.0.1"
+                            },
+                            "dependencies": {
+                                "define-property": {
+                                    "version": "1.0.0",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-descriptor": "^1.0.0"
+                                    }
+                                },
+                                "extend-shallow": {
+                                    "version": "2.0.1",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-extendable": "^0.1.0"
+                                    }
+                                }
+                            }
+                        },
+                        "fill-range": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "extend-shallow": "^2.0.1",
+                                "is-number": "^3.0.0",
+                                "repeat-string": "^1.6.1",
+                                "to-regex-range": "^2.1.0"
+                            },
+                            "dependencies": {
+                                "extend-shallow": {
+                                    "version": "2.0.1",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-extendable": "^0.1.0"
+                                    }
+                                }
+                            }
+                        },
+                        "is-accessor-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-data-descriptor": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^6.0.0"
+                            }
+                        },
+                        "is-descriptor": {
+                            "version": "1.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-accessor-descriptor": "^1.0.0",
+                                "is-data-descriptor": "^1.0.0",
+                                "kind-of": "^6.0.2"
+                            }
+                        },
+                        "is-number": {
+                            "version": "3.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^3.0.2"
+                            },
+                            "dependencies": {
+                                "kind-of": {
+                                    "version": "3.2.2",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "is-buffer": "^1.1.5"
+                                    }
+                                }
+                            }
+                        },
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "micromatch": {
+                            "version": "3.1.10",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "arr-diff": "^4.0.0",
+                                "array-unique": "^0.3.2",
+                                "braces": "^2.3.1",
+                                "define-property": "^2.0.2",
+                                "extend-shallow": "^3.0.2",
+                                "extglob": "^2.0.4",
+                                "fragment-cache": "^0.2.1",
+                                "kind-of": "^6.0.2",
+                                "nanomatch": "^1.2.9",
+                                "object.pick": "^1.3.0",
+                                "regex-not": "^1.0.0",
+                                "snapdragon": "^0.8.1",
+                                "to-regex": "^3.0.2"
+                            }
+                        }
+                    }
+                },
+                "to-fast-properties": {
+                    "version": "1.0.3",
+                    "bundled": true,
+                    "dev": true
+                },
+                "to-object-path": {
+                    "version": "0.3.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^3.0.2"
+                    }
+                },
+                "to-regex": {
+                    "version": "3.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "define-property": "^2.0.2",
+                        "extend-shallow": "^3.0.2",
+                        "regex-not": "^1.0.2",
+                        "safe-regex": "^1.1.0"
+                    }
+                },
+                "to-regex-range": {
+                    "version": "2.1.1",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "is-number": "^3.0.0",
+                        "repeat-string": "^1.6.1"
+                    },
+                    "dependencies": {
+                        "is-number": {
+                            "version": "3.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "kind-of": "^3.0.2"
+                            }
+                        }
+                    }
+                },
+                "trim-right": {
+                    "version": "1.0.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "uglify-js": {
+                    "version": "2.8.29",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true,
+                    "requires": {
+                        "source-map": "~0.5.1",
+                        "uglify-to-browserify": "~1.0.0",
+                        "yargs": "~3.10.0"
+                    },
+                    "dependencies": {
+                        "yargs": {
+                            "version": "3.10.0",
+                            "bundled": true,
+                            "dev": true,
+                            "optional": true,
+                            "requires": {
+                                "camelcase": "^1.0.2",
+                                "cliui": "^2.1.0",
+                                "decamelize": "^1.0.0",
+                                "window-size": "0.1.0"
+                            }
+                        }
+                    }
+                },
+                "uglify-to-browserify": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "union-value": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "arr-union": "^3.1.0",
+                        "get-value": "^2.0.6",
+                        "is-extendable": "^0.1.1",
+                        "set-value": "^0.4.3"
+                    },
+                    "dependencies": {
+                        "extend-shallow": {
+                            "version": "2.0.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "is-extendable": "^0.1.0"
+                            }
+                        },
+                        "set-value": {
+                            "version": "0.4.3",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "extend-shallow": "^2.0.1",
+                                "is-extendable": "^0.1.1",
+                                "is-plain-object": "^2.0.1",
+                                "to-object-path": "^0.3.0"
+                            }
+                        }
+                    }
+                },
+                "unset-value": {
+                    "version": "1.0.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "has-value": "^0.3.1",
+                        "isobject": "^3.0.0"
+                    },
+                    "dependencies": {
+                        "has-value": {
+                            "version": "0.3.1",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "get-value": "^2.0.3",
+                                "has-values": "^0.1.4",
+                                "isobject": "^2.0.0"
+                            },
+                            "dependencies": {
+                                "isobject": {
+                                    "version": "2.1.0",
+                                    "bundled": true,
+                                    "dev": true,
+                                    "requires": {
+                                        "isarray": "1.0.0"
+                                    }
+                                }
+                            }
+                        },
+                        "has-values": {
+                            "version": "0.1.4",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "isobject": {
+                            "version": "3.0.1",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "urix": {
+                    "version": "0.1.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "use": {
+                    "version": "3.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.2"
+                    },
+                    "dependencies": {
+                        "kind-of": {
+                            "version": "6.0.2",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                },
+                "validate-npm-package-license": {
+                    "version": "3.0.3",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "spdx-correct": "^3.0.0",
+                        "spdx-expression-parse": "^3.0.0"
+                    }
+                },
+                "which": {
+                    "version": "1.3.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                },
+                "which-module": {
+                    "version": "2.0.0",
+                    "bundled": true,
+                    "dev": true
+                },
+                "window-size": {
+                    "version": "0.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "optional": true
+                },
+                "wordwrap": {
+                    "version": "0.0.3",
+                    "bundled": true,
+                    "dev": true
+                },
+                "wrap-ansi": {
+                    "version": "2.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "string-width": "^1.0.1",
+                        "strip-ansi": "^3.0.1"
+                    },
+                    "dependencies": {
+                        "is-fullwidth-code-point": {
+                            "version": "1.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "number-is-nan": "^1.0.0"
+                            }
+                        },
+                        "string-width": {
+                            "version": "1.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "code-point-at": "^1.0.0",
+                                "is-fullwidth-code-point": "^1.0.0",
+                                "strip-ansi": "^3.0.0"
+                            }
+                        }
+                    }
+                },
+                "wrappy": {
+                    "version": "1.0.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "write-file-atomic": {
+                    "version": "1.3.4",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^4.1.11",
+                        "imurmurhash": "^0.1.4",
+                        "slide": "^1.1.5"
+                    }
+                },
+                "y18n": {
+                    "version": "3.2.1",
+                    "bundled": true,
+                    "dev": true
+                },
+                "yallist": {
+                    "version": "2.1.2",
+                    "bundled": true,
+                    "dev": true
+                },
+                "yargs": {
+                    "version": "11.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "cliui": "^4.0.0",
+                        "decamelize": "^1.1.1",
+                        "find-up": "^2.1.0",
+                        "get-caller-file": "^1.0.1",
+                        "os-locale": "^2.0.0",
+                        "require-directory": "^2.1.1",
+                        "require-main-filename": "^1.0.1",
+                        "set-blocking": "^2.0.0",
+                        "string-width": "^2.0.0",
+                        "which-module": "^2.0.0",
+                        "y18n": "^3.2.1",
+                        "yargs-parser": "^9.0.2"
+                    },
+                    "dependencies": {
+                        "ansi-regex": {
+                            "version": "3.0.0",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "camelcase": {
+                            "version": "4.1.0",
+                            "bundled": true,
+                            "dev": true
+                        },
+                        "cliui": {
+                            "version": "4.1.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "string-width": "^2.1.1",
+                                "strip-ansi": "^4.0.0",
+                                "wrap-ansi": "^2.0.0"
+                            }
+                        },
+                        "strip-ansi": {
+                            "version": "4.0.0",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "ansi-regex": "^3.0.0"
+                            }
+                        },
+                        "yargs-parser": {
+                            "version": "9.0.2",
+                            "bundled": true,
+                            "dev": true,
+                            "requires": {
+                                "camelcase": "^4.1.0"
+                            }
+                        }
+                    }
+                },
+                "yargs-parser": {
+                    "version": "8.1.0",
+                    "bundled": true,
+                    "dev": true,
+                    "requires": {
+                        "camelcase": "^4.1.0"
+                    },
+                    "dependencies": {
+                        "camelcase": {
+                            "version": "4.1.0",
+                            "bundled": true,
+                            "dev": true
+                        }
+                    }
+                }
+            }
+        },
+        "object-assign": {
+            "version": "4.1.1",
+            "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+            "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
+            "dev": true
+        },
+        "object-component": {
+            "version": "0.0.3",
+            "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz",
+            "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=",
+            "dev": true
+        },
+        "object-copy": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz",
+            "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=",
+            "dev": true,
+            "requires": {
+                "copy-descriptor": "^0.1.0",
+                "define-property": "^0.2.5",
+                "kind-of": "^3.0.3"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "object-visit": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz",
+            "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=",
+            "dev": true,
+            "requires": {
+                "isobject": "^3.0.0"
+            }
+        },
+        "object.defaults": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/object.defaults/-/object.defaults-1.1.0.tgz",
+            "integrity": "sha1-On+GgzS0B96gbaFtiNXNKeQ1/s8=",
+            "dev": true,
+            "requires": {
+                "array-each": "^1.0.1",
+                "array-slice": "^1.0.0",
+                "for-own": "^1.0.0",
+                "isobject": "^3.0.0"
+            }
+        },
+        "object.map": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/object.map/-/object.map-1.0.1.tgz",
+            "integrity": "sha1-z4Plncj8wK1fQlDh94s7gb2AHTc=",
+            "dev": true,
+            "requires": {
+                "for-own": "^1.0.0",
+                "make-iterator": "^1.0.0"
+            }
+        },
+        "object.pick": {
+            "version": "1.3.0",
+            "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+            "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=",
+            "dev": true,
+            "requires": {
+                "isobject": "^3.0.1"
+            }
+        },
+        "on-finished": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
+            "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
+            "dev": true,
+            "requires": {
+                "ee-first": "1.1.1"
+            }
+        },
+        "once": {
+            "version": "1.4.0",
+            "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+            "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+            "dev": true,
+            "requires": {
+                "wrappy": "1"
+            }
+        },
+        "optimist": {
+            "version": "0.6.1",
+            "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
+            "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=",
+            "dev": true,
+            "requires": {
+                "minimist": "~0.0.1",
+                "wordwrap": "~0.0.2"
+            },
+            "dependencies": {
+                "minimist": {
+                    "version": "0.0.10",
+                    "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+                    "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+                    "dev": true
+                },
+                "wordwrap": {
+                    "version": "0.0.3",
+                    "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
+                    "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=",
+                    "dev": true
+                }
+            }
+        },
+        "optionator": {
+            "version": "0.8.2",
+            "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.2.tgz",
+            "integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "deep-is": "~0.1.3",
+                "fast-levenshtein": "~2.0.4",
+                "levn": "~0.3.0",
+                "prelude-ls": "~1.1.2",
+                "type-check": "~0.3.2",
+                "wordwrap": "~1.0.0"
+            }
+        },
+        "os-homedir": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
+            "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=",
+            "dev": true
+        },
+        "os-tmpdir": {
+            "version": "1.0.2",
+            "resolved": "http://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
+            "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=",
+            "dev": true
+        },
+        "osenv": {
+            "version": "0.1.5",
+            "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz",
+            "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==",
+            "dev": true,
+            "requires": {
+                "os-homedir": "^1.0.0",
+                "os-tmpdir": "^1.0.0"
+            }
+        },
+        "p-finally": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
+            "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
+            "dev": true
+        },
+        "pako": {
+            "version": "1.0.7",
+            "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.7.tgz",
+            "integrity": "sha512-3HNK5tW4x8o5mO8RuHZp3Ydw9icZXx0RANAOMzlMzx7LVXhMJ4mo3MOBpzyd7r/+RUu8BmndP47LXT+vzjtWcQ==",
+            "dev": true
+        },
+        "parse-filepath": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/parse-filepath/-/parse-filepath-1.0.2.tgz",
+            "integrity": "sha1-pjISf1Oq89FYdvWHLz/6x2PWyJE=",
+            "dev": true,
+            "requires": {
+                "is-absolute": "^1.0.0",
+                "map-cache": "^0.2.0",
+                "path-root": "^0.1.1"
+            }
+        },
+        "parse-passwd": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz",
+            "integrity": "sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=",
+            "dev": true
+        },
+        "parseqs": {
+            "version": "0.0.5",
+            "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz",
+            "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=",
+            "dev": true,
+            "requires": {
+                "better-assert": "~1.0.0"
+            }
+        },
+        "parseuri": {
+            "version": "0.0.5",
+            "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz",
+            "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=",
+            "dev": true,
+            "requires": {
+                "better-assert": "~1.0.0"
+            }
+        },
+        "parseurl": {
+            "version": "1.3.2",
+            "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz",
+            "integrity": "sha1-/CidTtiZMRlGDBViUyYs3I3mW/M=",
+            "dev": true
+        },
+        "pascalcase": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz",
+            "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=",
+            "dev": true
+        },
+        "path-dirname": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz",
+            "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=",
+            "dev": true
+        },
+        "path-exists": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz",
+            "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=",
+            "dev": true,
+            "requires": {
+                "pinkie-promise": "^2.0.0"
+            }
+        },
+        "path-is-absolute": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+            "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+            "dev": true
+        },
+        "path-key": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
+            "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
+            "dev": true
+        },
+        "path-parse": {
+            "version": "1.0.6",
+            "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
+            "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==",
+            "dev": true
+        },
+        "path-root": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/path-root/-/path-root-0.1.1.tgz",
+            "integrity": "sha1-mkpoFMrBwM1zNgqV8yCDyOpHRbc=",
+            "dev": true,
+            "requires": {
+                "path-root-regex": "^0.1.0"
+            }
+        },
+        "path-root-regex": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/path-root-regex/-/path-root-regex-0.1.2.tgz",
+            "integrity": "sha1-v8zcjfWxLcUsi0PsONGNcsBLqW0=",
+            "dev": true
+        },
+        "pathval": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/pathval/-/pathval-0.1.1.tgz",
+            "integrity": "sha1-CPkRzcqczllCiA2ngXvAtyO2bYI=",
+            "dev": true
+        },
+        "pend": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+            "integrity": "sha1-elfrVQpng/kRUzH89GY9XI4AelA=",
+            "dev": true
+        },
+        "performance-now": {
+            "version": "2.1.0",
+            "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
+            "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=",
+            "dev": true
+        },
+        "phantomjs-prebuilt": {
+            "version": "2.1.16",
+            "resolved": "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz",
+            "integrity": "sha1-79ISpKOWbTZHaE6ouniFSb4q7+8=",
+            "dev": true,
+            "requires": {
+                "es6-promise": "^4.0.3",
+                "extract-zip": "^1.6.5",
+                "fs-extra": "^1.0.0",
+                "hasha": "^2.2.0",
+                "kew": "^0.7.0",
+                "progress": "^1.1.8",
+                "request": "^2.81.0",
+                "request-progress": "^2.0.1",
+                "which": "^1.2.10"
+            },
+            "dependencies": {
+                "which": {
+                    "version": "1.3.1",
+                    "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
+                    "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^2.0.0"
+                    }
+                }
+            }
+        },
+        "pinkie": {
+            "version": "2.0.4",
+            "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz",
+            "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=",
+            "dev": true
+        },
+        "pinkie-promise": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz",
+            "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=",
+            "dev": true,
+            "requires": {
+                "pinkie": "^2.0.0"
+            }
+        },
+        "pkg-up": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-1.0.0.tgz",
+            "integrity": "sha1-Pgj7RhUlxEIWJKM7n35tCvWwWiY=",
+            "dev": true,
+            "requires": {
+                "find-up": "^1.0.0"
+            }
+        },
+        "pkginfo": {
+            "version": "0.4.1",
+            "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.1.tgz",
+            "integrity": "sha1-tUGO8EOd5UJfxJlQQtztFPsqhP8=",
+            "dev": true
+        },
+        "platform": {
+            "version": "1.3.5",
+            "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.5.tgz",
+            "integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==",
+            "dev": true
+        },
+        "posix-character-classes": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz",
+            "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=",
+            "dev": true
+        },
+        "prelude-ls": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+            "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
+            "dev": true
+        },
+        "pretty-bytes": {
+            "version": "3.0.1",
+            "resolved": "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-3.0.1.tgz",
+            "integrity": "sha1-J9AAjXeAY6C0gRuzXHnxvV1fvM8=",
+            "dev": true,
+            "requires": {
+                "number-is-nan": "^1.0.0"
+            }
+        },
+        "process-nextick-args": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz",
+            "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==",
+            "dev": true
+        },
+        "progress": {
+            "version": "1.1.8",
+            "resolved": "http://registry.npmjs.org/progress/-/progress-1.1.8.tgz",
+            "integrity": "sha1-4mDHj2Fhzdmw5WzD4Khd4Xx6V74=",
+            "dev": true
+        },
+        "prompt": {
+            "version": "0.2.14",
+            "resolved": "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz",
+            "integrity": "sha1-V3VPZPVD/XsIRXB8gY7OYY8F/9w=",
+            "dev": true,
+            "requires": {
+                "pkginfo": "0.x.x",
+                "read": "1.0.x",
+                "revalidator": "0.1.x",
+                "utile": "0.2.x",
+                "winston": "0.8.x"
+            }
+        },
+        "pseudomap": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
+            "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=",
+            "dev": true
+        },
+        "psext": {
+            "version": "0.0.4",
+            "resolved": "https://registry.npmjs.org/psext/-/psext-0.0.4.tgz",
+            "integrity": "sha1-jVdtcNUId/YfTqFjQnVobgIprzo=",
+            "dev": true,
+            "requires": {
+                "table-parser": "0.0.3"
+            }
+        },
+        "psl": {
+            "version": "1.1.29",
+            "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.29.tgz",
+            "integrity": "sha512-AeUmQ0oLN02flVHXWh9sSJF7mcdFq0ppid/JkErufc3hGIV/AMa8Fo9VgDo/cT2jFdOWoFvHp90qqBH54W+gjQ==",
+            "dev": true
+        },
+        "pump": {
+            "version": "3.0.0",
+            "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+            "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+            "dev": true,
+            "requires": {
+                "end-of-stream": "^1.1.0",
+                "once": "^1.3.1"
+            }
+        },
+        "punycode": {
+            "version": "1.4.1",
+            "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+            "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
+            "dev": true
+        },
+        "qjobs": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz",
+            "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==",
+            "dev": true
+        },
+        "qs": {
+            "version": "6.5.2",
+            "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+            "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+            "dev": true
+        },
+        "qunit": {
+            "version": "2.7.1",
+            "resolved": "https://registry.npmjs.org/qunit/-/qunit-2.7.1.tgz",
+            "integrity": "sha512-ePeNs/CVL8coOWxnjxQAp9mCvRJybEQw3rwJe1TUClL+WrIcaZkLeW7VxHWtshn0L0ZtY0y80JqC7+po7330Ng==",
+            "dev": true,
+            "requires": {
+                "commander": "2.12.2",
+                "exists-stat": "1.0.0",
+                "findup-sync": "2.0.0",
+                "js-reporters": "1.2.1",
+                "resolve": "1.5.0",
+                "sane": "^4.0.0",
+                "walk-sync": "0.3.2"
+            },
+            "dependencies": {
+                "commander": {
+                    "version": "2.12.2",
+                    "resolved": "https://registry.npmjs.org/commander/-/commander-2.12.2.tgz",
+                    "integrity": "sha512-BFnaq5ZOGcDN7FlrtBT4xxkgIToalIIxwjxLWVJ8bGTpe1LroqMiqQXdA7ygc7CRvaYS+9zfPGFnJqFSayx+AA==",
+                    "dev": true
+                },
+                "findup-sync": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/findup-sync/-/findup-sync-2.0.0.tgz",
+                    "integrity": "sha1-kyaxSIwi0aYIhlCoaQGy2akKLLw=",
+                    "dev": true,
+                    "requires": {
+                        "detect-file": "^1.0.0",
+                        "is-glob": "^3.1.0",
+                        "micromatch": "^3.0.4",
+                        "resolve-dir": "^1.0.1"
+                    }
+                },
+                "resolve": {
+                    "version": "1.5.0",
+                    "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
+                    "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
+                    "dev": true,
+                    "requires": {
+                        "path-parse": "^1.0.5"
+                    }
+                }
+            }
+        },
+        "qunitjs": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/qunitjs/-/qunitjs-2.1.1.tgz",
+            "integrity": "sha1-wwh8hk2alEMQO9vezA7zWceoIoE=",
+            "dev": true
+        },
+        "range-parser": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+            "integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4=",
+            "dev": true
+        },
+        "raw-body": {
+            "version": "1.1.7",
+            "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-1.1.7.tgz",
+            "integrity": "sha1-HQJ8K/oRasxmI7yo8AAWVyqH1CU=",
+            "dev": true,
+            "requires": {
+                "bytes": "1",
+                "string_decoder": "0.10"
+            }
+        },
+        "rc": {
+            "version": "0.5.1",
+            "resolved": "https://registry.npmjs.org/rc/-/rc-0.5.1.tgz",
+            "integrity": "sha1-uI75QhoIFRNSplngw6WMS4LrdXY=",
+            "dev": true,
+            "requires": {
+                "deep-extend": "~0.2.5",
+                "ini": "~1.1.0",
+                "minimist": "~0.0.7",
+                "strip-json-comments": "0.1.x"
+            },
+            "dependencies": {
+                "ini": {
+                    "version": "1.1.0",
+                    "resolved": "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz",
+                    "integrity": "sha1-ToCMLOFExsF4iRjgNNZ5e8bPYoE=",
+                    "dev": true
+                },
+                "minimist": {
+                    "version": "0.0.10",
+                    "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz",
+                    "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=",
+                    "dev": true
+                },
+                "strip-json-comments": {
+                    "version": "0.1.3",
+                    "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz",
+                    "integrity": "sha1-Fkxk43Coo8wAyeAbU55WmCPw7lQ=",
+                    "dev": true
+                }
+            }
+        },
+        "read": {
+            "version": "1.0.7",
+            "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
+            "integrity": "sha1-s9oZvQUkMal2cdRKQmNK33ELQMQ=",
+            "dev": true,
+            "requires": {
+                "mute-stream": "~0.0.4"
+            }
+        },
+        "readable-stream": {
+            "version": "1.1.14",
+            "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
+            "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=",
+            "dev": true,
+            "requires": {
+                "core-util-is": "~1.0.0",
+                "inherits": "~2.0.1",
+                "isarray": "0.0.1",
+                "string_decoder": "~0.10.x"
+            }
+        },
+        "readdirp": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz",
+            "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==",
+            "dev": true,
+            "requires": {
+                "graceful-fs": "^4.1.11",
+                "micromatch": "^3.1.10",
+                "readable-stream": "^2.0.2"
+            },
+            "dependencies": {
+                "graceful-fs": {
+                    "version": "4.1.15",
+                    "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.15.tgz",
+                    "integrity": "sha512-6uHUhOPEBgQ24HM+r6b/QwWfZq+yiFcipKFrOFiBEnWdy5sdzYoi+pJeQaPI5qOLRFqWmAXUPQNsielzdLoecA==",
+                    "dev": true
+                },
+                "isarray": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "2.3.6",
+                    "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+                    "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+                    "dev": true,
+                    "requires": {
+                        "core-util-is": "~1.0.0",
+                        "inherits": "~2.0.3",
+                        "isarray": "~1.0.0",
+                        "process-nextick-args": "~2.0.0",
+                        "safe-buffer": "~5.1.1",
+                        "string_decoder": "~1.1.1",
+                        "util-deprecate": "~1.0.1"
+                    }
+                },
+                "string_decoder": {
+                    "version": "1.1.1",
+                    "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+                    "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+                    "dev": true,
+                    "requires": {
+                        "safe-buffer": "~5.1.0"
+                    }
+                }
+            }
+        },
+        "rechoir": {
+            "version": "0.6.2",
+            "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+            "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+            "dev": true,
+            "requires": {
+                "resolve": "^1.1.6"
+            }
+        },
+        "regenerator-runtime": {
+            "version": "0.11.1",
+            "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
+            "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
+            "dev": true
+        },
+        "regex-not": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
+            "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^3.0.2",
+                "safe-regex": "^1.1.0"
+            }
+        },
+        "remove-trailing-separator": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz",
+            "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=",
+            "dev": true
+        },
+        "repeat-element": {
+            "version": "1.1.3",
+            "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz",
+            "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==",
+            "dev": true
+        },
+        "repeat-string": {
+            "version": "1.6.1",
+            "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+            "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=",
+            "dev": true
+        },
+        "request": {
+            "version": "2.88.0",
+            "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz",
+            "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==",
+            "dev": true,
+            "requires": {
+                "aws-sign2": "~0.7.0",
+                "aws4": "^1.8.0",
+                "caseless": "~0.12.0",
+                "combined-stream": "~1.0.6",
+                "extend": "~3.0.2",
+                "forever-agent": "~0.6.1",
+                "form-data": "~2.3.2",
+                "har-validator": "~5.1.0",
+                "http-signature": "~1.2.0",
+                "is-typedarray": "~1.0.0",
+                "isstream": "~0.1.2",
+                "json-stringify-safe": "~5.0.1",
+                "mime-types": "~2.1.19",
+                "oauth-sign": "~0.9.0",
+                "performance-now": "^2.1.0",
+                "qs": "~6.5.2",
+                "safe-buffer": "^5.1.2",
+                "tough-cookie": "~2.4.3",
+                "tunnel-agent": "^0.6.0",
+                "uuid": "^3.3.2"
+            },
+            "dependencies": {
+                "aws4": {
+                    "version": "1.8.0",
+                    "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz",
+                    "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==",
+                    "dev": true
+                },
+                "extend": {
+                    "version": "3.0.2",
+                    "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+                    "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==",
+                    "dev": true
+                },
+                "mime-db": {
+                    "version": "1.37.0",
+                    "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz",
+                    "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==",
+                    "dev": true
+                },
+                "mime-types": {
+                    "version": "2.1.21",
+                    "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz",
+                    "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==",
+                    "dev": true,
+                    "requires": {
+                        "mime-db": "~1.37.0"
+                    }
+                },
+                "oauth-sign": {
+                    "version": "0.9.0",
+                    "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
+                    "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==",
+                    "dev": true
+                },
+                "tough-cookie": {
+                    "version": "2.4.3",
+                    "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz",
+                    "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==",
+                    "dev": true,
+                    "requires": {
+                        "psl": "^1.1.24",
+                        "punycode": "^1.4.1"
+                    }
+                },
+                "uuid": {
+                    "version": "3.3.2",
+                    "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz",
+                    "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==",
+                    "dev": true
+                }
+            }
+        },
+        "request-progress": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz",
+            "integrity": "sha1-XTa7V5YcZzqlt4jbyBQf3yO0Tgg=",
+            "dev": true,
+            "requires": {
+                "throttleit": "^1.0.0"
+            }
+        },
+        "requires-port": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+            "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=",
+            "dev": true
+        },
+        "reserved-words": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/reserved-words/-/reserved-words-0.1.2.tgz",
+            "integrity": "sha1-AKCUD5jNUBrqqsMWQR2a3FKzGrE=",
+            "dev": true
+        },
+        "resolve": {
+            "version": "1.1.7",
+            "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
+            "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
+            "dev": true
+        },
+        "resolve-dir": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-1.0.1.tgz",
+            "integrity": "sha1-eaQGRMNivoLybv/nOcm7U4IEb0M=",
+            "dev": true,
+            "requires": {
+                "expand-tilde": "^2.0.0",
+                "global-modules": "^1.0.0"
+            }
+        },
+        "resolve-from": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz",
+            "integrity": "sha1-lICrIOlP+h2egKgEx+oUdhGWa1c=",
+            "dev": true
+        },
+        "resolve-pkg": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/resolve-pkg/-/resolve-pkg-0.1.0.tgz",
+            "integrity": "sha1-AsyZNBDik2livZcWahsHfalyVTE=",
+            "dev": true,
+            "requires": {
+                "resolve-from": "^2.0.0"
+            }
+        },
+        "resolve-url": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
+            "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=",
+            "dev": true
+        },
+        "ret": {
+            "version": "0.1.15",
+            "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz",
+            "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==",
+            "dev": true
+        },
+        "revalidator": {
+            "version": "0.1.8",
+            "resolved": "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz",
+            "integrity": "sha1-/s5hv6DBtSoga9axgZgYS91SOjs=",
+            "dev": true
+        },
+        "rfdc": {
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.2.tgz",
+            "integrity": "sha512-92ktAgvZhBzYTIK0Mja9uen5q5J3NRVMoDkJL2VMwq6SXjVCgqvQeVP2XAaUY6HT+XpQYeLSjb3UoitBryKmdA==",
+            "dev": true
+        },
+        "right-align": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz",
+            "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=",
+            "dev": true,
+            "optional": true,
+            "requires": {
+                "align-text": "^0.1.1"
+            }
+        },
+        "rimraf": {
+            "version": "2.2.8",
+            "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz",
+            "integrity": "sha1-5Dm+Kq7jJzIZUnMPmaiSnk/FBYI=",
+            "dev": true
+        },
+        "rollup": {
+            "version": "0.67.4",
+            "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.67.4.tgz",
+            "integrity": "sha512-AVuP73mkb4BBMUmksQ3Jw0jTrBTU1i7rLiUYjFxLZGb3xiFmtVEg40oByphkZAsiL0bJC3hRAJUQos/e5EBd+w==",
+            "dev": true,
+            "requires": {
+                "@types/estree": "0.0.39",
+                "@types/node": "*"
+            }
+        },
+        "rsvp": {
+            "version": "3.6.2",
+            "resolved": "https://registry.npmjs.org/rsvp/-/rsvp-3.6.2.tgz",
+            "integrity": "sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==",
+            "dev": true
+        },
+        "safe-buffer": {
+            "version": "5.1.2",
+            "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+            "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+            "dev": true
+        },
+        "safe-json-parse": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/safe-json-parse/-/safe-json-parse-1.0.1.tgz",
+            "integrity": "sha1-PnZyPjjf3aE8mx0poeB//uSzC1c=",
+            "dev": true
+        },
+        "safe-regex": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz",
+            "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=",
+            "dev": true,
+            "requires": {
+                "ret": "~0.1.10"
+            }
+        },
+        "safer-buffer": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+            "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
+            "dev": true
+        },
+        "sane": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npmjs.org/sane/-/sane-4.0.2.tgz",
+            "integrity": "sha512-/3STCUfNSgMVpoREJc1i6ajKFlYZ5OflzZTOhlqPLa+01Ey+QR9iGZK7K5/qIRsQbEDCvqEJH/PL7yZywmnWsA==",
+            "dev": true,
+            "requires": {
+                "anymatch": "^2.0.0",
+                "capture-exit": "^1.2.0",
+                "exec-sh": "^0.3.2",
+                "execa": "^1.0.0",
+                "fb-watchman": "^2.0.0",
+                "micromatch": "^3.1.4",
+                "minimist": "^1.1.1",
+                "walker": "~1.0.5",
+                "watch": "~0.18.0"
+            }
+        },
+        "sauce-connect-launcher": {
+            "version": "1.2.4",
+            "resolved": "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-1.2.4.tgz",
+            "integrity": "sha512-X2vfwulR6brUGiicXKxPm1GJ7dBEeP1II450Uv4bHGrcGOapZNgzJvn9aioea5IC5BPp/7qjKdE3xbbTBIVXMA==",
+            "dev": true,
+            "requires": {
+                "adm-zip": "~0.4.3",
+                "async": "^2.1.2",
+                "https-proxy-agent": "^2.2.1",
+                "lodash": "^4.16.6",
+                "rimraf": "^2.5.4"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "2.6.1",
+                    "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz",
+                    "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==",
+                    "dev": true,
+                    "requires": {
+                        "lodash": "^4.17.10"
+                    }
+                },
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "rimraf": {
+                    "version": "2.6.2",
+                    "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+                    "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+                    "dev": true,
+                    "requires": {
+                        "glob": "^7.0.5"
+                    }
+                }
+            }
+        },
+        "saucelabs": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz",
+            "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==",
+            "dev": true,
+            "requires": {
+                "https-proxy-agent": "^2.2.1"
+            }
+        },
+        "sax": {
+            "version": "1.2.4",
+            "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+            "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+            "dev": true
+        },
+        "selenium-webdriver": {
+            "version": "4.0.0-alpha.1",
+            "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.0.0-alpha.1.tgz",
+            "integrity": "sha512-z88rdjHAv3jmTZ7KSGUkTvo4rGzcDGMq0oXWHNIDK96Gs31JKVdu9+FMtT4KBrVoibg8dUicJDok6GnqqttO5Q==",
+            "dev": true,
+            "requires": {
+                "jszip": "^3.1.3",
+                "rimraf": "^2.5.4",
+                "tmp": "0.0.30",
+                "xml2js": "^0.4.17"
+            },
+            "dependencies": {
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                },
+                "rimraf": {
+                    "version": "2.6.2",
+                    "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz",
+                    "integrity": "sha512-lreewLK/BlghmxtfH36YYVg1i8IAce4TI7oao75I1g245+6BctqTVQiBP3YUJ9C6DQOXJmkYR9X9fCLtCOJc5w==",
+                    "dev": true,
+                    "requires": {
+                        "glob": "^7.0.5"
+                    }
+                },
+                "tmp": {
+                    "version": "0.0.30",
+                    "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz",
+                    "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=",
+                    "dev": true,
+                    "requires": {
+                        "os-tmpdir": "~1.0.1"
+                    }
+                }
+            }
+        },
+        "semver": {
+            "version": "5.6.0",
+            "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz",
+            "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==",
+            "dev": true
+        },
+        "set-value": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz",
+            "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^2.0.1",
+                "is-extendable": "^0.1.1",
+                "is-plain-object": "^2.0.3",
+                "split-string": "^3.0.1"
+            },
+            "dependencies": {
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "setprototypeof": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
+            "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
+            "dev": true
+        },
+        "shebang-command": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
+            "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+            "dev": true,
+            "requires": {
+                "shebang-regex": "^1.0.0"
+            }
+        },
+        "shebang-regex": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
+            "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+            "dev": true
+        },
+        "shelljs": {
+            "version": "0.3.0",
+            "resolved": "http://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz",
+            "integrity": "sha1-NZbmMHp4FUT1kfN9phg2DzHbV7E=",
+            "dev": true
+        },
+        "sigmund": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz",
+            "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=",
+            "dev": true
+        },
+        "signal-exit": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz",
+            "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=",
+            "dev": true
+        },
+        "snapdragon": {
+            "version": "0.8.2",
+            "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
+            "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==",
+            "dev": true,
+            "requires": {
+                "base": "^0.11.1",
+                "debug": "^2.2.0",
+                "define-property": "^0.2.5",
+                "extend-shallow": "^2.0.1",
+                "map-cache": "^0.2.2",
+                "source-map": "^0.5.6",
+                "source-map-resolve": "^0.5.0",
+                "use": "^3.1.0"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "2.6.9",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+                    "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                },
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "snapdragon-node": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz",
+            "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==",
+            "dev": true,
+            "requires": {
+                "define-property": "^1.0.0",
+                "isobject": "^3.0.0",
+                "snapdragon-util": "^3.0.1"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz",
+                    "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^1.0.0"
+                    }
+                },
+                "is-accessor-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-data-descriptor": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz",
+                    "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==",
+                    "dev": true,
+                    "requires": {
+                        "kind-of": "^6.0.0"
+                    }
+                },
+                "is-descriptor": {
+                    "version": "1.0.2",
+                    "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz",
+                    "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==",
+                    "dev": true,
+                    "requires": {
+                        "is-accessor-descriptor": "^1.0.0",
+                        "is-data-descriptor": "^1.0.0",
+                        "kind-of": "^6.0.2"
+                    }
+                },
+                "kind-of": {
+                    "version": "6.0.2",
+                    "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz",
+                    "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==",
+                    "dev": true
+                }
+            }
+        },
+        "snapdragon-util": {
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz",
+            "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.2.0"
+            }
+        },
+        "socket.io": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz",
+            "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==",
+            "dev": true,
+            "requires": {
+                "debug": "~3.1.0",
+                "engine.io": "~3.2.0",
+                "has-binary2": "~1.0.2",
+                "socket.io-adapter": "~1.1.0",
+                "socket.io-client": "2.1.1",
+                "socket.io-parser": "~3.2.0"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "socket.io-adapter": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.1.tgz",
+            "integrity": "sha1-KoBeihTWNyEk3ZFZrUUC+MsH8Gs=",
+            "dev": true
+        },
+        "socket.io-client": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz",
+            "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==",
+            "dev": true,
+            "requires": {
+                "backo2": "1.0.2",
+                "base64-arraybuffer": "0.1.5",
+                "component-bind": "1.0.0",
+                "component-emitter": "1.2.1",
+                "debug": "~3.1.0",
+                "engine.io-client": "~3.2.0",
+                "has-binary2": "~1.0.2",
+                "has-cors": "1.1.0",
+                "indexof": "0.0.1",
+                "object-component": "0.0.3",
+                "parseqs": "0.0.5",
+                "parseuri": "0.0.5",
+                "socket.io-parser": "~3.2.0",
+                "to-array": "0.1.4"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "socket.io-parser": {
+            "version": "3.2.0",
+            "resolved": "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz",
+            "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==",
+            "dev": true,
+            "requires": {
+                "component-emitter": "1.2.1",
+                "debug": "~3.1.0",
+                "isarray": "2.0.1"
+            },
+            "dependencies": {
+                "debug": {
+                    "version": "3.1.0",
+                    "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
+                    "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
+                    "dev": true,
+                    "requires": {
+                        "ms": "2.0.0"
+                    }
+                },
+                "isarray": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz",
+                    "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=",
+                    "dev": true
+                },
+                "ms": {
+                    "version": "2.0.0",
+                    "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+                    "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+                    "dev": true
+                }
+            }
+        },
+        "source-map": {
+            "version": "0.5.7",
+            "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+            "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
+            "dev": true
+        },
+        "source-map-resolve": {
+            "version": "0.5.2",
+            "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
+            "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==",
+            "dev": true,
+            "requires": {
+                "atob": "^2.1.1",
+                "decode-uri-component": "^0.2.0",
+                "resolve-url": "^0.2.1",
+                "source-map-url": "^0.4.0",
+                "urix": "^0.1.0"
+            }
+        },
+        "source-map-support": {
+            "version": "0.4.18",
+            "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz",
+            "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==",
+            "dev": true,
+            "requires": {
+                "source-map": "^0.5.6"
+            }
+        },
+        "source-map-url": {
+            "version": "0.4.0",
+            "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz",
+            "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=",
+            "dev": true
+        },
+        "spacejam": {
+            "version": "1.6.1",
+            "resolved": "https://registry.npmjs.org/spacejam/-/spacejam-1.6.1.tgz",
+            "integrity": "sha1-1Nk5z/ImSTcMJe3kwbElV25zUBY=",
+            "dev": true,
+            "requires": {
+                "chai": "1.9.2",
+                "glob": "4.0.6",
+                "loglevel": "1.1.0",
+                "phantomjs-prebuilt": "^2.1.7",
+                "psext": "0.0.4",
+                "rc": "0.5.1",
+                "semver": "4.1.0",
+                "underscore": "1.7.0"
+            },
+            "dependencies": {
+                "glob": {
+                    "version": "4.0.6",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz",
+                    "integrity": "sha1-aVxQvdTi+1xdNwsJHziNNwfikac=",
+                    "dev": true,
+                    "requires": {
+                        "graceful-fs": "^3.0.2",
+                        "inherits": "2",
+                        "minimatch": "^1.0.0",
+                        "once": "^1.3.0"
+                    }
+                },
+                "graceful-fs": {
+                    "version": "3.0.11",
+                    "resolved": "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz",
+                    "integrity": "sha1-dhPHeKGv6mLyXGMKCG1/Osu92Bg=",
+                    "dev": true,
+                    "requires": {
+                        "natives": "^1.1.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
+                    "integrity": "sha1-4N0hILSeG3JM6NcUxSCCKpQ4V20=",
+                    "dev": true,
+                    "requires": {
+                        "lru-cache": "2",
+                        "sigmund": "~1.0.0"
+                    }
+                },
+                "semver": {
+                    "version": "4.1.0",
+                    "resolved": "http://registry.npmjs.org/semver/-/semver-4.1.0.tgz",
+                    "integrity": "sha1-vICp/2hTKBQ2LMPP2jx7de2cMhw=",
+                    "dev": true
+                }
+            }
+        },
+        "split-string": {
+            "version": "3.1.0",
+            "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz",
+            "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==",
+            "dev": true,
+            "requires": {
+                "extend-shallow": "^3.0.0"
+            }
+        },
+        "sprintf-js": {
+            "version": "1.0.3",
+            "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+            "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
+            "dev": true
+        },
+        "sshpk": {
+            "version": "1.14.1",
+            "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.14.1.tgz",
+            "integrity": "sha1-Ew9Zde3a2WPx1W+SuaxsUfqfg+s=",
+            "dev": true,
+            "requires": {
+                "asn1": "~0.2.3",
+                "assert-plus": "^1.0.0",
+                "bcrypt-pbkdf": "^1.0.0",
+                "dashdash": "^1.12.0",
+                "ecc-jsbn": "~0.1.1",
+                "getpass": "^0.1.1",
+                "jsbn": "~0.1.0",
+                "tweetnacl": "~0.14.0"
+            },
+            "dependencies": {
+                "assert-plus": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+                    "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+                    "dev": true
+                }
+            }
+        },
+        "stack-trace": {
+            "version": "0.0.10",
+            "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz",
+            "integrity": "sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=",
+            "dev": true
+        },
+        "static-extend": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz",
+            "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=",
+            "dev": true,
+            "requires": {
+                "define-property": "^0.2.5",
+                "object-copy": "^0.1.0"
+            },
+            "dependencies": {
+                "define-property": {
+                    "version": "0.2.5",
+                    "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz",
+                    "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=",
+                    "dev": true,
+                    "requires": {
+                        "is-descriptor": "^0.1.0"
+                    }
+                }
+            }
+        },
+        "statuses": {
+            "version": "1.5.0",
+            "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
+            "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
+            "dev": true
+        },
+        "streamroller": {
+            "version": "0.7.0",
+            "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-0.7.0.tgz",
+            "integrity": "sha512-WREzfy0r0zUqp3lGO096wRuUp7ho1X6uo/7DJfTlEi0Iv/4gT7YHqXDjKC2ioVGBZtE8QzsQD9nx1nIuoZ57jQ==",
+            "dev": true,
+            "requires": {
+                "date-format": "^1.2.0",
+                "debug": "^3.1.0",
+                "mkdirp": "^0.5.1",
+                "readable-stream": "^2.3.0"
+            },
+            "dependencies": {
+                "isarray": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+                    "dev": true
+                },
+                "readable-stream": {
+                    "version": "2.3.6",
+                    "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz",
+                    "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==",
+                    "dev": true,
+                    "requires": {
+                        "core-util-is": "~1.0.0",
+                        "inherits": "~2.0.3",
+                        "isarray": "~1.0.0",
+                        "process-nextick-args": "~2.0.0",
+                        "safe-buffer": "~5.1.1",
+                        "string_decoder": "~1.1.1",
+                        "util-deprecate": "~1.0.1"
+                    }
+                },
+                "string_decoder": {
+                    "version": "1.1.1",
+                    "resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+                    "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+                    "dev": true,
+                    "requires": {
+                        "safe-buffer": "~5.1.0"
+                    }
+                }
+            }
+        },
+        "string-template": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz",
+            "integrity": "sha1-QpMuWYo1LQH8IuwzZ9nYTuxsmt0=",
+            "dev": true
+        },
+        "string_decoder": {
+            "version": "0.10.31",
+            "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
+            "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
+            "dev": true
+        },
+        "strip-ansi": {
+            "version": "3.0.1",
+            "resolved": "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz",
+            "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=",
+            "dev": true,
+            "requires": {
+                "ansi-regex": "^2.0.0"
+            }
+        },
+        "strip-bom": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz",
+            "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=",
+            "dev": true,
+            "requires": {
+                "is-utf8": "^0.2.0"
+            }
+        },
+        "strip-eof": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
+            "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+            "dev": true
+        },
+        "strip-json-comments": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz",
+            "integrity": "sha1-HhX7ysl9Pumb8tc7TGVrCCu6+5E=",
+            "dev": true
+        },
+        "supports-color": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz",
+            "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=",
+            "dev": true
+        },
+        "table-parser": {
+            "version": "0.0.3",
+            "resolved": "https://registry.npmjs.org/table-parser/-/table-parser-0.0.3.tgz",
+            "integrity": "sha1-NWQEQ+3DJ/m3Y9Ma+bKsfdtftr0=",
+            "dev": true
+        },
+        "throttleit": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz",
+            "integrity": "sha1-nnhYNtr0Z0MUWlmEtiaNgoUorGw=",
+            "dev": true
+        },
+        "tiny-lr": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/tiny-lr/-/tiny-lr-1.1.1.tgz",
+            "integrity": "sha512-44yhA3tsaRoMOjQQ+5v5mVdqef+kH6Qze9jTpqtVufgYjYt08zyZAwNwwVBj3i1rJMnR52IxOW0LK0vBzgAkuA==",
+            "dev": true,
+            "requires": {
+                "body": "^5.1.0",
+                "debug": "^3.1.0",
+                "faye-websocket": "~0.10.0",
+                "livereload-js": "^2.3.0",
+                "object-assign": "^4.1.0",
+                "qs": "^6.4.0"
+            },
+            "dependencies": {
+                "qs": {
+                    "version": "6.5.2",
+                    "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz",
+                    "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==",
+                    "dev": true
+                }
+            }
+        },
+        "tmp": {
+            "version": "0.0.33",
+            "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz",
+            "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==",
+            "dev": true,
+            "requires": {
+                "os-tmpdir": "~1.0.2"
+            }
+        },
+        "tmpl": {
+            "version": "1.0.4",
+            "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.4.tgz",
+            "integrity": "sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE=",
+            "dev": true
+        },
+        "to-array": {
+            "version": "0.1.4",
+            "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz",
+            "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=",
+            "dev": true
+        },
+        "to-double-quotes": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/to-double-quotes/-/to-double-quotes-2.0.0.tgz",
+            "integrity": "sha1-qvIx1vqUiUn4GTAburRITYWI5Kc=",
+            "dev": true
+        },
+        "to-object-path": {
+            "version": "0.3.0",
+            "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+            "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=",
+            "dev": true,
+            "requires": {
+                "kind-of": "^3.0.2"
+            }
+        },
+        "to-regex": {
+            "version": "3.0.2",
+            "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz",
+            "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==",
+            "dev": true,
+            "requires": {
+                "define-property": "^2.0.2",
+                "extend-shallow": "^3.0.2",
+                "regex-not": "^1.0.2",
+                "safe-regex": "^1.1.0"
+            }
+        },
+        "to-regex-range": {
+            "version": "2.1.1",
+            "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz",
+            "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=",
+            "dev": true,
+            "requires": {
+                "is-number": "^3.0.0",
+                "repeat-string": "^1.6.1"
+            }
+        },
+        "to-single-quotes": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/to-single-quotes/-/to-single-quotes-2.0.1.tgz",
+            "integrity": "sha1-fMKRUfD18sQZRvEZ9ZMv5VQXASU=",
+            "dev": true
+        },
+        "tracejs": {
+            "version": "0.1.8",
+            "resolved": "https://registry.npmjs.org/tracejs/-/tracejs-0.1.8.tgz",
+            "integrity": "sha1-bCZ4exhT8TcWNGIsHIC8RAJsXXA=",
+            "dev": true
+        },
+        "tunnel-agent": {
+            "version": "0.6.0",
+            "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+            "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
+            "dev": true,
+            "requires": {
+                "safe-buffer": "^5.0.1"
+            }
+        },
+        "tweetnacl": {
+            "version": "0.14.5",
+            "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
+            "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
+            "dev": true,
+            "optional": true
+        },
+        "type-check": {
+            "version": "0.3.2",
+            "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+            "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
+            "dev": true,
+            "requires": {
+                "prelude-ls": "~1.1.2"
+            }
+        },
+        "type-detect": {
+            "version": "0.1.1",
+            "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz",
+            "integrity": "sha1-C6XsKohWQORw6k6FBZcZANrFiCI=",
+            "dev": true
+        },
+        "type-is": {
+            "version": "1.6.16",
+            "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz",
+            "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==",
+            "dev": true,
+            "requires": {
+                "media-typer": "0.3.0",
+                "mime-types": "~2.1.18"
+            }
+        },
+        "typedarray": {
+            "version": "0.0.6",
+            "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+            "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
+            "dev": true
+        },
+        "typescript": {
+            "version": "1.8.10",
+            "resolved": "https://registry.npmjs.org/typescript/-/typescript-1.8.10.tgz",
+            "integrity": "sha1-tHXW4N/wv1DyluXKbvn7tccyDx4=",
+            "dev": true
+        },
+        "uglify-js": {
+            "version": "3.4.9",
+            "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz",
+            "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==",
+            "dev": true,
+            "requires": {
+                "commander": "~2.17.1",
+                "source-map": "~0.6.1"
+            },
+            "dependencies": {
+                "source-map": {
+                    "version": "0.6.1",
+                    "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+                    "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+                    "dev": true
+                }
+            }
+        },
+        "uglify-to-browserify": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz",
+            "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=",
+            "dev": true,
+            "optional": true
+        },
+        "ultron": {
+            "version": "1.1.1",
+            "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz",
+            "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==",
+            "dev": true
+        },
+        "unc-path-regex": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
+            "integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo=",
+            "dev": true
+        },
+        "underscore": {
+            "version": "1.7.0",
+            "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz",
+            "integrity": "sha1-a7rwh3UA02vjTsqlhODbn+8DUgk=",
+            "dev": true
+        },
+        "underscore.string": {
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz",
+            "integrity": "sha1-18D6KvXVoaZ/QlPa7pgTLnM/Dxk=",
+            "dev": true
+        },
+        "union-value": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz",
+            "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=",
+            "dev": true,
+            "requires": {
+                "arr-union": "^3.1.0",
+                "get-value": "^2.0.6",
+                "is-extendable": "^0.1.1",
+                "set-value": "^0.4.3"
+            },
+            "dependencies": {
+                "extend-shallow": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+                    "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=",
+                    "dev": true,
+                    "requires": {
+                        "is-extendable": "^0.1.0"
+                    }
+                },
+                "set-value": {
+                    "version": "0.4.3",
+                    "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz",
+                    "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=",
+                    "dev": true,
+                    "requires": {
+                        "extend-shallow": "^2.0.1",
+                        "is-extendable": "^0.1.1",
+                        "is-plain-object": "^2.0.1",
+                        "to-object-path": "^0.3.0"
+                    }
+                }
+            }
+        },
+        "unpipe": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
+            "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
+            "dev": true
+        },
+        "unset-value": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz",
+            "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=",
+            "dev": true,
+            "requires": {
+                "has-value": "^0.3.1",
+                "isobject": "^3.0.0"
+            },
+            "dependencies": {
+                "has-value": {
+                    "version": "0.3.1",
+                    "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz",
+                    "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=",
+                    "dev": true,
+                    "requires": {
+                        "get-value": "^2.0.3",
+                        "has-values": "^0.1.4",
+                        "isobject": "^2.0.0"
+                    },
+                    "dependencies": {
+                        "isobject": {
+                            "version": "2.1.0",
+                            "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+                            "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=",
+                            "dev": true,
+                            "requires": {
+                                "isarray": "1.0.0"
+                            }
+                        }
+                    }
+                },
+                "has-values": {
+                    "version": "0.1.4",
+                    "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz",
+                    "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=",
+                    "dev": true
+                },
+                "isarray": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+                    "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=",
+                    "dev": true
+                }
+            }
+        },
+        "upath": {
+            "version": "1.1.0",
+            "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.0.tgz",
+            "integrity": "sha512-bzpH/oBhoS/QI/YtbkqCg6VEiPYjSZtrHQM6/QnJS6OL9pKUFLqb3aFh4Scvwm45+7iAgiMkLhSbaZxUqmrprw==",
+            "dev": true
+        },
+        "uri-path": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz",
+            "integrity": "sha1-l0fwGDWJM8Md4PzP2C0TjmcmLjI=",
+            "dev": true
+        },
+        "urix": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz",
+            "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=",
+            "dev": true
+        },
+        "use": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
+            "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==",
+            "dev": true
+        },
+        "useragent": {
+            "version": "2.3.0",
+            "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz",
+            "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==",
+            "dev": true,
+            "requires": {
+                "lru-cache": "4.1.x",
+                "tmp": "0.0.x"
+            },
+            "dependencies": {
+                "lru-cache": {
+                    "version": "4.1.5",
+                    "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
+                    "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
+                    "dev": true,
+                    "requires": {
+                        "pseudomap": "^1.0.2",
+                        "yallist": "^2.1.2"
+                    }
+                }
+            }
+        },
+        "util-deprecate": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+            "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=",
+            "dev": true
+        },
+        "utile": {
+            "version": "0.2.1",
+            "resolved": "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz",
+            "integrity": "sha1-kwyI6ZCY1iIINMNWy9mncFItkNc=",
+            "dev": true,
+            "requires": {
+                "async": "~0.2.9",
+                "deep-equal": "*",
+                "i": "0.3.x",
+                "mkdirp": "0.x.x",
+                "ncp": "0.4.x",
+                "rimraf": "2.x.x"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "0.2.10",
+                    "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz",
+                    "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+                    "dev": true
+                }
+            }
+        },
+        "utils-merge": {
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
+            "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
+            "dev": true
+        },
+        "uuid": {
+            "version": "2.0.3",
+            "resolved": "http://registry.npmjs.org/uuid/-/uuid-2.0.3.tgz",
+            "integrity": "sha1-Z+LoY3lyFVMN/zGOW/nc6/1Hsho=",
+            "dev": true
+        },
+        "v8flags": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.1.1.tgz",
+            "integrity": "sha512-iw/1ViSEaff8NJ3HLyEjawk/8hjJib3E7pvG4pddVXfUg1983s3VGsiClDjhK64MQVDGqc1Q8r18S4VKQZS9EQ==",
+            "dev": true,
+            "requires": {
+                "homedir-polyfill": "^1.0.1"
+            }
+        },
+        "verror": {
+            "version": "1.10.0",
+            "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz",
+            "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
+            "dev": true,
+            "requires": {
+                "assert-plus": "^1.0.0",
+                "core-util-is": "1.0.2",
+                "extsprintf": "^1.2.0"
+            },
+            "dependencies": {
+                "assert-plus": {
+                    "version": "1.0.0",
+                    "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
+                    "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
+                    "dev": true
+                }
+            }
+        },
+        "void-elements": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz",
+            "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=",
+            "dev": true
+        },
+        "vow": {
+            "version": "0.4.18",
+            "resolved": "https://registry.npmjs.org/vow/-/vow-0.4.18.tgz",
+            "integrity": "sha512-7QGozxlOhour77BCQbbyW5XFP8ioIz/DPK67IyO3DnJtF0WXrXueMwqrYFM9yqyfgENcyxL+vktz2oJeZfdWtw==",
+            "dev": true
+        },
+        "vow-fs": {
+            "version": "0.3.6",
+            "resolved": "https://registry.npmjs.org/vow-fs/-/vow-fs-0.3.6.tgz",
+            "integrity": "sha1-LUxZviLivyYY3fWXq0uqkjvnIA0=",
+            "dev": true,
+            "requires": {
+                "glob": "^7.0.5",
+                "uuid": "^2.0.2",
+                "vow": "^0.4.7",
+                "vow-queue": "^0.4.1"
+            },
+            "dependencies": {
+                "glob": {
+                    "version": "7.1.3",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz",
+                    "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==",
+                    "dev": true,
+                    "requires": {
+                        "fs.realpath": "^1.0.0",
+                        "inflight": "^1.0.4",
+                        "inherits": "2",
+                        "minimatch": "^3.0.4",
+                        "once": "^1.3.0",
+                        "path-is-absolute": "^1.0.0"
+                    }
+                },
+                "minimatch": {
+                    "version": "3.0.4",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
+                    "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^1.1.7"
+                    }
+                }
+            }
+        },
+        "vow-queue": {
+            "version": "0.4.3",
+            "resolved": "https://registry.npmjs.org/vow-queue/-/vow-queue-0.4.3.tgz",
+            "integrity": "sha512-/poAKDTFL3zYbeQg7cl4BGcfP4sGgXKrHnRFSKj97dteUFu8oyXMwIcdwu8NSx/RmPGIuYx1Bik/y5vU4H/VKw==",
+            "dev": true,
+            "requires": {
+                "vow": "^0.4.17"
+            }
+        },
+        "walk-sync": {
+            "version": "0.3.2",
+            "resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.2.tgz",
+            "integrity": "sha512-FMB5VqpLqOCcqrzA9okZFc0wq0Qbmdm396qJxvQZhDpyu0W95G9JCmp74tx7iyYnyOcBtUuKJsgIKAqjozvmmQ==",
+            "dev": true,
+            "requires": {
+                "ensure-posix-path": "^1.0.0",
+                "matcher-collection": "^1.0.0"
+            }
+        },
+        "walker": {
+            "version": "1.0.7",
+            "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.7.tgz",
+            "integrity": "sha1-L3+bj9ENZ3JisYqITijRlhjgKPs=",
+            "dev": true,
+            "requires": {
+                "makeerror": "1.0.x"
+            }
+        },
+        "watch": {
+            "version": "0.18.0",
+            "resolved": "https://registry.npmjs.org/watch/-/watch-0.18.0.tgz",
+            "integrity": "sha1-KAlUdsbffJDJYxOJkMClQj60uYY=",
+            "dev": true,
+            "requires": {
+                "exec-sh": "^0.2.0",
+                "minimist": "^1.2.0"
+            },
+            "dependencies": {
+                "exec-sh": {
+                    "version": "0.2.2",
+                    "resolved": "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz",
+                    "integrity": "sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==",
+                    "dev": true,
+                    "requires": {
+                        "merge": "^1.2.0"
+                    }
+                }
+            }
+        },
+        "websocket-driver": {
+            "version": "0.7.0",
+            "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.0.tgz",
+            "integrity": "sha1-DK+dLXVdk67gSdS90NP+LMoqJOs=",
+            "dev": true,
+            "requires": {
+                "http-parser-js": ">=0.4.0",
+                "websocket-extensions": ">=0.1.1"
+            }
+        },
+        "websocket-extensions": {
+            "version": "0.1.3",
+            "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz",
+            "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==",
+            "dev": true
+        },
+        "which": {
+            "version": "1.0.9",
+            "resolved": "https://registry.npmjs.org/which/-/which-1.0.9.tgz",
+            "integrity": "sha1-RgwdoPgQED0DIam2M6+eV15kSG8=",
+            "dev": true
+        },
+        "window-size": {
+            "version": "0.1.0",
+            "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz",
+            "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=",
+            "dev": true,
+            "optional": true
+        },
+        "winston": {
+            "version": "0.8.3",
+            "resolved": "http://registry.npmjs.org/winston/-/winston-0.8.3.tgz",
+            "integrity": "sha1-ZLar9M0Brcrv1QCTk7HY6L7BnbA=",
+            "dev": true,
+            "requires": {
+                "async": "0.2.x",
+                "colors": "0.6.x",
+                "cycle": "1.0.x",
+                "eyes": "0.1.x",
+                "isstream": "0.1.x",
+                "pkginfo": "0.3.x",
+                "stack-trace": "0.0.x"
+            },
+            "dependencies": {
+                "async": {
+                    "version": "0.2.10",
+                    "resolved": "http://registry.npmjs.org/async/-/async-0.2.10.tgz",
+                    "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=",
+                    "dev": true
+                },
+                "pkginfo": {
+                    "version": "0.3.1",
+                    "resolved": "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz",
+                    "integrity": "sha1-Wyn2qB9wcXFC4J52W76rl7T4HiE=",
+                    "dev": true
+                }
+            }
+        },
+        "wordwrap": {
+            "version": "1.0.0",
+            "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
+            "integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
+            "dev": true
+        },
+        "wrappy": {
+            "version": "1.0.2",
+            "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+            "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
+            "dev": true
+        },
+        "ws": {
+            "version": "3.3.3",
+            "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz",
+            "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==",
+            "dev": true,
+            "requires": {
+                "async-limiter": "~1.0.0",
+                "safe-buffer": "~5.1.0",
+                "ultron": "~1.1.0"
+            }
+        },
+        "xml2js": {
+            "version": "0.4.19",
+            "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.19.tgz",
+            "integrity": "sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q==",
+            "dev": true,
+            "requires": {
+                "sax": ">=0.6.0",
+                "xmlbuilder": "~9.0.1"
+            },
+            "dependencies": {
+                "xmlbuilder": {
+                    "version": "9.0.7",
+                    "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-9.0.7.tgz",
+                    "integrity": "sha1-Ey7mPS7FVlxVfiD0wi35rKaGsQ0=",
+                    "dev": true
+                }
+            }
+        },
+        "xmlbuilder": {
+            "version": "3.1.0",
+            "resolved": "http://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz",
+            "integrity": "sha1-LIaIjy1OrehQ+jjKf3Ij9yCVFuE=",
+            "dev": true,
+            "requires": {
+                "lodash": "^3.5.0"
+            },
+            "dependencies": {
+                "lodash": {
+                    "version": "3.10.1",
+                    "resolved": "http://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz",
+                    "integrity": "sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y=",
+                    "dev": true
+                }
+            }
+        },
+        "xmlhttprequest-ssl": {
+            "version": "1.5.5",
+            "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz",
+            "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=",
+            "dev": true
+        },
+        "xtend": {
+            "version": "4.0.1",
+            "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz",
+            "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
+            "dev": true
+        },
+        "yallist": {
+            "version": "2.1.2",
+            "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
+            "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=",
+            "dev": true
+        },
+        "yauzl": {
+            "version": "2.4.1",
+            "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz",
+            "integrity": "sha1-lSj0QtqxsihOWLQ3m7GU4i4MQAU=",
+            "dev": true,
+            "requires": {
+                "fd-slicer": "~1.0.1"
+            }
+        },
+        "yeast": {
+            "version": "0.1.2",
+            "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz",
+            "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=",
+            "dev": true
+        }
+    }
+}
diff --git a/public/bower_components/moment/src/lib/create/check-overflow.js b/public/bower_components/moment/src/lib/create/check-overflow.js
new file mode 100644
index 0000000..41b539f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/check-overflow.js
@@ -0,0 +1,34 @@
+import { daysInMonth } from '../units/month';
+import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND, WEEK, WEEKDAY } from '../units/constants';
+import getParsingFlags from '../create/parsing-flags';
+
+export default function checkOverflow (m) {
+    var overflow;
+    var a = m._a;
+
+    if (a && getParsingFlags(m).overflow === -2) {
+        overflow =
+            a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :
+            a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
+            a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
+            a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :
+            a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :
+            a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
+            -1;
+
+        if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
+            overflow = DATE;
+        }
+        if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
+            overflow = WEEK;
+        }
+        if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
+            overflow = WEEKDAY;
+        }
+
+        getParsingFlags(m).overflow = overflow;
+    }
+
+    return m;
+}
+
diff --git a/public/bower_components/moment/src/lib/create/date-from-array.js b/public/bower_components/moment/src/lib/create/date-from-array.js
new file mode 100644
index 0000000..7fabbc0
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/date-from-array.js
@@ -0,0 +1,35 @@
+export function createDate (y, m, d, h, M, s, ms) {
+    // can't just apply() to create a date:
+    // https://stackoverflow.com/q/181348
+    var date;
+    // the date constructor remaps years 0-99 to 1900-1999
+    if (y < 100 && y >= 0) {
+        // preserve leap years using a full 400 year cycle, then reset
+        date = new Date(y + 400, m, d, h, M, s, ms);
+        if (isFinite(date.getFullYear())) {
+            date.setFullYear(y);
+        }
+    } else {
+        date = new Date(y, m, d, h, M, s, ms);
+    }
+
+    return date;
+}
+
+export function createUTCDate (y) {
+    var date;
+    // the Date.UTC function remaps years 0-99 to 1900-1999
+    if (y < 100 && y >= 0) {
+        var args = Array.prototype.slice.call(arguments);
+        // preserve leap years using a full 400 year cycle, then reset
+        args[0] = y + 400;
+        date = new Date(Date.UTC.apply(null, args));
+        if (isFinite(date.getUTCFullYear())) {
+            date.setUTCFullYear(y);
+        }
+    } else {
+        date = new Date(Date.UTC.apply(null, arguments));
+    }
+
+    return date;
+}
diff --git a/public/bower_components/moment/src/lib/create/from-anything.js b/public/bower_components/moment/src/lib/create/from-anything.js
new file mode 100644
index 0000000..e692679
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/from-anything.js
@@ -0,0 +1,110 @@
+import isArray from '../utils/is-array';
+import isObject from '../utils/is-object';
+import isObjectEmpty from '../utils/is-object-empty';
+import isUndefined from '../utils/is-undefined';
+import isNumber from '../utils/is-number';
+import isDate from '../utils/is-date';
+import map from '../utils/map';
+import { createInvalid } from './valid';
+import { Moment, isMoment } from '../moment/constructor';
+import { getLocale } from '../locale/locales';
+import { hooks } from '../utils/hooks';
+import checkOverflow from './check-overflow';
+import { isValid } from './valid';
+
+import { configFromStringAndArray }  from './from-string-and-array';
+import { configFromStringAndFormat } from './from-string-and-format';
+import { configFromString }          from './from-string';
+import { configFromArray }           from './from-array';
+import { configFromObject }          from './from-object';
+
+function createFromConfig (config) {
+    var res = new Moment(checkOverflow(prepareConfig(config)));
+    if (res._nextDay) {
+        // Adding is smart enough around DST
+        res.add(1, 'd');
+        res._nextDay = undefined;
+    }
+
+    return res;
+}
+
+export function prepareConfig (config) {
+    var input = config._i,
+        format = config._f;
+
+    config._locale = config._locale || getLocale(config._l);
+
+    if (input === null || (format === undefined && input === '')) {
+        return createInvalid({nullInput: true});
+    }
+
+    if (typeof input === 'string') {
+        config._i = input = config._locale.preparse(input);
+    }
+
+    if (isMoment(input)) {
+        return new Moment(checkOverflow(input));
+    } else if (isDate(input)) {
+        config._d = input;
+    } else if (isArray(format)) {
+        configFromStringAndArray(config);
+    } else if (format) {
+        configFromStringAndFormat(config);
+    }  else {
+        configFromInput(config);
+    }
+
+    if (!isValid(config)) {
+        config._d = null;
+    }
+
+    return config;
+}
+
+function configFromInput(config) {
+    var input = config._i;
+    if (isUndefined(input)) {
+        config._d = new Date(hooks.now());
+    } else if (isDate(input)) {
+        config._d = new Date(input.valueOf());
+    } else if (typeof input === 'string') {
+        configFromString(config);
+    } else if (isArray(input)) {
+        config._a = map(input.slice(0), function (obj) {
+            return parseInt(obj, 10);
+        });
+        configFromArray(config);
+    } else if (isObject(input)) {
+        configFromObject(config);
+    } else if (isNumber(input)) {
+        // from milliseconds
+        config._d = new Date(input);
+    } else {
+        hooks.createFromInputFallback(config);
+    }
+}
+
+export function createLocalOrUTC (input, format, locale, strict, isUTC) {
+    var c = {};
+
+    if (locale === true || locale === false) {
+        strict = locale;
+        locale = undefined;
+    }
+
+    if ((isObject(input) && isObjectEmpty(input)) ||
+            (isArray(input) && input.length === 0)) {
+        input = undefined;
+    }
+    // object construction must be done this way.
+    // https://github.com/moment/moment/issues/1423
+    c._isAMomentObject = true;
+    c._useUTC = c._isUTC = isUTC;
+    c._l = locale;
+    c._i = input;
+    c._f = format;
+    c._strict = strict;
+
+    return createFromConfig(c);
+}
diff --git a/public/bower_components/moment/src/lib/create/from-array.js b/public/bower_components/moment/src/lib/create/from-array.js
new file mode 100644
index 0000000..548992f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/from-array.js
@@ -0,0 +1,147 @@
+import { hooks } from '../utils/hooks';
+import { createDate, createUTCDate } from './date-from-array';
+import { daysInYear } from '../units/year';
+import { weekOfYear, weeksInYear, dayOfYearFromWeeks } from '../units/week-calendar-utils';
+import { YEAR, MONTH, DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants';
+import { createLocal } from './local';
+import defaults from '../utils/defaults';
+import getParsingFlags from './parsing-flags';
+
+function currentDateArray(config) {
+    // hooks is actually the exported moment object
+    var nowValue = new Date(hooks.now());
+    if (config._useUTC) {
+        return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
+    }
+    return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
+}
+
+// convert an array to a date.
+// the array should mirror the parameters below
+// note: all values past the year are optional and will default to the lowest possible value.
+// [year, month, day , hour, minute, second, millisecond]
+export function configFromArray (config) {
+    var i, date, input = [], currentDate, expectedWeekday, yearToUse;
+
+    if (config._d) {
+        return;
+    }
+
+    currentDate = currentDateArray(config);
+
+    //compute day of the year from weeks and weekdays
+    if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
+        dayOfYearFromWeekInfo(config);
+    }
+
+    //if the day of the year is set, figure out what it is
+    if (config._dayOfYear != null) {
+        yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
+
+        if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {
+            getParsingFlags(config)._overflowDayOfYear = true;
+        }
+
+        date = createUTCDate(yearToUse, 0, config._dayOfYear);
+        config._a[MONTH] = date.getUTCMonth();
+        config._a[DATE] = date.getUTCDate();
+    }
+
+    // Default to current date.
+    // * if no year, month, day of month are given, default to today
+    // * if day of month is given, default month and year
+    // * if month is given, default only year
+    // * if year is given, don't default anything
+    for (i = 0; i < 3 && config._a[i] == null; ++i) {
+        config._a[i] = input[i] = currentDate[i];
+    }
+
+    // Zero out whatever was not defaulted, including time
+    for (; i < 7; i++) {
+        config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
+    }
+
+    // Check for 24:00:00.000
+    if (config._a[HOUR] === 24 &&
+            config._a[MINUTE] === 0 &&
+            config._a[SECOND] === 0 &&
+            config._a[MILLISECOND] === 0) {
+        config._nextDay = true;
+        config._a[HOUR] = 0;
+    }
+
+    config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
+    expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();
+
+    // Apply timezone offset from input. The actual utcOffset can be changed
+    // with parseZone.
+    if (config._tzm != null) {
+        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+    }
+
+    if (config._nextDay) {
+        config._a[HOUR] = 24;
+    }
+
+    // check for mismatching day of week
+    if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {
+        getParsingFlags(config).weekdayMismatch = true;
+    }
+}
+
+function dayOfYearFromWeekInfo(config) {
+    var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
+
+    w = config._w;
+    if (w.GG != null || w.W != null || w.E != null) {
+        dow = 1;
+        doy = 4;
+
+        // TODO: We need to take the current isoWeekYear, but that depends on
+        // how we interpret now (local, utc, fixed offset). So create
+        // a now version of current config (take local/utc/offset flags, and
+        // create now).
+        weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);
+        week = defaults(w.W, 1);
+        weekday = defaults(w.E, 1);
+        if (weekday < 1 || weekday > 7) {
+            weekdayOverflow = true;
+        }
+    } else {
+        dow = config._locale._week.dow;
+        doy = config._locale._week.doy;
+
+        var curWeek = weekOfYear(createLocal(), dow, doy);
+
+        weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);
+
+        // Default to current week.
+        week = defaults(w.w, curWeek.week);
+
+        if (w.d != null) {
+            // weekday -- low day numbers are considered next week
+            weekday = w.d;
+            if (weekday < 0 || weekday > 6) {
+                weekdayOverflow = true;
+            }
+        } else if (w.e != null) {
+            // local weekday -- counting starts from beginning of week
+            weekday = w.e + dow;
+            if (w.e < 0 || w.e > 6) {
+                weekdayOverflow = true;
+            }
+        } else {
+            // default to beginning of week
+            weekday = dow;
+        }
+    }
+    if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
+        getParsingFlags(config)._overflowWeeks = true;
+    } else if (weekdayOverflow != null) {
+        getParsingFlags(config)._overflowWeekday = true;
+    } else {
+        temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
+        config._a[YEAR] = temp.year;
+        config._dayOfYear = temp.dayOfYear;
+    }
+}
diff --git a/public/bower_components/moment/src/lib/create/from-object.js b/public/bower_components/moment/src/lib/create/from-object.js
new file mode 100644
index 0000000..c0bfe9f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/from-object.js
@@ -0,0 +1,16 @@
+import { normalizeObjectUnits } from '../units/aliases';
+import { configFromArray } from './from-array';
+import map from '../utils/map';
+
+export function configFromObject(config) {
+    if (config._d) {
+        return;
+    }
+
+    var i = normalizeObjectUnits(config._i);
+    config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
+        return obj && parseInt(obj, 10);
+    });
+
+    configFromArray(config);
+}
diff --git a/public/bower_components/moment/src/lib/create/from-string-and-array.js b/public/bower_components/moment/src/lib/create/from-string-and-array.js
new file mode 100644
index 0000000..1d8a7a8
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/from-string-and-array.js
@@ -0,0 +1,50 @@
+import { copyConfig } from '../moment/constructor';
+import { configFromStringAndFormat } from './from-string-and-format';
+import getParsingFlags from './parsing-flags';
+import { isValid } from './valid';
+import extend from '../utils/extend';
+
+// date from string and array of format strings
+export function configFromStringAndArray(config) {
+    var tempConfig,
+        bestMoment,
+
+        scoreToBeat,
+        i,
+        currentScore;
+
+    if (config._f.length === 0) {
+        getParsingFlags(config).invalidFormat = true;
+        config._d = new Date(NaN);
+        return;
+    }
+
+    for (i = 0; i < config._f.length; i++) {
+        currentScore = 0;
+        tempConfig = copyConfig({}, config);
+        if (config._useUTC != null) {
+            tempConfig._useUTC = config._useUTC;
+        }
+        tempConfig._f = config._f[i];
+        configFromStringAndFormat(tempConfig);
+
+        if (!isValid(tempConfig)) {
+            continue;
+        }
+
+        // if there is any input that was not parsed add a penalty for that format
+        currentScore += getParsingFlags(tempConfig).charsLeftOver;
+
+        //or tokens
+        currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
+
+        getParsingFlags(tempConfig).score = currentScore;
+
+        if (scoreToBeat == null || currentScore < scoreToBeat) {
+            scoreToBeat = currentScore;
+            bestMoment = tempConfig;
+        }
+    }
+
+    extend(config, bestMoment || tempConfig);
+}
diff --git a/public/bower_components/moment/src/lib/create/from-string-and-format.js b/public/bower_components/moment/src/lib/create/from-string-and-format.js
new file mode 100644
index 0000000..ed921d5
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/from-string-and-format.js
@@ -0,0 +1,113 @@
+import { configFromISO, configFromRFC2822 } from './from-string';
+import { configFromArray } from './from-array';
+import { getParseRegexForToken }   from '../parse/regex';
+import { addTimeToArrayFromToken } from '../parse/token';
+import { expandFormat, formatTokenFunctions, formattingTokens } from '../format/format';
+import checkOverflow from './check-overflow';
+import { HOUR } from '../units/constants';
+import { hooks } from '../utils/hooks';
+import getParsingFlags from './parsing-flags';
+
+// constant that refers to the ISO standard
+hooks.ISO_8601 = function () {};
+
+// constant that refers to the RFC 2822 form
+hooks.RFC_2822 = function () {};
+
+// date from string and format string
+export function configFromStringAndFormat(config) {
+    // TODO: Move this to another part of the creation flow to prevent circular deps
+    if (config._f === hooks.ISO_8601) {
+        configFromISO(config);
+        return;
+    }
+    if (config._f === hooks.RFC_2822) {
+        configFromRFC2822(config);
+        return;
+    }
+    config._a = [];
+    getParsingFlags(config).empty = true;
+
+    // This array is used to make a Date, either with `new Date` or `Date.UTC`
+    var string = '' + config._i,
+        i, parsedInput, tokens, token, skipped,
+        stringLength = string.length,
+        totalParsedInputLength = 0;
+
+    tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
+
+    for (i = 0; i < tokens.length; i++) {
+        token = tokens[i];
+        parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
+        // console.log('token', token, 'parsedInput', parsedInput,
+        //         'regex', getParseRegexForToken(token, config));
+        if (parsedInput) {
+            skipped = string.substr(0, string.indexOf(parsedInput));
+            if (skipped.length > 0) {
+                getParsingFlags(config).unusedInput.push(skipped);
+            }
+            string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
+            totalParsedInputLength += parsedInput.length;
+        }
+        // don't parse if it's not a known token
+        if (formatTokenFunctions[token]) {
+            if (parsedInput) {
+                getParsingFlags(config).empty = false;
+            }
+            else {
+                getParsingFlags(config).unusedTokens.push(token);
+            }
+            addTimeToArrayFromToken(token, parsedInput, config);
+        }
+        else if (config._strict && !parsedInput) {
+            getParsingFlags(config).unusedTokens.push(token);
+        }
+    }
+
+    // add remaining unparsed input length to the string
+    getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
+    if (string.length > 0) {
+        getParsingFlags(config).unusedInput.push(string);
+    }
+
+    // clear _12h flag if hour is <= 12
+    if (config._a[HOUR] <= 12 &&
+        getParsingFlags(config).bigHour === true &&
+        config._a[HOUR] > 0) {
+        getParsingFlags(config).bigHour = undefined;
+    }
+
+    getParsingFlags(config).parsedDateParts = config._a.slice(0);
+    getParsingFlags(config).meridiem = config._meridiem;
+    // handle meridiem
+    config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
+
+    configFromArray(config);
+    checkOverflow(config);
+}
+
+
+function meridiemFixWrap (locale, hour, meridiem) {
+    var isPm;
+
+    if (meridiem == null) {
+        // nothing to do
+        return hour;
+    }
+    if (locale.meridiemHour != null) {
+        return locale.meridiemHour(hour, meridiem);
+    } else if (locale.isPM != null) {
+        // Fallback
+        isPm = locale.isPM(meridiem);
+        if (isPm && hour < 12) {
+            hour += 12;
+        }
+        if (!isPm && hour === 12) {
+            hour = 0;
+        }
+        return hour;
+    } else {
+        // this is not supposed to happen
+        return hour;
+    }
+}
diff --git a/public/bower_components/moment/src/lib/create/from-string.js b/public/bower_components/moment/src/lib/create/from-string.js
new file mode 100644
index 0000000..c5ad56b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/from-string.js
@@ -0,0 +1,230 @@
+import { configFromStringAndFormat } from './from-string-and-format';
+import { createUTCDate } from './date-from-array';
+import { configFromArray } from './from-array';
+import { hooks } from '../utils/hooks';
+import { deprecate } from '../utils/deprecate';
+import getParsingFlags from './parsing-flags';
+import {defaultLocaleMonthsShort} from '../units/month';
+import {defaultLocaleWeekdaysShort} from '../units/day-of-week';
+
+// iso 8601 regex
+// 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)
+var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/;
+
+var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
+
+var isoDates = [
+    ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
+    ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
+    ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
+    ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
+    ['YYYY-DDD', /\d{4}-\d{3}/],
+    ['YYYY-MM', /\d{4}-\d\d/, false],
+    ['YYYYYYMMDD', /[+-]\d{10}/],
+    ['YYYYMMDD', /\d{8}/],
+    // YYYYMM is NOT allowed by the standard
+    ['GGGG[W]WWE', /\d{4}W\d{3}/],
+    ['GGGG[W]WW', /\d{4}W\d{2}/, false],
+    ['YYYYDDD', /\d{7}/]
+];
+
+// iso time formats and regexes
+var isoTimes = [
+    ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
+    ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
+    ['HH:mm:ss', /\d\d:\d\d:\d\d/],
+    ['HH:mm', /\d\d:\d\d/],
+    ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
+    ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
+    ['HHmmss', /\d\d\d\d\d\d/],
+    ['HHmm', /\d\d\d\d/],
+    ['HH', /\d\d/]
+];
+
+var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
+
+// date from iso format
+export function configFromISO(config) {
+    var i, l,
+        string = config._i,
+        match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
+        allowTime, dateFormat, timeFormat, tzFormat;
+
+    if (match) {
+        getParsingFlags(config).iso = true;
+
+        for (i = 0, l = isoDates.length; i < l; i++) {
+            if (isoDates[i][1].exec(match[1])) {
+                dateFormat = isoDates[i][0];
+                allowTime = isoDates[i][2] !== false;
+                break;
+            }
+        }
+        if (dateFormat == null) {
+            config._isValid = false;
+            return;
+        }
+        if (match[3]) {
+            for (i = 0, l = isoTimes.length; i < l; i++) {
+                if (isoTimes[i][1].exec(match[3])) {
+                    // match[2] should be 'T' or space
+                    timeFormat = (match[2] || ' ') + isoTimes[i][0];
+                    break;
+                }
+            }
+            if (timeFormat == null) {
+                config._isValid = false;
+                return;
+            }
+        }
+        if (!allowTime && timeFormat != null) {
+            config._isValid = false;
+            return;
+        }
+        if (match[4]) {
+            if (tzRegex.exec(match[4])) {
+                tzFormat = 'Z';
+            } else {
+                config._isValid = false;
+                return;
+            }
+        }
+        config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
+        configFromStringAndFormat(config);
+    } else {
+        config._isValid = false;
+    }
+}
+
+// RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3
+var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/;
+
+function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {
+    var result = [
+        untruncateYear(yearStr),
+        defaultLocaleMonthsShort.indexOf(monthStr),
+        parseInt(dayStr, 10),
+        parseInt(hourStr, 10),
+        parseInt(minuteStr, 10)
+    ];
+
+    if (secondStr) {
+        result.push(parseInt(secondStr, 10));
+    }
+
+    return result;
+}
+
+function untruncateYear(yearStr) {
+    var year = parseInt(yearStr, 10);
+    if (year <= 49) {
+        return 2000 + year;
+    } else if (year <= 999) {
+        return 1900 + year;
+    }
+    return year;
+}
+
+function preprocessRFC2822(s) {
+    // Remove comments and folding whitespace and replace multiple-spaces with a single space
+    return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
+}
+
+function checkWeekday(weekdayStr, parsedInput, config) {
+    if (weekdayStr) {
+        // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.
+        var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),
+            weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();
+        if (weekdayProvided !== weekdayActual) {
+            getParsingFlags(config).weekdayMismatch = true;
+            config._isValid = false;
+            return false;
+        }
+    }
+    return true;
+}
+
+var obsOffsets = {
+    UT: 0,
+    GMT: 0,
+    EDT: -4 * 60,
+    EST: -5 * 60,
+    CDT: -5 * 60,
+    CST: -6 * 60,
+    MDT: -6 * 60,
+    MST: -7 * 60,
+    PDT: -7 * 60,
+    PST: -8 * 60
+};
+
+function calculateOffset(obsOffset, militaryOffset, numOffset) {
+    if (obsOffset) {
+        return obsOffsets[obsOffset];
+    } else if (militaryOffset) {
+        // the only allowed military tz is Z
+        return 0;
+    } else {
+        var hm = parseInt(numOffset, 10);
+        var m = hm % 100, h = (hm - m) / 100;
+        return h * 60 + m;
+    }
+}
+
+// date and time from ref 2822 format
+export function configFromRFC2822(config) {
+    var match = rfc2822.exec(preprocessRFC2822(config._i));
+    if (match) {
+        var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);
+        if (!checkWeekday(match[1], parsedArray, config)) {
+            return;
+        }
+
+        config._a = parsedArray;
+        config._tzm = calculateOffset(match[8], match[9], match[10]);
+
+        config._d = createUTCDate.apply(null, config._a);
+        config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
+
+        getParsingFlags(config).rfc2822 = true;
+    } else {
+        config._isValid = false;
+    }
+}
+
+// date from iso format or fallback
+export function configFromString(config) {
+    var matched = aspNetJsonRegex.exec(config._i);
+
+    if (matched !== null) {
+        config._d = new Date(+matched[1]);
+        return;
+    }
+
+    configFromISO(config);
+    if (config._isValid === false) {
+        delete config._isValid;
+    } else {
+        return;
+    }
+
+    configFromRFC2822(config);
+    if (config._isValid === false) {
+        delete config._isValid;
+    } else {
+        return;
+    }
+
+    // Final attempt, use Input Fallback
+    hooks.createFromInputFallback(config);
+}
+
+hooks.createFromInputFallback = deprecate(
+    'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +
+    'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +
+    'discouraged and will be removed in an upcoming major release. Please refer to ' +
+    'http://momentjs.com/guides/#/warnings/js-date/ for more info.',
+    function (config) {
+        config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
+    }
+);
diff --git a/public/bower_components/moment/src/lib/create/local.js b/public/bower_components/moment/src/lib/create/local.js
new file mode 100644
index 0000000..88c1e26
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/local.js
@@ -0,0 +1,5 @@
+import { createLocalOrUTC } from './from-anything';
+
+export function createLocal (input, format, locale, strict) {
+    return createLocalOrUTC(input, format, locale, strict, false);
+}
diff --git a/public/bower_components/moment/src/lib/create/parsing-flags.js b/public/bower_components/moment/src/lib/create/parsing-flags.js
new file mode 100644
index 0000000..c47173f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/parsing-flags.js
@@ -0,0 +1,26 @@
+function defaultParsingFlags() {
+    // We need to deep clone this object.
+    return {
+        empty           : false,
+        unusedTokens    : [],
+        unusedInput     : [],
+        overflow        : -2,
+        charsLeftOver   : 0,
+        nullInput       : false,
+        invalidMonth    : null,
+        invalidFormat   : false,
+        userInvalidated : false,
+        iso             : false,
+        parsedDateParts : [],
+        meridiem        : null,
+        rfc2822         : false,
+        weekdayMismatch : false
+    };
+}
+
+export default function getParsingFlags(m) {
+    if (m._pf == null) {
+        m._pf = defaultParsingFlags();
+    }
+    return m._pf;
+}
diff --git a/public/bower_components/moment/src/lib/create/utc.js b/public/bower_components/moment/src/lib/create/utc.js
new file mode 100644
index 0000000..9613953
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/utc.js
@@ -0,0 +1,5 @@
+import { createLocalOrUTC } from './from-anything';
+
+export function createUTC (input, format, locale, strict) {
+    return createLocalOrUTC(input, format, locale, strict, true).utc();
+}
diff --git a/public/bower_components/moment/src/lib/create/valid.js b/public/bower_components/moment/src/lib/create/valid.js
new file mode 100644
index 0000000..d13f12f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/create/valid.js
@@ -0,0 +1,50 @@
+import extend from '../utils/extend';
+import { createUTC } from './utc';
+import getParsingFlags from '../create/parsing-flags';
+import some from '../utils/some';
+
+export function isValid(m) {
+    if (m._isValid == null) {
+        var flags = getParsingFlags(m);
+        var parsedParts = some.call(flags.parsedDateParts, function (i) {
+            return i != null;
+        });
+        var isNowValid = !isNaN(m._d.getTime()) &&
+            flags.overflow < 0 &&
+            !flags.empty &&
+            !flags.invalidMonth &&
+            !flags.invalidWeekday &&
+            !flags.weekdayMismatch &&
+            !flags.nullInput &&
+            !flags.invalidFormat &&
+            !flags.userInvalidated &&
+            (!flags.meridiem || (flags.meridiem && parsedParts));
+
+        if (m._strict) {
+            isNowValid = isNowValid &&
+                flags.charsLeftOver === 0 &&
+                flags.unusedTokens.length === 0 &&
+                flags.bigHour === undefined;
+        }
+
+        if (Object.isFrozen == null || !Object.isFrozen(m)) {
+            m._isValid = isNowValid;
+        }
+        else {
+            return isNowValid;
+        }
+    }
+    return m._isValid;
+}
+
+export function createInvalid (flags) {
+    var m = createUTC(NaN);
+    if (flags != null) {
+        extend(getParsingFlags(m), flags);
+    }
+    else {
+        getParsingFlags(m).userInvalidated = true;
+    }
+
+    return m;
+}
diff --git a/public/bower_components/moment/src/lib/duration/abs.js b/public/bower_components/moment/src/lib/duration/abs.js
new file mode 100644
index 0000000..103a4cf
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/abs.js
@@ -0,0 +1,18 @@
+var mathAbs = Math.abs;
+
+export function abs () {
+    var data           = this._data;
+
+    this._milliseconds = mathAbs(this._milliseconds);
+    this._days         = mathAbs(this._days);
+    this._months       = mathAbs(this._months);
+
+    data.milliseconds  = mathAbs(data.milliseconds);
+    data.seconds       = mathAbs(data.seconds);
+    data.minutes       = mathAbs(data.minutes);
+    data.hours         = mathAbs(data.hours);
+    data.months        = mathAbs(data.months);
+    data.years         = mathAbs(data.years);
+
+    return this;
+}
diff --git a/public/bower_components/moment/src/lib/duration/add-subtract.js b/public/bower_components/moment/src/lib/duration/add-subtract.js
new file mode 100644
index 0000000..3b44e18
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/add-subtract.js
@@ -0,0 +1,21 @@
+import { createDuration } from './create';
+
+function addSubtract (duration, input, value, direction) {
+    var other = createDuration(input, value);
+
+    duration._milliseconds += direction * other._milliseconds;
+    duration._days         += direction * other._days;
+    duration._months       += direction * other._months;
+
+    return duration._bubble();
+}
+
+// supports only 2.0-style add(1, 's') or add(duration)
+export function add (input, value) {
+    return addSubtract(this, input, value, 1);
+}
+
+// supports only 2.0-style subtract(1, 's') or subtract(duration)
+export function subtract (input, value) {
+    return addSubtract(this, input, value, -1);
+}
diff --git a/public/bower_components/moment/src/lib/duration/as.js b/public/bower_components/moment/src/lib/duration/as.js
new file mode 100644
index 0000000..fe51a98
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/as.js
@@ -0,0 +1,66 @@
+import { daysToMonths, monthsToDays } from './bubble';
+import { normalizeUnits } from '../units/aliases';
+import toInt from '../utils/to-int';
+
+export function as (units) {
+    if (!this.isValid()) {
+        return NaN;
+    }
+    var days;
+    var months;
+    var milliseconds = this._milliseconds;
+
+    units = normalizeUnits(units);
+
+    if (units === 'month' || units === 'quarter' || units === 'year') {
+        days = this._days + milliseconds / 864e5;
+        months = this._months + daysToMonths(days);
+        switch (units) {
+            case 'month':   return months;
+            case 'quarter': return months / 3;
+            case 'year':    return months / 12;
+        }
+    } else {
+        // handle milliseconds separately because of floating point math errors (issue #1867)
+        days = this._days + Math.round(monthsToDays(this._months));
+        switch (units) {
+            case 'week'   : return days / 7     + milliseconds / 6048e5;
+            case 'day'    : return days         + milliseconds / 864e5;
+            case 'hour'   : return days * 24    + milliseconds / 36e5;
+            case 'minute' : return days * 1440  + milliseconds / 6e4;
+            case 'second' : return days * 86400 + milliseconds / 1000;
+            // Math.floor prevents floating point math errors here
+            case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
+            default: throw new Error('Unknown unit ' + units);
+        }
+    }
+}
+
+// TODO: Use this.as('ms')?
+export function valueOf () {
+    if (!this.isValid()) {
+        return NaN;
+    }
+    return (
+        this._milliseconds +
+        this._days * 864e5 +
+        (this._months % 12) * 2592e6 +
+        toInt(this._months / 12) * 31536e6
+    );
+}
+
+function makeAs (alias) {
+    return function () {
+        return this.as(alias);
+    };
+}
+
+export var asMilliseconds = makeAs('ms');
+export var asSeconds      = makeAs('s');
+export var asMinutes      = makeAs('m');
+export var asHours        = makeAs('h');
+export var asDays         = makeAs('d');
+export var asWeeks        = makeAs('w');
+export var asMonths       = makeAs('M');
+export var asQuarters     = makeAs('Q');
+export var asYears        = makeAs('y');
diff --git a/public/bower_components/moment/src/lib/duration/bubble.js b/public/bower_components/moment/src/lib/duration/bubble.js
new file mode 100644
index 0000000..0c4a336
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/bubble.js
@@ -0,0 +1,61 @@
+import absFloor from '../utils/abs-floor';
+import absCeil from '../utils/abs-ceil';
+import { createUTCDate } from '../create/date-from-array';
+
+export function bubble () {
+    var milliseconds = this._milliseconds;
+    var days         = this._days;
+    var months       = this._months;
+    var data         = this._data;
+    var seconds, minutes, hours, years, monthsFromDays;
+
+    // if we have a mix of positive and negative values, bubble down first
+    // check: https://github.com/moment/moment/issues/2166
+    if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
+            (milliseconds <= 0 && days <= 0 && months <= 0))) {
+        milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
+        days = 0;
+        months = 0;
+    }
+
+    // The following code bubbles up values, see the tests for
+    // examples of what that means.
+    data.milliseconds = milliseconds % 1000;
+
+    seconds           = absFloor(milliseconds / 1000);
+    data.seconds      = seconds % 60;
+
+    minutes           = absFloor(seconds / 60);
+    data.minutes      = minutes % 60;
+
+    hours             = absFloor(minutes / 60);
+    data.hours        = hours % 24;
+
+    days += absFloor(hours / 24);
+
+    // convert days to months
+    monthsFromDays = absFloor(daysToMonths(days));
+    months += monthsFromDays;
+    days -= absCeil(monthsToDays(monthsFromDays));
+
+    // 12 months -> 1 year
+    years = absFloor(months / 12);
+    months %= 12;
+
+    data.days   = days;
+    data.months = months;
+    data.years  = years;
+
+    return this;
+}
+
+export function daysToMonths (days) {
+    // 400 years have 146097 days (taking into account leap year rules)
+    // 400 years have 12 months === 4800
+    return days * 4800 / 146097;
+}
+
+export function monthsToDays (months) {
+    // the reverse of daysToMonths
+    return months * 146097 / 4800;
+}
diff --git a/public/bower_components/moment/src/lib/duration/clone.js b/public/bower_components/moment/src/lib/duration/clone.js
new file mode 100644
index 0000000..56008d1
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/clone.js
@@ -0,0 +1,6 @@
+import { createDuration } from './create';
+
+export function clone () {
+    return createDuration(this);
+}
+
diff --git a/public/bower_components/moment/src/lib/duration/constructor.js b/public/bower_components/moment/src/lib/duration/constructor.js
new file mode 100644
index 0000000..894ba1d
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/constructor.js
@@ -0,0 +1,44 @@
+import { normalizeObjectUnits } from '../units/aliases';
+import { getLocale } from '../locale/locales';
+import isDurationValid from './valid.js';
+
+export function Duration (duration) {
+    var normalizedInput = normalizeObjectUnits(duration),
+        years = normalizedInput.year || 0,
+        quarters = normalizedInput.quarter || 0,
+        months = normalizedInput.month || 0,
+        weeks = normalizedInput.week || normalizedInput.isoWeek || 0,
+        days = normalizedInput.day || 0,
+        hours = normalizedInput.hour || 0,
+        minutes = normalizedInput.minute || 0,
+        seconds = normalizedInput.second || 0,
+        milliseconds = normalizedInput.millisecond || 0;
+
+    this._isValid = isDurationValid(normalizedInput);
+
+    // representation for dateAddRemove
+    this._milliseconds = +milliseconds +
+        seconds * 1e3 + // 1000
+        minutes * 6e4 + // 1000 * 60
+        hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978
+    // Because of dateAddRemove treats 24 hours as different from a
+    // day when working around DST, we need to store them separately
+    this._days = +days +
+        weeks * 7;
+    // It is impossible to translate months into days without knowing
+    // which months you are are talking about, so we have to store
+    // it separately.
+    this._months = +months +
+        quarters * 3 +
+        years * 12;
+
+    this._data = {};
+
+    this._locale = getLocale();
+
+    this._bubble();
+}
+
+export function isDuration (obj) {
+    return obj instanceof Duration;
+}
diff --git a/public/bower_components/moment/src/lib/duration/create.js b/public/bower_components/moment/src/lib/duration/create.js
new file mode 100644
index 0000000..3f00f3a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/create.js
@@ -0,0 +1,122 @@
+import { Duration, isDuration } from './constructor';
+import isNumber from '../utils/is-number';
+import toInt from '../utils/to-int';
+import absRound from '../utils/abs-round';
+import hasOwnProp from '../utils/has-own-prop';
+import { DATE, HOUR, MINUTE, SECOND, MILLISECOND } from '../units/constants';
+import { cloneWithOffset } from '../units/offset';
+import { createLocal } from '../create/local';
+import { createInvalid as invalid } from './valid';
+
+// ASP.NET json date format regex
+var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/;
+
+// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
+// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
+// and further modified to allow for strings containing both week and day
+var isoRegex = /^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;
+
+export function createDuration (input, key) {
+    var duration = input,
+        // matching against regexp is expensive, do it on demand
+        match = null,
+        sign,
+        ret,
+        diffRes;
+
+    if (isDuration(input)) {
+        duration = {
+            ms : input._milliseconds,
+            d  : input._days,
+            M  : input._months
+        };
+    } else if (isNumber(input)) {
+        duration = {};
+        if (key) {
+            duration[key] = input;
+        } else {
+            duration.milliseconds = input;
+        }
+    } else if (!!(match = aspNetRegex.exec(input))) {
+        sign = (match[1] === '-') ? -1 : 1;
+        duration = {
+            y  : 0,
+            d  : toInt(match[DATE])                         * sign,
+            h  : toInt(match[HOUR])                         * sign,
+            m  : toInt(match[MINUTE])                       * sign,
+            s  : toInt(match[SECOND])                       * sign,
+            ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match
+        };
+    } else if (!!(match = isoRegex.exec(input))) {
+        sign = (match[1] === '-') ? -1 : 1;
+        duration = {
+            y : parseIso(match[2], sign),
+            M : parseIso(match[3], sign),
+            w : parseIso(match[4], sign),
+            d : parseIso(match[5], sign),
+            h : parseIso(match[6], sign),
+            m : parseIso(match[7], sign),
+            s : parseIso(match[8], sign)
+        };
+    } else if (duration == null) {// checks for null or undefined
+        duration = {};
+    } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
+        diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));
+
+        duration = {};
+        duration.ms = diffRes.milliseconds;
+        duration.M = diffRes.months;
+    }
+
+    ret = new Duration(duration);
+
+    if (isDuration(input) && hasOwnProp(input, '_locale')) {
+        ret._locale = input._locale;
+    }
+
+    return ret;
+}
+
+createDuration.fn = Duration.prototype;
+createDuration.invalid = invalid;
+
+function parseIso (inp, sign) {
+    // We'd normally use ~~inp for this, but unfortunately it also
+    // converts floats to ints.
+    // inp may be undefined, so careful calling replace on it.
+    var res = inp && parseFloat(inp.replace(',', '.'));
+    // apply sign while we're at it
+    return (isNaN(res) ? 0 : res) * sign;
+}
+
+function positiveMomentsDifference(base, other) {
+    var res = {};
+
+    res.months = other.month() - base.month() +
+        (other.year() - base.year()) * 12;
+    if (base.clone().add(res.months, 'M').isAfter(other)) {
+        --res.months;
+    }
+
+    res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
+
+    return res;
+}
+
+function momentsDifference(base, other) {
+    var res;
+    if (!(base.isValid() && other.isValid())) {
+        return {milliseconds: 0, months: 0};
+    }
+
+    other = cloneWithOffset(other, base);
+    if (base.isBefore(other)) {
+        res = positiveMomentsDifference(base, other);
+    } else {
+        res = positiveMomentsDifference(other, base);
+        res.milliseconds = -res.milliseconds;
+        res.months = -res.months;
+    }
+
+    return res;
+}
diff --git a/public/bower_components/moment/src/lib/duration/duration.js b/public/bower_components/moment/src/lib/duration/duration.js
new file mode 100644
index 0000000..528b568
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/duration.js
@@ -0,0 +1,16 @@
+// Side effect imports
+import './prototype';
+
+import { createDuration } from './create';
+import { isDuration } from './constructor';
+import {
+    getSetRelativeTimeRounding,
+    getSetRelativeTimeThreshold
+} from './humanize';
+
+export {
+    createDuration,
+    isDuration,
+    getSetRelativeTimeRounding,
+    getSetRelativeTimeThreshold
+};
diff --git a/public/bower_components/moment/src/lib/duration/get.js b/public/bower_components/moment/src/lib/duration/get.js
new file mode 100644
index 0000000..8993e07
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/get.js
@@ -0,0 +1,25 @@
+import { normalizeUnits } from '../units/aliases';
+import absFloor from '../utils/abs-floor';
+
+export function get (units) {
+    units = normalizeUnits(units);
+    return this.isValid() ? this[units + 's']() : NaN;
+}
+
+function makeGetter(name) {
+    return function () {
+        return this.isValid() ? this._data[name] : NaN;
+    };
+}
+
+export var milliseconds = makeGetter('milliseconds');
+export var seconds      = makeGetter('seconds');
+export var minutes      = makeGetter('minutes');
+export var hours        = makeGetter('hours');
+export var days         = makeGetter('days');
+export var months       = makeGetter('months');
+export var years        = makeGetter('years');
+
+export function weeks () {
+    return absFloor(this.days() / 7);
+}
diff --git a/public/bower_components/moment/src/lib/duration/humanize.js b/public/bower_components/moment/src/lib/duration/humanize.js
new file mode 100644
index 0000000..454b01a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/humanize.js
@@ -0,0 +1,85 @@
+import { createDuration } from './create';
+
+var round = Math.round;
+var thresholds = {
+    ss: 44,         // a few seconds to seconds
+    s : 45,         // seconds to minute
+    m : 45,         // minutes to hour
+    h : 22,         // hours to day
+    d : 26,         // days to month
+    M : 11          // months to year
+};
+
+// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
+function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
+    return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
+}
+
+function relativeTime (posNegDuration, withoutSuffix, locale) {
+    var duration = createDuration(posNegDuration).abs();
+    var seconds  = round(duration.as('s'));
+    var minutes  = round(duration.as('m'));
+    var hours    = round(duration.as('h'));
+    var days     = round(duration.as('d'));
+    var months   = round(duration.as('M'));
+    var years    = round(duration.as('y'));
+
+    var a = seconds <= thresholds.ss && ['s', seconds]  ||
+            seconds < thresholds.s   && ['ss', seconds] ||
+            minutes <= 1             && ['m']           ||
+            minutes < thresholds.m   && ['mm', minutes] ||
+            hours   <= 1             && ['h']           ||
+            hours   < thresholds.h   && ['hh', hours]   ||
+            days    <= 1             && ['d']           ||
+            days    < thresholds.d   && ['dd', days]    ||
+            months  <= 1             && ['M']           ||
+            months  < thresholds.M   && ['MM', months]  ||
+            years   <= 1             && ['y']           || ['yy', years];
+
+    a[2] = withoutSuffix;
+    a[3] = +posNegDuration > 0;
+    a[4] = locale;
+    return substituteTimeAgo.apply(null, a);
+}
+
+// This function allows you to set the rounding function for relative time strings
+export function getSetRelativeTimeRounding (roundingFunction) {
+    if (roundingFunction === undefined) {
+        return round;
+    }
+    if (typeof(roundingFunction) === 'function') {
+        round = roundingFunction;
+        return true;
+    }
+    return false;
+}
+
+// This function allows you to set a threshold for relative time strings
+export function getSetRelativeTimeThreshold (threshold, limit) {
+    if (thresholds[threshold] === undefined) {
+        return false;
+    }
+    if (limit === undefined) {
+        return thresholds[threshold];
+    }
+    thresholds[threshold] = limit;
+    if (threshold === 's') {
+        thresholds.ss = limit - 1;
+    }
+    return true;
+}
+
+export function humanize (withSuffix) {
+    if (!this.isValid()) {
+        return this.localeData().invalidDate();
+    }
+
+    var locale = this.localeData();
+    var output = relativeTime(this, !withSuffix, locale);
+
+    if (withSuffix) {
+        output = locale.pastFuture(+this, output);
+    }
+
+    return locale.postformat(output);
+}
diff --git a/public/bower_components/moment/src/lib/duration/iso-string.js b/public/bower_components/moment/src/lib/duration/iso-string.js
new file mode 100644
index 0000000..419f363
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/iso-string.js
@@ -0,0 +1,64 @@
+import absFloor from '../utils/abs-floor';
+var abs = Math.abs;
+
+function sign(x) {
+    return ((x > 0) - (x < 0)) || +x;
+}
+
+export function toISOString() {
+    // for ISO strings we do not use the normal bubbling rules:
+    //  * milliseconds bubble up until they become hours
+    //  * days do not bubble at all
+    //  * months bubble up until they become years
+    // This is because there is no context-free conversion between hours and days
+    // (think of clock changes)
+    // and also not between days and months (28-31 days per month)
+    if (!this.isValid()) {
+        return this.localeData().invalidDate();
+    }
+
+    var seconds = abs(this._milliseconds) / 1000;
+    var days         = abs(this._days);
+    var months       = abs(this._months);
+    var minutes, hours, years;
+
+    // 3600 seconds -> 60 minutes -> 1 hour
+    minutes           = absFloor(seconds / 60);
+    hours             = absFloor(minutes / 60);
+    seconds %= 60;
+    minutes %= 60;
+
+    // 12 months -> 1 year
+    years  = absFloor(months / 12);
+    months %= 12;
+
+
+    // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
+    var Y = years;
+    var M = months;
+    var D = days;
+    var h = hours;
+    var m = minutes;
+    var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : '';
+    var total = this.asSeconds();
+
+    if (!total) {
+        // this is the same as C#'s (Noda) and python (isodate)...
+        // but not other JS (goog.date)
+        return 'P0D';
+    }
+
+    var totalSign = total < 0 ? '-' : '';
+    var ymSign = sign(this._months) !== sign(total) ? '-' : '';
+    var daysSign = sign(this._days) !== sign(total) ? '-' : '';
+    var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';
+
+    return totalSign + 'P' +
+        (Y ? ymSign + Y + 'Y' : '') +
+        (M ? ymSign + M + 'M' : '') +
+        (D ? daysSign + D + 'D' : '') +
+        ((h || m || s) ? 'T' : '') +
+        (h ? hmsSign + h + 'H' : '') +
+        (m ? hmsSign + m + 'M' : '') +
+        (s ? hmsSign + s + 'S' : '');
+}
diff --git a/public/bower_components/moment/src/lib/duration/prototype.js b/public/bower_components/moment/src/lib/duration/prototype.js
new file mode 100644
index 0000000..b62d4a2
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/prototype.js
@@ -0,0 +1,53 @@
+import { Duration } from './constructor';
+
+var proto = Duration.prototype;
+
+import { abs } from './abs';
+import { add, subtract } from './add-subtract';
+import { as, asMilliseconds, asSeconds, asMinutes, asHours, asDays, asWeeks, asMonths, asQuarters, asYears, valueOf } from './as';
+import { bubble } from './bubble';
+import { clone } from './clone';
+import { get, milliseconds, seconds, minutes, hours, days, months, years, weeks } from './get';
+import { humanize } from './humanize';
+import { toISOString } from './iso-string';
+import { lang, locale, localeData } from '../moment/locale';
+import { isValid } from './valid';
+
+proto.isValid        = isValid;
+proto.abs            = abs;
+proto.add            = add;
+proto.subtract       = subtract;
+proto.as             = as;
+proto.asMilliseconds = asMilliseconds;
+proto.asSeconds      = asSeconds;
+proto.asMinutes      = asMinutes;
+proto.asHours        = asHours;
+proto.asDays         = asDays;
+proto.asWeeks        = asWeeks;
+proto.asMonths       = asMonths;
+proto.asQuarters     = asQuarters;
+proto.asYears        = asYears;
+proto.valueOf        = valueOf;
+proto._bubble        = bubble;
+proto.clone          = clone;
+proto.get            = get;
+proto.milliseconds   = milliseconds;
+proto.seconds        = seconds;
+proto.minutes        = minutes;
+proto.hours          = hours;
+proto.days           = days;
+proto.weeks          = weeks;
+proto.months         = months;
+proto.years          = years;
+proto.humanize       = humanize;
+proto.toISOString    = toISOString;
+proto.toString       = toISOString;
+proto.toJSON         = toISOString;
+proto.locale         = locale;
+proto.localeData     = localeData;
+
+// Deprecations
+import { deprecate } from '../utils/deprecate';
+
+proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString);
+proto.lang = lang;
diff --git a/public/bower_components/moment/src/lib/duration/valid.js b/public/bower_components/moment/src/lib/duration/valid.js
new file mode 100644
index 0000000..033fd5b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/duration/valid.js
@@ -0,0 +1,36 @@
+import toInt from '../utils/to-int';
+import indexOf from '../utils/index-of';
+import {Duration} from './constructor';
+import {createDuration} from './create';
+
+var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];
+
+export default function isDurationValid(m) {
+    for (var key in m) {
+        if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {
+            return false;
+        }
+    }
+
+    var unitHasDecimal = false;
+    for (var i = 0; i < ordering.length; ++i) {
+        if (m[ordering[i]]) {
+            if (unitHasDecimal) {
+                return false; // only allow non-integers for smallest unit
+            }
+            if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {
+                unitHasDecimal = true;
+            }
+        }
+    }
+
+    return true;
+}
+
+export function isValid() {
+    return this._isValid;
+}
+
+export function createInvalid() {
+    return createDuration(NaN);
+}
diff --git a/public/bower_components/moment/src/lib/format/format.js b/public/bower_components/moment/src/lib/format/format.js
new file mode 100644
index 0000000..03f5c58
--- /dev/null
+++ b/public/bower_components/moment/src/lib/format/format.js
@@ -0,0 +1,92 @@
+import zeroFill from '../utils/zero-fill';
+import isFunction from '../utils/is-function';
+
+export var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
+
+var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
+
+var formatFunctions = {};
+
+export var formatTokenFunctions = {};
+
+// token:    'M'
+// padded:   ['MM', 2]
+// ordinal:  'Mo'
+// callback: function () { this.month() + 1 }
+export function addFormatToken (token, padded, ordinal, callback) {
+    var func = callback;
+    if (typeof callback === 'string') {
+        func = function () {
+            return this[callback]();
+        };
+    }
+    if (token) {
+        formatTokenFunctions[token] = func;
+    }
+    if (padded) {
+        formatTokenFunctions[padded[0]] = function () {
+            return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
+        };
+    }
+    if (ordinal) {
+        formatTokenFunctions[ordinal] = function () {
+            return this.localeData().ordinal(func.apply(this, arguments), token);
+        };
+    }
+}
+
+function removeFormattingTokens(input) {
+    if (input.match(/\[[\s\S]/)) {
+        return input.replace(/^\[|\]$/g, '');
+    }
+    return input.replace(/\\/g, '');
+}
+
+function makeFormatFunction(format) {
+    var array = format.match(formattingTokens), i, length;
+
+    for (i = 0, length = array.length; i < length; i++) {
+        if (formatTokenFunctions[array[i]]) {
+            array[i] = formatTokenFunctions[array[i]];
+        } else {
+            array[i] = removeFormattingTokens(array[i]);
+        }
+    }
+
+    return function (mom) {
+        var output = '', i;
+        for (i = 0; i < length; i++) {
+            output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];
+        }
+        return output;
+    };
+}
+
+// format date using native date object
+export function formatMoment(m, format) {
+    if (!m.isValid()) {
+        return m.localeData().invalidDate();
+    }
+
+    format = expandFormat(format, m.localeData());
+    formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
+
+    return formatFunctions[format](m);
+}
+
+export function expandFormat(format, locale) {
+    var i = 5;
+
+    function replaceLongDateFormatTokens(input) {
+        return locale.longDateFormat(input) || input;
+    }
+
+    localFormattingTokens.lastIndex = 0;
+    while (i >= 0 && localFormattingTokens.test(format)) {
+        format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
+        localFormattingTokens.lastIndex = 0;
+        i -= 1;
+    }
+
+    return format;
+}
diff --git a/public/bower_components/moment/src/lib/locale/base-config.js b/public/bower_components/moment/src/lib/locale/base-config.js
new file mode 100644
index 0000000..d7a7c66
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/base-config.js
@@ -0,0 +1,44 @@
+import { defaultCalendar } from './calendar';
+import { defaultLongDateFormat } from './formats';
+import { defaultInvalidDate } from './invalid';
+import { defaultOrdinal, defaultDayOfMonthOrdinalParse } from './ordinal';
+import { defaultRelativeTime } from './relative';
+
+// months
+import {
+    defaultLocaleMonths,
+    defaultLocaleMonthsShort,
+} from '../units/month';
+
+// week
+import { defaultLocaleWeek } from '../units/week';
+
+// weekdays
+import {
+    defaultLocaleWeekdays,
+    defaultLocaleWeekdaysMin,
+    defaultLocaleWeekdaysShort,
+} from '../units/day-of-week';
+
+// meridiem
+import { defaultLocaleMeridiemParse } from '../units/hour';
+
+export var baseConfig = {
+    calendar: defaultCalendar,
+    longDateFormat: defaultLongDateFormat,
+    invalidDate: defaultInvalidDate,
+    ordinal: defaultOrdinal,
+    dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,
+    relativeTime: defaultRelativeTime,
+
+    months: defaultLocaleMonths,
+    monthsShort: defaultLocaleMonthsShort,
+
+    week: defaultLocaleWeek,
+
+    weekdays: defaultLocaleWeekdays,
+    weekdaysMin: defaultLocaleWeekdaysMin,
+    weekdaysShort: defaultLocaleWeekdaysShort,
+
+    meridiemParse: defaultLocaleMeridiemParse
+};
diff --git a/public/bower_components/moment/src/lib/locale/calendar.js b/public/bower_components/moment/src/lib/locale/calendar.js
new file mode 100644
index 0000000..f12214b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/calendar.js
@@ -0,0 +1,15 @@
+export var defaultCalendar = {
+    sameDay : '[Today at] LT',
+    nextDay : '[Tomorrow at] LT',
+    nextWeek : 'dddd [at] LT',
+    lastDay : '[Yesterday at] LT',
+    lastWeek : '[Last] dddd [at] LT',
+    sameElse : 'L'
+};
+
+import isFunction from '../utils/is-function';
+
+export function calendar (key, mom, now) {
+    var output = this._calendar[key] || this._calendar['sameElse'];
+    return isFunction(output) ? output.call(mom, now) : output;
+}
diff --git a/public/bower_components/moment/src/lib/locale/constructor.js b/public/bower_components/moment/src/lib/locale/constructor.js
new file mode 100644
index 0000000..c32b73e
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/constructor.js
@@ -0,0 +1,5 @@
+export function Locale(config) {
+    if (config != null) {
+        this.set(config);
+    }
+}
diff --git a/public/bower_components/moment/src/lib/locale/en.js b/public/bower_components/moment/src/lib/locale/en.js
new file mode 100644
index 0000000..4a7d250
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/en.js
@@ -0,0 +1,15 @@
+import './prototype';
+import { getSetGlobalLocale } from './locales';
+import toInt from '../utils/to-int';
+
+getSetGlobalLocale('en', {
+    dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (toInt(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    }
+});
diff --git a/public/bower_components/moment/src/lib/locale/formats.js b/public/bower_components/moment/src/lib/locale/formats.js
new file mode 100644
index 0000000..6d83b03
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/formats.js
@@ -0,0 +1,23 @@
+export var defaultLongDateFormat = {
+    LTS  : 'h:mm:ss A',
+    LT   : 'h:mm A',
+    L    : 'MM/DD/YYYY',
+    LL   : 'MMMM D, YYYY',
+    LLL  : 'MMMM D, YYYY h:mm A',
+    LLLL : 'dddd, MMMM D, YYYY h:mm A'
+};
+
+export function longDateFormat (key) {
+    var format = this._longDateFormat[key],
+        formatUpper = this._longDateFormat[key.toUpperCase()];
+
+    if (format || !formatUpper) {
+        return format;
+    }
+
+    this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
+        return val.slice(1);
+    });
+
+    return this._longDateFormat[key];
+}
diff --git a/public/bower_components/moment/src/lib/locale/invalid.js b/public/bower_components/moment/src/lib/locale/invalid.js
new file mode 100644
index 0000000..e909633
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/invalid.js
@@ -0,0 +1,5 @@
+export var defaultInvalidDate = 'Invalid date';
+
+export function invalidDate () {
+    return this._invalidDate;
+}
diff --git a/public/bower_components/moment/src/lib/locale/lists.js b/public/bower_components/moment/src/lib/locale/lists.js
new file mode 100644
index 0000000..42f7572
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/lists.js
@@ -0,0 +1,93 @@
+import isNumber from '../utils/is-number';
+import { getLocale } from './locales';
+import { createUTC } from '../create/utc';
+
+function get (format, index, field, setter) {
+    var locale = getLocale();
+    var utc = createUTC().set(setter, index);
+    return locale[field](utc, format);
+}
+
+function listMonthsImpl (format, index, field) {
+    if (isNumber(format)) {
+        index = format;
+        format = undefined;
+    }
+
+    format = format || '';
+
+    if (index != null) {
+        return get(format, index, field, 'month');
+    }
+
+    var i;
+    var out = [];
+    for (i = 0; i < 12; i++) {
+        out[i] = get(format, i, field, 'month');
+    }
+    return out;
+}
+
+// ()
+// (5)
+// (fmt, 5)
+// (fmt)
+// (true)
+// (true, 5)
+// (true, fmt, 5)
+// (true, fmt)
+function listWeekdaysImpl (localeSorted, format, index, field) {
+    if (typeof localeSorted === 'boolean') {
+        if (isNumber(format)) {
+            index = format;
+            format = undefined;
+        }
+
+        format = format || '';
+    } else {
+        format = localeSorted;
+        index = format;
+        localeSorted = false;
+
+        if (isNumber(format)) {
+            index = format;
+            format = undefined;
+        }
+
+        format = format || '';
+    }
+
+    var locale = getLocale(),
+        shift = localeSorted ? locale._week.dow : 0;
+
+    if (index != null) {
+        return get(format, (index + shift) % 7, field, 'day');
+    }
+
+    var i;
+    var out = [];
+    for (i = 0; i < 7; i++) {
+        out[i] = get(format, (i + shift) % 7, field, 'day');
+    }
+    return out;
+}
+
+export function listMonths (format, index) {
+    return listMonthsImpl(format, index, 'months');
+}
+
+export function listMonthsShort (format, index) {
+    return listMonthsImpl(format, index, 'monthsShort');
+}
+
+export function listWeekdays (localeSorted, format, index) {
+    return listWeekdaysImpl(localeSorted, format, index, 'weekdays');
+}
+
+export function listWeekdaysShort (localeSorted, format, index) {
+    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');
+}
+
+export function listWeekdaysMin (localeSorted, format, index) {
+    return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');
+}
diff --git a/public/bower_components/moment/src/lib/locale/locale.js b/public/bower_components/moment/src/lib/locale/locale.js
new file mode 100644
index 0000000..ac9cebf
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/locale.js
@@ -0,0 +1,39 @@
+// Side effect imports
+import './prototype';
+
+import {
+    getSetGlobalLocale,
+    defineLocale,
+    updateLocale,
+    getLocale,
+    listLocales
+} from './locales';
+
+import {
+    listMonths,
+    listMonthsShort,
+    listWeekdays,
+    listWeekdaysShort,
+    listWeekdaysMin
+} from './lists';
+
+export {
+    getSetGlobalLocale,
+    defineLocale,
+    updateLocale,
+    getLocale,
+    listLocales,
+    listMonths,
+    listMonthsShort,
+    listWeekdays,
+    listWeekdaysShort,
+    listWeekdaysMin
+};
+
+import { deprecate } from '../utils/deprecate';
+import { hooks } from '../utils/hooks';
+
+hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);
+hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);
+
+import './en';
diff --git a/public/bower_components/moment/src/lib/locale/locales.js b/public/bower_components/moment/src/lib/locale/locales.js
new file mode 100644
index 0000000..af28bfe
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/locales.js
@@ -0,0 +1,197 @@
+import isArray from '../utils/is-array';
+import hasOwnProp from '../utils/has-own-prop';
+import isUndefined from '../utils/is-undefined';
+import compareArrays from '../utils/compare-arrays';
+import { deprecateSimple } from '../utils/deprecate';
+import { mergeConfigs } from './set';
+import { Locale } from './constructor';
+import keys from '../utils/keys';
+
+import { baseConfig } from './base-config';
+
+// internal storage for locale config files
+var locales = {};
+var localeFamilies = {};
+var globalLocale;
+
+function normalizeLocale(key) {
+    return key ? key.toLowerCase().replace('_', '-') : key;
+}
+
+// pick the locale from the array
+// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
+// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
+function chooseLocale(names) {
+    var i = 0, j, next, locale, split;
+
+    while (i < names.length) {
+        split = normalizeLocale(names[i]).split('-');
+        j = split.length;
+        next = normalizeLocale(names[i + 1]);
+        next = next ? next.split('-') : null;
+        while (j > 0) {
+            locale = loadLocale(split.slice(0, j).join('-'));
+            if (locale) {
+                return locale;
+            }
+            if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
+                //the next array item is better than a shallower substring of this one
+                break;
+            }
+            j--;
+        }
+        i++;
+    }
+    return globalLocale;
+}
+
+function loadLocale(name) {
+    var oldLocale = null;
+    // TODO: Find a better way to register and load all the locales in Node
+    if (!locales[name] && (typeof module !== 'undefined') &&
+            module && module.exports) {
+        try {
+            oldLocale = globalLocale._abbr;
+            var aliasedRequire = require;
+            aliasedRequire('./locale/' + name);
+            getSetGlobalLocale(oldLocale);
+        } catch (e) {}
+    }
+    return locales[name];
+}
+
+// This function will load locale and then set the global locale.  If
+// no arguments are passed in, it will simply return the current global
+// locale key.
+export function getSetGlobalLocale (key, values) {
+    var data;
+    if (key) {
+        if (isUndefined(values)) {
+            data = getLocale(key);
+        }
+        else {
+            data = defineLocale(key, values);
+        }
+
+        if (data) {
+            // moment.duration._locale = moment._locale = data;
+            globalLocale = data;
+        }
+        else {
+            if ((typeof console !==  'undefined') && console.warn) {
+                //warn user if arguments are passed but the locale could not be set
+                console.warn('Locale ' + key +  ' not found. Did you forget to load it?');
+            }
+        }
+    }
+
+    return globalLocale._abbr;
+}
+
+export function defineLocale (name, config) {
+    if (config !== null) {
+        var locale, parentConfig = baseConfig;
+        config.abbr = name;
+        if (locales[name] != null) {
+            deprecateSimple('defineLocaleOverride',
+                    'use moment.updateLocale(localeName, config) to change ' +
+                    'an existing locale. moment.defineLocale(localeName, ' +
+                    'config) should only be used for creating a new locale ' +
+                    'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');
+            parentConfig = locales[name]._config;
+        } else if (config.parentLocale != null) {
+            if (locales[config.parentLocale] != null) {
+                parentConfig = locales[config.parentLocale]._config;
+            } else {
+                locale = loadLocale(config.parentLocale);
+                if (locale != null) {
+                    parentConfig = locale._config;
+                } else {
+                    if (!localeFamilies[config.parentLocale]) {
+                        localeFamilies[config.parentLocale] = [];
+                    }
+                    localeFamilies[config.parentLocale].push({
+                        name: name,
+                        config: config
+                    });
+                    return null;
+                }
+            }
+        }
+        locales[name] = new Locale(mergeConfigs(parentConfig, config));
+
+        if (localeFamilies[name]) {
+            localeFamilies[name].forEach(function (x) {
+                defineLocale(x.name, x.config);
+            });
+        }
+
+        // backwards compat for now: also set the locale
+        // make sure we set the locale AFTER all child locales have been
+        // created, so we won't end up with the child locale set.
+        getSetGlobalLocale(name);
+
+
+        return locales[name];
+    } else {
+        // useful for testing
+        delete locales[name];
+        return null;
+    }
+}
+
+export function updateLocale(name, config) {
+    if (config != null) {
+        var locale, tmpLocale, parentConfig = baseConfig;
+        // MERGE
+        tmpLocale = loadLocale(name);
+        if (tmpLocale != null) {
+            parentConfig = tmpLocale._config;
+        }
+        config = mergeConfigs(parentConfig, config);
+        locale = new Locale(config);
+        locale.parentLocale = locales[name];
+        locales[name] = locale;
+
+        // backwards compat for now: also set the locale
+        getSetGlobalLocale(name);
+    } else {
+        // pass null for config to unupdate, useful for tests
+        if (locales[name] != null) {
+            if (locales[name].parentLocale != null) {
+                locales[name] = locales[name].parentLocale;
+            } else if (locales[name] != null) {
+                delete locales[name];
+            }
+        }
+    }
+    return locales[name];
+}
+
+// returns locale data
+export function getLocale (key) {
+    var locale;
+
+    if (key && key._locale && key._locale._abbr) {
+        key = key._locale._abbr;
+    }
+
+    if (!key) {
+        return globalLocale;
+    }
+
+    if (!isArray(key)) {
+        //short-circuit everything else
+        locale = loadLocale(key);
+        if (locale) {
+            return locale;
+        }
+        key = [key];
+    }
+
+    return chooseLocale(key);
+}
+
+export function listLocales() {
+    return keys(locales);
+}
diff --git a/public/bower_components/moment/src/lib/locale/ordinal.js b/public/bower_components/moment/src/lib/locale/ordinal.js
new file mode 100644
index 0000000..e2efc05
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/ordinal.js
@@ -0,0 +1,7 @@
+export var defaultOrdinal = '%d';
+export var defaultDayOfMonthOrdinalParse = /\d{1,2}/;
+
+export function ordinal (number) {
+    return this._ordinal.replace('%d', number);
+}
+
diff --git a/public/bower_components/moment/src/lib/locale/pre-post-format.js b/public/bower_components/moment/src/lib/locale/pre-post-format.js
new file mode 100644
index 0000000..10ed205
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/pre-post-format.js
@@ -0,0 +1,3 @@
+export function preParsePostFormat (string) {
+    return string;
+}
diff --git a/public/bower_components/moment/src/lib/locale/prototype.js b/public/bower_components/moment/src/lib/locale/prototype.js
new file mode 100644
index 0000000..24eef89
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/prototype.js
@@ -0,0 +1,69 @@
+import { Locale } from './constructor';
+
+var proto = Locale.prototype;
+
+import { calendar } from './calendar';
+import { longDateFormat } from './formats';
+import { invalidDate } from './invalid';
+import { ordinal } from './ordinal';
+import { preParsePostFormat } from './pre-post-format';
+import { relativeTime, pastFuture } from './relative';
+import { set } from './set';
+
+proto.calendar        = calendar;
+proto.longDateFormat  = longDateFormat;
+proto.invalidDate     = invalidDate;
+proto.ordinal         = ordinal;
+proto.preparse        = preParsePostFormat;
+proto.postformat      = preParsePostFormat;
+proto.relativeTime    = relativeTime;
+proto.pastFuture      = pastFuture;
+proto.set             = set;
+
+// Month
+import {
+    localeMonthsParse,
+    localeMonths,
+    localeMonthsShort,
+    monthsRegex,
+    monthsShortRegex
+} from '../units/month';
+
+proto.months            =        localeMonths;
+proto.monthsShort       =        localeMonthsShort;
+proto.monthsParse       =        localeMonthsParse;
+proto.monthsRegex       = monthsRegex;
+proto.monthsShortRegex  = monthsShortRegex;
+
+// Week
+import { localeWeek, localeFirstDayOfYear, localeFirstDayOfWeek } from '../units/week';
+proto.week = localeWeek;
+proto.firstDayOfYear = localeFirstDayOfYear;
+proto.firstDayOfWeek = localeFirstDayOfWeek;
+
+// Day of Week
+import {
+    localeWeekdaysParse,
+    localeWeekdays,
+    localeWeekdaysMin,
+    localeWeekdaysShort,
+
+    weekdaysRegex,
+    weekdaysShortRegex,
+    weekdaysMinRegex
+} from '../units/day-of-week';
+
+proto.weekdays       =        localeWeekdays;
+proto.weekdaysMin    =        localeWeekdaysMin;
+proto.weekdaysShort  =        localeWeekdaysShort;
+proto.weekdaysParse  =        localeWeekdaysParse;
+
+proto.weekdaysRegex       =        weekdaysRegex;
+proto.weekdaysShortRegex  =        weekdaysShortRegex;
+proto.weekdaysMinRegex    =        weekdaysMinRegex;
+
+// Hours
+import { localeIsPM, localeMeridiem } from '../units/hour';
+
+proto.isPM = localeIsPM;
+proto.meridiem = localeMeridiem;
diff --git a/public/bower_components/moment/src/lib/locale/relative.js b/public/bower_components/moment/src/lib/locale/relative.js
new file mode 100644
index 0000000..431466b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/relative.js
@@ -0,0 +1,30 @@
+export var defaultRelativeTime = {
+    future : 'in %s',
+    past   : '%s ago',
+    s  : 'a few seconds',
+    ss : '%d seconds',
+    m  : 'a minute',
+    mm : '%d minutes',
+    h  : 'an hour',
+    hh : '%d hours',
+    d  : 'a day',
+    dd : '%d days',
+    M  : 'a month',
+    MM : '%d months',
+    y  : 'a year',
+    yy : '%d years'
+};
+
+import isFunction from '../utils/is-function';
+
+export function relativeTime (number, withoutSuffix, string, isFuture) {
+    var output = this._relativeTime[string];
+    return (isFunction(output)) ?
+        output(number, withoutSuffix, string, isFuture) :
+        output.replace(/%d/i, number);
+}
+
+export function pastFuture (diff, output) {
+    var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
+    return isFunction(format) ? format(output) : format.replace(/%s/i, output);
+}
diff --git a/public/bower_components/moment/src/lib/locale/set.js b/public/bower_components/moment/src/lib/locale/set.js
new file mode 100644
index 0000000..c63d5ad
--- /dev/null
+++ b/public/bower_components/moment/src/lib/locale/set.js
@@ -0,0 +1,49 @@
+import isFunction from '../utils/is-function';
+import extend from '../utils/extend';
+import isObject from '../utils/is-object';
+import hasOwnProp from '../utils/has-own-prop';
+
+export function set (config) {
+    var prop, i;
+    for (i in config) {
+        prop = config[i];
+        if (isFunction(prop)) {
+            this[i] = prop;
+        } else {
+            this['_' + i] = prop;
+        }
+    }
+    this._config = config;
+    // Lenient ordinal parsing accepts just a number in addition to
+    // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.
+    // TODO: Remove "ordinalParse" fallback in next major release.
+    this._dayOfMonthOrdinalParseLenient = new RegExp(
+        (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +
+            '|' + (/\d{1,2}/).source);
+}
+
+export function mergeConfigs(parentConfig, childConfig) {
+    var res = extend({}, parentConfig), prop;
+    for (prop in childConfig) {
+        if (hasOwnProp(childConfig, prop)) {
+            if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
+                res[prop] = {};
+                extend(res[prop], parentConfig[prop]);
+                extend(res[prop], childConfig[prop]);
+            } else if (childConfig[prop] != null) {
+                res[prop] = childConfig[prop];
+            } else {
+                delete res[prop];
+            }
+        }
+    }
+    for (prop in parentConfig) {
+        if (hasOwnProp(parentConfig, prop) &&
+                !hasOwnProp(childConfig, prop) &&
+                isObject(parentConfig[prop])) {
+            // make sure changes to properties don't modify parent config
+            res[prop] = extend({}, res[prop]);
+        }
+    }
+    return res;
+}
diff --git a/public/bower_components/moment/src/lib/moment/add-subtract.js b/public/bower_components/moment/src/lib/moment/add-subtract.js
new file mode 100644
index 0000000..e758b5d
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/add-subtract.js
@@ -0,0 +1,55 @@
+import { get, set } from './get-set';
+import { setMonth } from '../units/month';
+import { createDuration } from '../duration/create';
+import { deprecateSimple } from '../utils/deprecate';
+import { hooks } from '../utils/hooks';
+import absRound from '../utils/abs-round';
+
+
+// TODO: remove 'name' arg after deprecation is removed
+function createAdder(direction, name) {
+    return function (val, period) {
+        var dur, tmp;
+        //invert the arguments, but complain about it
+        if (period !== null && !isNaN(+period)) {
+            deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +
+            'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');
+            tmp = val; val = period; period = tmp;
+        }
+
+        val = typeof val === 'string' ? +val : val;
+        dur = createDuration(val, period);
+        addSubtract(this, dur, direction);
+        return this;
+    };
+}
+
+export function addSubtract (mom, duration, isAdding, updateOffset) {
+    var milliseconds = duration._milliseconds,
+        days = absRound(duration._days),
+        months = absRound(duration._months);
+
+    if (!mom.isValid()) {
+        // No op
+        return;
+    }
+
+    updateOffset = updateOffset == null ? true : updateOffset;
+
+    if (months) {
+        setMonth(mom, get(mom, 'Month') + months * isAdding);
+    }
+    if (days) {
+        set(mom, 'Date', get(mom, 'Date') + days * isAdding);
+    }
+    if (milliseconds) {
+        mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);
+    }
+    if (updateOffset) {
+        hooks.updateOffset(mom, days || months);
+    }
+}
+
+export var add      = createAdder(1, 'add');
+export var subtract = createAdder(-1, 'subtract');
+
diff --git a/public/bower_components/moment/src/lib/moment/calendar.js b/public/bower_components/moment/src/lib/moment/calendar.js
new file mode 100644
index 0000000..4b5725c
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/calendar.js
@@ -0,0 +1,26 @@
+import { createLocal } from '../create/local';
+import { cloneWithOffset } from '../units/offset';
+import isFunction from '../utils/is-function';
+import { hooks } from '../utils/hooks';
+
+export function getCalendarFormat(myMoment, now) {
+    var diff = myMoment.diff(now, 'days', true);
+    return diff < -6 ? 'sameElse' :
+            diff < -1 ? 'lastWeek' :
+            diff < 0 ? 'lastDay' :
+            diff < 1 ? 'sameDay' :
+            diff < 2 ? 'nextDay' :
+            diff < 7 ? 'nextWeek' : 'sameElse';
+}
+
+export function calendar (time, formats) {
+    // We want to compare the start of today, vs this.
+    // Getting start-of-today depends on whether we're local/utc/offset or not.
+    var now = time || createLocal(),
+        sod = cloneWithOffset(now, this).startOf('day'),
+        format = hooks.calendarFormat(this, sod) || 'sameElse';
+
+    var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);
+
+    return this.format(output || this.localeData().calendar(format, this, createLocal(now)));
+}
diff --git a/public/bower_components/moment/src/lib/moment/clone.js b/public/bower_components/moment/src/lib/moment/clone.js
new file mode 100644
index 0000000..d96b328
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/clone.js
@@ -0,0 +1,5 @@
+import { Moment } from './constructor';
+
+export function clone () {
+    return new Moment(this);
+}
diff --git a/public/bower_components/moment/src/lib/moment/compare.js b/public/bower_components/moment/src/lib/moment/compare.js
new file mode 100644
index 0000000..8b23dba
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/compare.js
@@ -0,0 +1,63 @@
+import { isMoment } from './constructor';
+import { normalizeUnits } from '../units/aliases';
+import { createLocal } from '../create/local';
+
+export function isAfter (input, units) {
+    var localInput = isMoment(input) ? input : createLocal(input);
+    if (!(this.isValid() && localInput.isValid())) {
+        return false;
+    }
+    units = normalizeUnits(units) || 'millisecond';
+    if (units === 'millisecond') {
+        return this.valueOf() > localInput.valueOf();
+    } else {
+        return localInput.valueOf() < this.clone().startOf(units).valueOf();
+    }
+}
+
+export function isBefore (input, units) {
+    var localInput = isMoment(input) ? input : createLocal(input);
+    if (!(this.isValid() && localInput.isValid())) {
+        return false;
+    }
+    units = normalizeUnits(units) || 'millisecond';
+    if (units === 'millisecond') {
+        return this.valueOf() < localInput.valueOf();
+    } else {
+        return this.clone().endOf(units).valueOf() < localInput.valueOf();
+    }
+}
+
+export function isBetween (from, to, units, inclusivity) {
+    var localFrom = isMoment(from) ? from : createLocal(from),
+        localTo = isMoment(to) ? to : createLocal(to);
+    if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {
+        return false;
+    }
+    inclusivity = inclusivity || '()';
+    return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&
+        (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));
+}
+
+export function isSame (input, units) {
+    var localInput = isMoment(input) ? input : createLocal(input),
+        inputMs;
+    if (!(this.isValid() && localInput.isValid())) {
+        return false;
+    }
+    units = normalizeUnits(units) || 'millisecond';
+    if (units === 'millisecond') {
+        return this.valueOf() === localInput.valueOf();
+    } else {
+        inputMs = localInput.valueOf();
+        return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();
+    }
+}
+
+export function isSameOrAfter (input, units) {
+    return this.isSame(input, units) || this.isAfter(input, units);
+}
+
+export function isSameOrBefore (input, units) {
+    return this.isSame(input, units) || this.isBefore(input, units);
+}
diff --git a/public/bower_components/moment/src/lib/moment/constructor.js b/public/bower_components/moment/src/lib/moment/constructor.js
new file mode 100644
index 0000000..bc53f81
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/constructor.js
@@ -0,0 +1,77 @@
+import { hooks } from '../utils/hooks';
+import hasOwnProp from '../utils/has-own-prop';
+import isUndefined from '../utils/is-undefined';
+import getParsingFlags from '../create/parsing-flags';
+
+// Plugins that add properties should also add the key here (null value),
+// so we can properly clone ourselves.
+var momentProperties = hooks.momentProperties = [];
+
+export function copyConfig(to, from) {
+    var i, prop, val;
+
+    if (!isUndefined(from._isAMomentObject)) {
+        to._isAMomentObject = from._isAMomentObject;
+    }
+    if (!isUndefined(from._i)) {
+        to._i = from._i;
+    }
+    if (!isUndefined(from._f)) {
+        to._f = from._f;
+    }
+    if (!isUndefined(from._l)) {
+        to._l = from._l;
+    }
+    if (!isUndefined(from._strict)) {
+        to._strict = from._strict;
+    }
+    if (!isUndefined(from._tzm)) {
+        to._tzm = from._tzm;
+    }
+    if (!isUndefined(from._isUTC)) {
+        to._isUTC = from._isUTC;
+    }
+    if (!isUndefined(from._offset)) {
+        to._offset = from._offset;
+    }
+    if (!isUndefined(from._pf)) {
+        to._pf = getParsingFlags(from);
+    }
+    if (!isUndefined(from._locale)) {
+        to._locale = from._locale;
+    }
+
+    if (momentProperties.length > 0) {
+        for (i = 0; i < momentProperties.length; i++) {
+            prop = momentProperties[i];
+            val = from[prop];
+            if (!isUndefined(val)) {
+                to[prop] = val;
+            }
+        }
+    }
+
+    return to;
+}
+
+var updateInProgress = false;
+
+// Moment prototype object
+export function Moment(config) {
+    copyConfig(this, config);
+    this._d = new Date(config._d != null ? config._d.getTime() : NaN);
+    if (!this.isValid()) {
+        this._d = new Date(NaN);
+    }
+    // Prevent infinite loop in case updateOffset creates new moment
+    // objects.
+    if (updateInProgress === false) {
+        updateInProgress = true;
+        hooks.updateOffset(this);
+        updateInProgress = false;
+    }
+}
+
+export function isMoment (obj) {
+    return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
+}
diff --git a/public/bower_components/moment/src/lib/moment/creation-data.js b/public/bower_components/moment/src/lib/moment/creation-data.js
new file mode 100644
index 0000000..7e2d69a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/creation-data.js
@@ -0,0 +1,9 @@
+export function creationData() {
+    return {
+        input: this._i,
+        format: this._f,
+        locale: this._locale,
+        isUTC: this._isUTC,
+        strict: this._strict
+    };
+}
diff --git a/public/bower_components/moment/src/lib/moment/diff.js b/public/bower_components/moment/src/lib/moment/diff.js
new file mode 100644
index 0000000..85254df
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/diff.js
@@ -0,0 +1,58 @@
+import absFloor from '../utils/abs-floor';
+import { cloneWithOffset } from '../units/offset';
+import { normalizeUnits } from '../units/aliases';
+
+export function diff (input, units, asFloat) {
+    var that,
+        zoneDelta,
+        delta, output;
+
+    if (!this.isValid()) {
+        return NaN;
+    }
+
+    that = cloneWithOffset(input, this);
+
+    if (!that.isValid()) {
+        return NaN;
+    }
+
+    zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
+
+    units = normalizeUnits(units);
+
+    switch (units) {
+        case 'year': output = monthDiff(this, that) / 12; break;
+        case 'month': output = monthDiff(this, that); break;
+        case 'quarter': output = monthDiff(this, that) / 3; break;
+        case 'second': output = (this - that) / 1e3; break; // 1000
+        case 'minute': output = (this - that) / 6e4; break; // 1000 * 60
+        case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60
+        case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst
+        case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst
+        default: output = this - that;
+    }
+
+    return asFloat ? output : absFloor(output);
+}
+
+function monthDiff (a, b) {
+    // difference in months
+    var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
+        // b is in (anchor - 1 month, anchor + 1 month)
+        anchor = a.clone().add(wholeMonthDiff, 'months'),
+        anchor2, adjust;
+
+    if (b - anchor < 0) {
+        anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
+        // linear across the month
+        adjust = (b - anchor) / (anchor - anchor2);
+    } else {
+        anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
+        // linear across the month
+        adjust = (b - anchor) / (anchor2 - anchor);
+    }
+
+    //check for negative zero, return zero if negative zero
+    return -(wholeMonthDiff + adjust) || 0;
+}
diff --git a/public/bower_components/moment/src/lib/moment/format.js b/public/bower_components/moment/src/lib/moment/format.js
new file mode 100644
index 0000000..9544f51
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/format.js
@@ -0,0 +1,62 @@
+import { formatMoment } from '../format/format';
+import { hooks } from '../utils/hooks';
+import isFunction from '../utils/is-function';
+
+hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
+hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';
+
+export function toString () {
+    return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
+}
+
+export function toISOString(keepOffset) {
+    if (!this.isValid()) {
+        return null;
+    }
+    var utc = keepOffset !== true;
+    var m = utc ? this.clone().utc() : this;
+    if (m.year() < 0 || m.year() > 9999) {
+        return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');
+    }
+    if (isFunction(Date.prototype.toISOString)) {
+        // native implementation is ~50x faster, use it when we can
+        if (utc) {
+            return this.toDate().toISOString();
+        } else {
+            return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));
+        }
+    }
+    return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');
+}
+
+/**
+ * Return a human readable representation of a moment that can
+ * also be evaluated to get a new moment which is the same
+ *
+ * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects
+ */
+export function inspect () {
+    if (!this.isValid()) {
+        return 'moment.invalid(/* ' + this._i + ' */)';
+    }
+    var func = 'moment';
+    var zone = '';
+    if (!this.isLocal()) {
+        func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';
+        zone = 'Z';
+    }
+    var prefix = '[' + func + '("]';
+    var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';
+    var datetime = '-MM-DD[T]HH:mm:ss.SSS';
+    var suffix = zone + '[")]';
+
+    return this.format(prefix + year + datetime + suffix);
+}
+
+export function format (inputString) {
+    if (!inputString) {
+        inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;
+    }
+    var output = formatMoment(this, inputString);
+    return this.localeData().postformat(output);
+}
diff --git a/public/bower_components/moment/src/lib/moment/from.js b/public/bower_components/moment/src/lib/moment/from.js
new file mode 100644
index 0000000..4fbd03e
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/from.js
@@ -0,0 +1,17 @@
+import { createDuration } from '../duration/create';
+import { createLocal } from '../create/local';
+import { isMoment } from '../moment/constructor';
+
+export function from (time, withoutSuffix) {
+    if (this.isValid() &&
+            ((isMoment(time) && time.isValid()) ||
+             createLocal(time).isValid())) {
+        return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
+    } else {
+        return this.localeData().invalidDate();
+    }
+}
+
+export function fromNow (withoutSuffix) {
+    return this.from(createLocal(), withoutSuffix);
+}
diff --git a/public/bower_components/moment/src/lib/moment/get-set.js b/public/bower_components/moment/src/lib/moment/get-set.js
new file mode 100644
index 0000000..f5035f1
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/get-set.js
@@ -0,0 +1,61 @@
+import { normalizeUnits, normalizeObjectUnits } from '../units/aliases';
+import { getPrioritizedUnits } from '../units/priorities';
+import { hooks } from '../utils/hooks';
+import isFunction from '../utils/is-function';
+import { daysInMonth } from '../units/month';
+import { isLeapYear } from '../units/year';
+
+export function makeGetSet (unit, keepTime) {
+    return function (value) {
+        if (value != null) {
+            set(this, unit, value);
+            hooks.updateOffset(this, keepTime);
+            return this;
+        } else {
+            return get(this, unit);
+        }
+    };
+}
+
+export function get (mom, unit) {
+    return mom.isValid() ?
+        mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
+}
+
+export function set (mom, unit, value) {
+    if (mom.isValid() && !isNaN(value)) {
+        if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {
+            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));
+        }
+        else {
+            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
+        }
+    }
+}
+
+// MOMENTS
+
+export function stringGet (units) {
+    units = normalizeUnits(units);
+    if (isFunction(this[units])) {
+        return this[units]();
+    }
+    return this;
+}
+
+
+export function stringSet (units, value) {
+    if (typeof units === 'object') {
+        units = normalizeObjectUnits(units);
+        var prioritized = getPrioritizedUnits(units);
+        for (var i = 0; i < prioritized.length; i++) {
+            this[prioritized[i].unit](units[prioritized[i].unit]);
+        }
+    } else {
+        units = normalizeUnits(units);
+        if (isFunction(this[units])) {
+            return this[units](value);
+        }
+    }
+    return this;
+}
diff --git a/public/bower_components/moment/src/lib/moment/locale.js b/public/bower_components/moment/src/lib/moment/locale.js
new file mode 100644
index 0000000..fb46e65
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/locale.js
@@ -0,0 +1,34 @@
+import { getLocale } from '../locale/locales';
+import { deprecate } from '../utils/deprecate';
+
+// If passed a locale key, it will set the locale for this
+// instance.  Otherwise, it will return the locale configuration
+// variables for this instance.
+export function locale (key) {
+    var newLocaleData;
+
+    if (key === undefined) {
+        return this._locale._abbr;
+    } else {
+        newLocaleData = getLocale(key);
+        if (newLocaleData != null) {
+            this._locale = newLocaleData;
+        }
+        return this;
+    }
+}
+
+export var lang = deprecate(
+    'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
+    function (key) {
+        if (key === undefined) {
+            return this.localeData();
+        } else {
+            return this.locale(key);
+        }
+    }
+);
+
+export function localeData () {
+    return this._locale;
+}
diff --git a/public/bower_components/moment/src/lib/moment/min-max.js b/public/bower_components/moment/src/lib/moment/min-max.js
new file mode 100644
index 0000000..d76920a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/min-max.js
@@ -0,0 +1,63 @@
+import { deprecate } from '../utils/deprecate';
+import isArray from '../utils/is-array';
+import { createLocal } from '../create/local';
+import { createInvalid } from '../create/valid';
+
+export var prototypeMin = deprecate(
+    'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',
+    function () {
+        var other = createLocal.apply(null, arguments);
+        if (this.isValid() && other.isValid()) {
+            return other < this ? this : other;
+        } else {
+            return createInvalid();
+        }
+    }
+);
+
+export var prototypeMax = deprecate(
+    'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',
+    function () {
+        var other = createLocal.apply(null, arguments);
+        if (this.isValid() && other.isValid()) {
+            return other > this ? this : other;
+        } else {
+            return createInvalid();
+        }
+    }
+);
+
+// Pick a moment m from moments so that m[fn](other) is true for all
+// other. This relies on the function fn to be transitive.
+//
+// moments should either be an array of moment objects or an array, whose
+// first element is an array of moment objects.
+function pickBy(fn, moments) {
+    var res, i;
+    if (moments.length === 1 && isArray(moments[0])) {
+        moments = moments[0];
+    }
+    if (!moments.length) {
+        return createLocal();
+    }
+    res = moments[0];
+    for (i = 1; i < moments.length; ++i) {
+        if (!moments[i].isValid() || moments[i][fn](res)) {
+            res = moments[i];
+        }
+    }
+    return res;
+}
+
+// TODO: Use [].sort instead?
+export function min () {
+    var args = [].slice.call(arguments, 0);
+
+    return pickBy('isBefore', args);
+}
+
+export function max () {
+    var args = [].slice.call(arguments, 0);
+
+    return pickBy('isAfter', args);
+}
diff --git a/public/bower_components/moment/src/lib/moment/moment.js b/public/bower_components/moment/src/lib/moment/moment.js
new file mode 100644
index 0000000..12eb5f1
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/moment.js
@@ -0,0 +1,28 @@
+import { createLocal } from '../create/local';
+import { createUTC } from '../create/utc';
+import { createInvalid } from '../create/valid';
+import { isMoment } from './constructor';
+import { min, max } from './min-max';
+import { now } from './now';
+import momentPrototype from './prototype';
+
+function createUnix (input) {
+    return createLocal(input * 1000);
+}
+
+function createInZone () {
+    return createLocal.apply(null, arguments).parseZone();
+}
+
+export {
+    now,
+    min,
+    max,
+    isMoment,
+    createUTC,
+    createUnix,
+    createLocal,
+    createInZone,
+    createInvalid,
+    momentPrototype
+};
diff --git a/public/bower_components/moment/src/lib/moment/now.js b/public/bower_components/moment/src/lib/moment/now.js
new file mode 100644
index 0000000..0f4d0ae
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/now.js
@@ -0,0 +1,3 @@
+export var now = function () {
+    return Date.now ? Date.now() : +(new Date());
+};
diff --git a/public/bower_components/moment/src/lib/moment/prototype.js b/public/bower_components/moment/src/lib/moment/prototype.js
new file mode 100644
index 0000000..bd8fff7
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/prototype.js
@@ -0,0 +1,150 @@
+import { Moment } from './constructor';
+
+var proto = Moment.prototype;
+
+import { add, subtract } from './add-subtract';
+import { calendar, getCalendarFormat } from './calendar';
+import { clone } from './clone';
+import { isBefore, isBetween, isSame, isAfter, isSameOrAfter, isSameOrBefore } from './compare';
+import { diff } from './diff';
+import { format, toString, toISOString, inspect } from './format';
+import { from, fromNow } from './from';
+import { to, toNow } from './to';
+import { stringGet, stringSet } from './get-set';
+import { locale, localeData, lang } from './locale';
+import { prototypeMin, prototypeMax } from './min-max';
+import { startOf, endOf } from './start-end-of';
+import { valueOf, toDate, toArray, toObject, toJSON, unix } from './to-type';
+import { isValid, parsingFlags, invalidAt } from './valid';
+import { creationData } from './creation-data';
+
+proto.add               = add;
+proto.calendar          = calendar;
+proto.clone             = clone;
+proto.diff              = diff;
+proto.endOf             = endOf;
+proto.format            = format;
+proto.from              = from;
+proto.fromNow           = fromNow;
+proto.to                = to;
+proto.toNow             = toNow;
+proto.get               = stringGet;
+proto.invalidAt         = invalidAt;
+proto.isAfter           = isAfter;
+proto.isBefore          = isBefore;
+proto.isBetween         = isBetween;
+proto.isSame            = isSame;
+proto.isSameOrAfter     = isSameOrAfter;
+proto.isSameOrBefore    = isSameOrBefore;
+proto.isValid           = isValid;
+proto.lang              = lang;
+proto.locale            = locale;
+proto.localeData        = localeData;
+proto.max               = prototypeMax;
+proto.min               = prototypeMin;
+proto.parsingFlags      = parsingFlags;
+proto.set               = stringSet;
+proto.startOf           = startOf;
+proto.subtract          = subtract;
+proto.toArray           = toArray;
+proto.toObject          = toObject;
+proto.toDate            = toDate;
+proto.toISOString       = toISOString;
+proto.inspect           = inspect;
+proto.toJSON            = toJSON;
+proto.toString          = toString;
+proto.unix              = unix;
+proto.valueOf           = valueOf;
+proto.creationData      = creationData;
+
+// Year
+import { getSetYear, getIsLeapYear } from '../units/year';
+proto.year       = getSetYear;
+proto.isLeapYear = getIsLeapYear;
+
+// Week Year
+import { getSetWeekYear, getSetISOWeekYear, getWeeksInYear, getISOWeeksInYear } from '../units/week-year';
+proto.weekYear    = getSetWeekYear;
+proto.isoWeekYear = getSetISOWeekYear;
+
+// Quarter
+import { getSetQuarter } from '../units/quarter';
+proto.quarter = proto.quarters = getSetQuarter;
+
+// Month
+import { getSetMonth, getDaysInMonth } from '../units/month';
+proto.month       = getSetMonth;
+proto.daysInMonth = getDaysInMonth;
+
+// Week
+import { getSetWeek, getSetISOWeek } from '../units/week';
+proto.week           = proto.weeks        = getSetWeek;
+proto.isoWeek        = proto.isoWeeks     = getSetISOWeek;
+proto.weeksInYear    = getWeeksInYear;
+proto.isoWeeksInYear = getISOWeeksInYear;
+
+// Day
+import { getSetDayOfMonth } from '../units/day-of-month';
+import { getSetDayOfWeek, getSetISODayOfWeek, getSetLocaleDayOfWeek } from '../units/day-of-week';
+import { getSetDayOfYear } from '../units/day-of-year';
+proto.date       = getSetDayOfMonth;
+proto.day        = proto.days             = getSetDayOfWeek;
+proto.weekday    = getSetLocaleDayOfWeek;
+proto.isoWeekday = getSetISODayOfWeek;
+proto.dayOfYear  = getSetDayOfYear;
+
+// Hour
+import { getSetHour } from '../units/hour';
+proto.hour = proto.hours = getSetHour;
+
+// Minute
+import { getSetMinute } from '../units/minute';
+proto.minute = proto.minutes = getSetMinute;
+
+// Second
+import { getSetSecond } from '../units/second';
+proto.second = proto.seconds = getSetSecond;
+
+// Millisecond
+import { getSetMillisecond } from '../units/millisecond';
+proto.millisecond = proto.milliseconds = getSetMillisecond;
+
+// Offset
+import {
+    getSetOffset,
+    setOffsetToUTC,
+    setOffsetToLocal,
+    setOffsetToParsedOffset,
+    hasAlignedHourOffset,
+    isDaylightSavingTime,
+    isDaylightSavingTimeShifted,
+    getSetZone,
+    isLocal,
+    isUtcOffset,
+    isUtc
+} from '../units/offset';
+proto.utcOffset            = getSetOffset;
+proto.utc                  = setOffsetToUTC;
+proto.local                = setOffsetToLocal;
+proto.parseZone            = setOffsetToParsedOffset;
+proto.hasAlignedHourOffset = hasAlignedHourOffset;
+proto.isDST                = isDaylightSavingTime;
+proto.isLocal              = isLocal;
+proto.isUtcOffset          = isUtcOffset;
+proto.isUtc                = isUtc;
+proto.isUTC                = isUtc;
+
+// Timezone
+import { getZoneAbbr, getZoneName } from '../units/timezone';
+proto.zoneAbbr = getZoneAbbr;
+proto.zoneName = getZoneName;
+
+// Deprecations
+import { deprecate } from '../utils/deprecate';
+proto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
+proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
+proto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);
+proto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);
+proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);
+
+export default proto;
diff --git a/public/bower_components/moment/src/lib/moment/start-end-of.js b/public/bower_components/moment/src/lib/moment/start-end-of.js
new file mode 100644
index 0000000..42c19cb
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/start-end-of.js
@@ -0,0 +1,128 @@
+import { normalizeUnits } from '../units/aliases';
+import { hooks } from '../utils/hooks';
+
+var MS_PER_SECOND = 1000;
+var MS_PER_MINUTE = 60 * MS_PER_SECOND;
+var MS_PER_HOUR = 60 * MS_PER_MINUTE;
+var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;
+
+// actual modulo - handles negative numbers (for dates before 1970):
+function mod(dividend, divisor) {
+    return (dividend % divisor + divisor) % divisor;
+}
+
+function localStartOfDate(y, m, d) {
+    // the date constructor remaps years 0-99 to 1900-1999
+    if (y < 100 && y >= 0) {
+        // preserve leap years using a full 400 year cycle, then reset
+        return new Date(y + 400, m, d) - MS_PER_400_YEARS;
+    } else {
+        return new Date(y, m, d).valueOf();
+    }
+}
+
+function utcStartOfDate(y, m, d) {
+    // Date.UTC remaps years 0-99 to 1900-1999
+    if (y < 100 && y >= 0) {
+        // preserve leap years using a full 400 year cycle, then reset
+        return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;
+    } else {
+        return Date.UTC(y, m, d);
+    }
+}
+
+export function startOf (units) {
+    var time;
+    units = normalizeUnits(units);
+    if (units === undefined || units === 'millisecond' || !this.isValid()) {
+        return this;
+    }
+
+    var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+    switch (units) {
+        case 'year':
+            time = startOfDate(this.year(), 0, 1);
+            break;
+        case 'quarter':
+            time = startOfDate(this.year(), this.month() - this.month() % 3, 1);
+            break;
+        case 'month':
+            time = startOfDate(this.year(), this.month(), 1);
+            break;
+        case 'week':
+            time = startOfDate(this.year(), this.month(), this.date() - this.weekday());
+            break;
+        case 'isoWeek':
+            time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));
+            break;
+        case 'day':
+        case 'date':
+            time = startOfDate(this.year(), this.month(), this.date());
+            break;
+        case 'hour':
+            time = this._d.valueOf();
+            time -= mod(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);
+            break;
+        case 'minute':
+            time = this._d.valueOf();
+            time -= mod(time, MS_PER_MINUTE);
+            break;
+        case 'second':
+            time = this._d.valueOf();
+            time -= mod(time, MS_PER_SECOND);
+            break;
+    }
+
+    this._d.setTime(time);
+    hooks.updateOffset(this, true);
+    return this;
+}
+
+export function endOf (units) {
+    var time;
+    units = normalizeUnits(units);
+    if (units === undefined || units === 'millisecond' || !this.isValid()) {
+        return this;
+    }
+
+    var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;
+
+    switch (units) {
+        case 'year':
+            time = startOfDate(this.year() + 1, 0, 1) - 1;
+            break;
+        case 'quarter':
+            time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;
+            break;
+        case 'month':
+            time = startOfDate(this.year(), this.month() + 1, 1) - 1;
+            break;
+        case 'week':
+            time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;
+            break;
+        case 'isoWeek':
+            time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;
+            break;
+        case 'day':
+        case 'date':
+            time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;
+            break;
+        case 'hour':
+            time = this._d.valueOf();
+            time += MS_PER_HOUR - mod(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;
+            break;
+        case 'minute':
+            time = this._d.valueOf();
+            time += MS_PER_MINUTE - mod(time, MS_PER_MINUTE) - 1;
+            break;
+        case 'second':
+            time = this._d.valueOf();
+            time += MS_PER_SECOND - mod(time, MS_PER_SECOND) - 1;
+            break;
+    }
+
+    this._d.setTime(time);
+    hooks.updateOffset(this, true);
+    return this;
+}
diff --git a/public/bower_components/moment/src/lib/moment/to-type.js b/public/bower_components/moment/src/lib/moment/to-type.js
new file mode 100644
index 0000000..a990dd2
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/to-type.js
@@ -0,0 +1,34 @@
+export function valueOf () {
+    return this._d.valueOf() - ((this._offset || 0) * 60000);
+}
+
+export function unix () {
+    return Math.floor(this.valueOf() / 1000);
+}
+
+export function toDate () {
+    return new Date(this.valueOf());
+}
+
+export function toArray () {
+    var m = this;
+    return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
+}
+
+export function toObject () {
+    var m = this;
+    return {
+        years: m.year(),
+        months: m.month(),
+        date: m.date(),
+        hours: m.hours(),
+        minutes: m.minutes(),
+        seconds: m.seconds(),
+        milliseconds: m.milliseconds()
+    };
+}
+
+export function toJSON () {
+    // new Date(NaN).toJSON() === null
+    return this.isValid() ? this.toISOString() : null;
+}
diff --git a/public/bower_components/moment/src/lib/moment/to.js b/public/bower_components/moment/src/lib/moment/to.js
new file mode 100644
index 0000000..7ad667e
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/to.js
@@ -0,0 +1,17 @@
+import { createDuration } from '../duration/create';
+import { createLocal } from '../create/local';
+import { isMoment } from '../moment/constructor';
+
+export function to (time, withoutSuffix) {
+    if (this.isValid() &&
+            ((isMoment(time) && time.isValid()) ||
+             createLocal(time).isValid())) {
+        return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
+    } else {
+        return this.localeData().invalidDate();
+    }
+}
+
+export function toNow (withoutSuffix) {
+    return this.to(createLocal(), withoutSuffix);
+}
diff --git a/public/bower_components/moment/src/lib/moment/valid.js b/public/bower_components/moment/src/lib/moment/valid.js
new file mode 100644
index 0000000..6c00742
--- /dev/null
+++ b/public/bower_components/moment/src/lib/moment/valid.js
@@ -0,0 +1,15 @@
+import { isValid as _isValid } from '../create/valid';
+import extend from '../utils/extend';
+import getParsingFlags from '../create/parsing-flags';
+
+export function isValid () {
+    return _isValid(this);
+}
+
+export function parsingFlags () {
+    return extend({}, getParsingFlags(this));
+}
+
+export function invalidAt () {
+    return getParsingFlags(this).overflow;
+}
diff --git a/public/bower_components/moment/src/lib/parse/regex.js b/public/bower_components/moment/src/lib/parse/regex.js
new file mode 100644
index 0000000..4b86f34
--- /dev/null
+++ b/public/bower_components/moment/src/lib/parse/regex.js
@@ -0,0 +1,54 @@
+export var match1         = /\d/;            //       0 - 9
+export var match2         = /\d\d/;          //      00 - 99
+export var match3         = /\d{3}/;         //     000 - 999
+export var match4         = /\d{4}/;         //    0000 - 9999
+export var match6         = /[+-]?\d{6}/;    // -999999 - 999999
+export var match1to2      = /\d\d?/;         //       0 - 99
+export var match3to4      = /\d\d\d\d?/;     //     999 - 9999
+export var match5to6      = /\d\d\d\d\d\d?/; //   99999 - 999999
+export var match1to3      = /\d{1,3}/;       //       0 - 999
+export var match1to4      = /\d{1,4}/;       //       0 - 9999
+export var match1to6      = /[+-]?\d{1,6}/;  // -999999 - 999999
+
+export var matchUnsigned  = /\d+/;           //       0 - inf
+export var matchSigned    = /[+-]?\d+/;      //    -inf - inf
+
+export var matchOffset    = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
+export var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
+
+export var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
+
+// any word (or two) characters or numbers including two/three word month in arabic.
+// includes scottish gaelic two word and hyphenated months
+export var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i;
+
+
+import hasOwnProp from '../utils/has-own-prop';
+import isFunction from '../utils/is-function';
+
+var regexes = {};
+
+export function addRegexToken (token, regex, strictRegex) {
+    regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
+        return (isStrict && strictRegex) ? strictRegex : regex;
+    };
+}
+
+export function getParseRegexForToken (token, config) {
+    if (!hasOwnProp(regexes, token)) {
+        return new RegExp(unescapeFormat(token));
+    }
+
+    return regexes[token](config._strict, config._locale);
+}
+
+// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
+function unescapeFormat(s) {
+    return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
+        return p1 || p2 || p3 || p4;
+    }));
+}
+
+export function regexEscape(s) {
+    return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
+}
diff --git a/public/bower_components/moment/src/lib/parse/token.js b/public/bower_components/moment/src/lib/parse/token.js
new file mode 100644
index 0000000..24b4474
--- /dev/null
+++ b/public/bower_components/moment/src/lib/parse/token.js
@@ -0,0 +1,33 @@
+import hasOwnProp from '../utils/has-own-prop';
+import isNumber from '../utils/is-number';
+import toInt from '../utils/to-int';
+
+var tokens = {};
+
+export function addParseToken (token, callback) {
+    var i, func = callback;
+    if (typeof token === 'string') {
+        token = [token];
+    }
+    if (isNumber(callback)) {
+        func = function (input, array) {
+            array[callback] = toInt(input);
+        };
+    }
+    for (i = 0; i < token.length; i++) {
+        tokens[token[i]] = func;
+    }
+}
+
+export function addWeekParseToken (token, callback) {
+    addParseToken(token, function (input, array, config, token) {
+        config._w = config._w || {};
+        callback(input, config._w, config, token);
+    });
+}
+
+export function addTimeToArrayFromToken(token, input, config) {
+    if (input != null && hasOwnProp(tokens, token)) {
+        tokens[token](input, config._a, config, token);
+    }
+}
diff --git a/public/bower_components/moment/src/lib/units/aliases.js b/public/bower_components/moment/src/lib/units/aliases.js
new file mode 100644
index 0000000..0d8b88a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/aliases.js
@@ -0,0 +1,30 @@
+import hasOwnProp from '../utils/has-own-prop';
+
+var aliases = {};
+
+export function addUnitAlias (unit, shorthand) {
+    var lowerCase = unit.toLowerCase();
+    aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
+}
+
+export function normalizeUnits(units) {
+    return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
+}
+
+export function normalizeObjectUnits(inputObject) {
+    var normalizedInput = {},
+        normalizedProp,
+        prop;
+
+    for (prop in inputObject) {
+        if (hasOwnProp(inputObject, prop)) {
+            normalizedProp = normalizeUnits(prop);
+            if (normalizedProp) {
+                normalizedInput[normalizedProp] = inputObject[prop];
+            }
+        }
+    }
+
+    return normalizedInput;
+}
+
diff --git a/public/bower_components/moment/src/lib/units/constants.js b/public/bower_components/moment/src/lib/units/constants.js
new file mode 100644
index 0000000..70bf1b2
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/constants.js
@@ -0,0 +1,9 @@
+export var YEAR = 0;
+export var MONTH = 1;
+export var DATE = 2;
+export var HOUR = 3;
+export var MINUTE = 4;
+export var SECOND = 5;
+export var MILLISECOND = 6;
+export var WEEK = 7;
+export var WEEKDAY = 8;
diff --git a/public/bower_components/moment/src/lib/units/day-of-month.js b/public/bower_components/moment/src/lib/units/day-of-month.js
new file mode 100644
index 0000000..cbd1e40
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/day-of-month.js
@@ -0,0 +1,39 @@
+import { makeGetSet } from '../moment/get-set';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match2 } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { DATE } from './constants';
+import toInt from '../utils/to-int';
+
+// FORMATTING
+
+addFormatToken('D', ['DD', 2], 'Do', 'date');
+
+// ALIASES
+
+addUnitAlias('date', 'D');
+
+// PRIORITY
+addUnitPriority('date', 9);
+
+// PARSING
+
+addRegexToken('D',  match1to2);
+addRegexToken('DD', match1to2, match2);
+addRegexToken('Do', function (isStrict, locale) {
+    // TODO: Remove "ordinalParse" fallback in next major release.
+    return isStrict ?
+      (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :
+      locale._dayOfMonthOrdinalParseLenient;
+});
+
+addParseToken(['D', 'DD'], DATE);
+addParseToken('Do', function (input, array) {
+    array[DATE] = toInt(input.match(match1to2)[0]);
+});
+
+// MOMENTS
+
+export var getSetDayOfMonth = makeGetSet('Date', true);
diff --git a/public/bower_components/moment/src/lib/units/day-of-week.js b/public/bower_components/moment/src/lib/units/day-of-week.js
new file mode 100644
index 0000000..e4c4498
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/day-of-week.js
@@ -0,0 +1,367 @@
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, matchWord, regexEscape } from '../parse/regex';
+import { addWeekParseToken } from '../parse/token';
+import toInt from '../utils/to-int';
+import isArray from '../utils/is-array';
+import indexOf from '../utils/index-of';
+import hasOwnProp from '../utils/has-own-prop';
+import { createUTC } from '../create/utc';
+import getParsingFlags from '../create/parsing-flags';
+
+// FORMATTING
+
+addFormatToken('d', 0, 'do', 'day');
+
+addFormatToken('dd', 0, 0, function (format) {
+    return this.localeData().weekdaysMin(this, format);
+});
+
+addFormatToken('ddd', 0, 0, function (format) {
+    return this.localeData().weekdaysShort(this, format);
+});
+
+addFormatToken('dddd', 0, 0, function (format) {
+    return this.localeData().weekdays(this, format);
+});
+
+addFormatToken('e', 0, 0, 'weekday');
+addFormatToken('E', 0, 0, 'isoWeekday');
+
+// ALIASES
+
+addUnitAlias('day', 'd');
+addUnitAlias('weekday', 'e');
+addUnitAlias('isoWeekday', 'E');
+
+// PRIORITY
+addUnitPriority('day', 11);
+addUnitPriority('weekday', 11);
+addUnitPriority('isoWeekday', 11);
+
+// PARSING
+
+addRegexToken('d',    match1to2);
+addRegexToken('e',    match1to2);
+addRegexToken('E',    match1to2);
+addRegexToken('dd',   function (isStrict, locale) {
+    return locale.weekdaysMinRegex(isStrict);
+});
+addRegexToken('ddd',   function (isStrict, locale) {
+    return locale.weekdaysShortRegex(isStrict);
+});
+addRegexToken('dddd',   function (isStrict, locale) {
+    return locale.weekdaysRegex(isStrict);
+});
+
+addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
+    var weekday = config._locale.weekdaysParse(input, token, config._strict);
+    // if we didn't get a weekday name, mark the date as invalid
+    if (weekday != null) {
+        week.d = weekday;
+    } else {
+        getParsingFlags(config).invalidWeekday = input;
+    }
+});
+
+addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
+    week[token] = toInt(input);
+});
+
+// HELPERS
+
+function parseWeekday(input, locale) {
+    if (typeof input !== 'string') {
+        return input;
+    }
+
+    if (!isNaN(input)) {
+        return parseInt(input, 10);
+    }
+
+    input = locale.weekdaysParse(input);
+    if (typeof input === 'number') {
+        return input;
+    }
+
+    return null;
+}
+
+function parseIsoWeekday(input, locale) {
+    if (typeof input === 'string') {
+        return locale.weekdaysParse(input) % 7 || 7;
+    }
+    return isNaN(input) ? null : input;
+}
+
+// LOCALES
+function shiftWeekdays (ws, n) {
+    return ws.slice(n, 7).concat(ws.slice(0, n));
+}
+
+export var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
+export function localeWeekdays (m, format) {
+    var weekdays = isArray(this._weekdays) ? this._weekdays :
+        this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];
+    return (m === true) ? shiftWeekdays(weekdays, this._week.dow)
+        : (m) ? weekdays[m.day()] : weekdays;
+}
+
+export var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
+export function localeWeekdaysShort (m) {
+    return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)
+        : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;
+}
+
+export var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
+export function localeWeekdaysMin (m) {
+    return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)
+        : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;
+}
+
+function handleStrictParse(weekdayName, format, strict) {
+    var i, ii, mom, llc = weekdayName.toLocaleLowerCase();
+    if (!this._weekdaysParse) {
+        this._weekdaysParse = [];
+        this._shortWeekdaysParse = [];
+        this._minWeekdaysParse = [];
+
+        for (i = 0; i < 7; ++i) {
+            mom = createUTC([2000, 1]).day(i);
+            this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();
+            this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();
+            this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();
+        }
+    }
+
+    if (strict) {
+        if (format === 'dddd') {
+            ii = indexOf.call(this._weekdaysParse, llc);
+            return ii !== -1 ? ii : null;
+        } else if (format === 'ddd') {
+            ii = indexOf.call(this._shortWeekdaysParse, llc);
+            return ii !== -1 ? ii : null;
+        } else {
+            ii = indexOf.call(this._minWeekdaysParse, llc);
+            return ii !== -1 ? ii : null;
+        }
+    } else {
+        if (format === 'dddd') {
+            ii = indexOf.call(this._weekdaysParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._shortWeekdaysParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._minWeekdaysParse, llc);
+            return ii !== -1 ? ii : null;
+        } else if (format === 'ddd') {
+            ii = indexOf.call(this._shortWeekdaysParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._weekdaysParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._minWeekdaysParse, llc);
+            return ii !== -1 ? ii : null;
+        } else {
+            ii = indexOf.call(this._minWeekdaysParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._weekdaysParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._shortWeekdaysParse, llc);
+            return ii !== -1 ? ii : null;
+        }
+    }
+}
+
+export function localeWeekdaysParse (weekdayName, format, strict) {
+    var i, mom, regex;
+
+    if (this._weekdaysParseExact) {
+        return handleStrictParse.call(this, weekdayName, format, strict);
+    }
+
+    if (!this._weekdaysParse) {
+        this._weekdaysParse = [];
+        this._minWeekdaysParse = [];
+        this._shortWeekdaysParse = [];
+        this._fullWeekdaysParse = [];
+    }
+
+    for (i = 0; i < 7; i++) {
+        // make the regex if we don't have it already
+
+        mom = createUTC([2000, 1]).day(i);
+        if (strict && !this._fullWeekdaysParse[i]) {
+            this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i');
+            this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i');
+            this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i');
+        }
+        if (!this._weekdaysParse[i]) {
+            regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
+            this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
+        }
+        // test the regex
+        if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
+            return i;
+        } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
+            return i;
+        } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
+            return i;
+        } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
+            return i;
+        }
+    }
+}
+
+// MOMENTS
+
+export function getSetDayOfWeek (input) {
+    if (!this.isValid()) {
+        return input != null ? this : NaN;
+    }
+    var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
+    if (input != null) {
+        input = parseWeekday(input, this.localeData());
+        return this.add(input - day, 'd');
+    } else {
+        return day;
+    }
+}
+
+export function getSetLocaleDayOfWeek (input) {
+    if (!this.isValid()) {
+        return input != null ? this : NaN;
+    }
+    var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
+    return input == null ? weekday : this.add(input - weekday, 'd');
+}
+
+export function getSetISODayOfWeek (input) {
+    if (!this.isValid()) {
+        return input != null ? this : NaN;
+    }
+
+    // behaves the same as moment#day except
+    // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
+    // as a setter, sunday should belong to the previous week.
+
+    if (input != null) {
+        var weekday = parseIsoWeekday(input, this.localeData());
+        return this.day(this.day() % 7 ? weekday : weekday - 7);
+    } else {
+        return this.day() || 7;
+    }
+}
+
+var defaultWeekdaysRegex = matchWord;
+export function weekdaysRegex (isStrict) {
+    if (this._weekdaysParseExact) {
+        if (!hasOwnProp(this, '_weekdaysRegex')) {
+            computeWeekdaysParse.call(this);
+        }
+        if (isStrict) {
+            return this._weekdaysStrictRegex;
+        } else {
+            return this._weekdaysRegex;
+        }
+    } else {
+        if (!hasOwnProp(this, '_weekdaysRegex')) {
+            this._weekdaysRegex = defaultWeekdaysRegex;
+        }
+        return this._weekdaysStrictRegex && isStrict ?
+            this._weekdaysStrictRegex : this._weekdaysRegex;
+    }
+}
+
+var defaultWeekdaysShortRegex = matchWord;
+export function weekdaysShortRegex (isStrict) {
+    if (this._weekdaysParseExact) {
+        if (!hasOwnProp(this, '_weekdaysRegex')) {
+            computeWeekdaysParse.call(this);
+        }
+        if (isStrict) {
+            return this._weekdaysShortStrictRegex;
+        } else {
+            return this._weekdaysShortRegex;
+        }
+    } else {
+        if (!hasOwnProp(this, '_weekdaysShortRegex')) {
+            this._weekdaysShortRegex = defaultWeekdaysShortRegex;
+        }
+        return this._weekdaysShortStrictRegex && isStrict ?
+            this._weekdaysShortStrictRegex : this._weekdaysShortRegex;
+    }
+}
+
+var defaultWeekdaysMinRegex = matchWord;
+export function weekdaysMinRegex (isStrict) {
+    if (this._weekdaysParseExact) {
+        if (!hasOwnProp(this, '_weekdaysRegex')) {
+            computeWeekdaysParse.call(this);
+        }
+        if (isStrict) {
+            return this._weekdaysMinStrictRegex;
+        } else {
+            return this._weekdaysMinRegex;
+        }
+    } else {
+        if (!hasOwnProp(this, '_weekdaysMinRegex')) {
+            this._weekdaysMinRegex = defaultWeekdaysMinRegex;
+        }
+        return this._weekdaysMinStrictRegex && isStrict ?
+            this._weekdaysMinStrictRegex : this._weekdaysMinRegex;
+    }
+}
+
+
+function computeWeekdaysParse () {
+    function cmpLenRev(a, b) {
+        return b.length - a.length;
+    }
+
+    var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],
+        i, mom, minp, shortp, longp;
+    for (i = 0; i < 7; i++) {
+        // make the regex if we don't have it already
+        mom = createUTC([2000, 1]).day(i);
+        minp = this.weekdaysMin(mom, '');
+        shortp = this.weekdaysShort(mom, '');
+        longp = this.weekdays(mom, '');
+        minPieces.push(minp);
+        shortPieces.push(shortp);
+        longPieces.push(longp);
+        mixedPieces.push(minp);
+        mixedPieces.push(shortp);
+        mixedPieces.push(longp);
+    }
+    // Sorting makes sure if one weekday (or abbr) is a prefix of another it
+    // will match the longer piece.
+    minPieces.sort(cmpLenRev);
+    shortPieces.sort(cmpLenRev);
+    longPieces.sort(cmpLenRev);
+    mixedPieces.sort(cmpLenRev);
+    for (i = 0; i < 7; i++) {
+        shortPieces[i] = regexEscape(shortPieces[i]);
+        longPieces[i] = regexEscape(longPieces[i]);
+        mixedPieces[i] = regexEscape(mixedPieces[i]);
+    }
+
+    this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+    this._weekdaysShortRegex = this._weekdaysRegex;
+    this._weekdaysMinRegex = this._weekdaysRegex;
+
+    this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
+    this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
+    this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');
+}
diff --git a/public/bower_components/moment/src/lib/units/day-of-year.js b/public/bower_components/moment/src/lib/units/day-of-year.js
new file mode 100644
index 0000000..6fe931c
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/day-of-year.js
@@ -0,0 +1,36 @@
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match3, match1to3 } from '../parse/regex';
+import { daysInYear } from './year';
+import { createUTCDate } from '../create/date-from-array';
+import { addParseToken } from '../parse/token';
+import toInt from '../utils/to-int';
+
+// FORMATTING
+
+addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
+
+// ALIASES
+
+addUnitAlias('dayOfYear', 'DDD');
+
+// PRIORITY
+addUnitPriority('dayOfYear', 4);
+
+// PARSING
+
+addRegexToken('DDD',  match1to3);
+addRegexToken('DDDD', match3);
+addParseToken(['DDD', 'DDDD'], function (input, array, config) {
+    config._dayOfYear = toInt(input);
+});
+
+// HELPERS
+
+// MOMENTS
+
+export function getSetDayOfYear (input) {
+    var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
+    return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
+}
diff --git a/public/bower_components/moment/src/lib/units/hour.js b/public/bower_components/moment/src/lib/units/hour.js
new file mode 100644
index 0000000..d717a79
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/hour.js
@@ -0,0 +1,144 @@
+import { makeGetSet } from '../moment/get-set';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match2, match3to4, match5to6 } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { HOUR, MINUTE, SECOND } from './constants';
+import toInt from '../utils/to-int';
+import zeroFill from '../utils/zero-fill';
+import getParsingFlags from '../create/parsing-flags';
+
+// FORMATTING
+
+function hFormat() {
+    return this.hours() % 12 || 12;
+}
+
+function kFormat() {
+    return this.hours() || 24;
+}
+
+addFormatToken('H', ['HH', 2], 0, 'hour');
+addFormatToken('h', ['hh', 2], 0, hFormat);
+addFormatToken('k', ['kk', 2], 0, kFormat);
+
+addFormatToken('hmm', 0, 0, function () {
+    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
+});
+
+addFormatToken('hmmss', 0, 0, function () {
+    return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
+        zeroFill(this.seconds(), 2);
+});
+
+addFormatToken('Hmm', 0, 0, function () {
+    return '' + this.hours() + zeroFill(this.minutes(), 2);
+});
+
+addFormatToken('Hmmss', 0, 0, function () {
+    return '' + this.hours() + zeroFill(this.minutes(), 2) +
+        zeroFill(this.seconds(), 2);
+});
+
+function meridiem (token, lowercase) {
+    addFormatToken(token, 0, 0, function () {
+        return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
+    });
+}
+
+meridiem('a', true);
+meridiem('A', false);
+
+// ALIASES
+
+addUnitAlias('hour', 'h');
+
+// PRIORITY
+addUnitPriority('hour', 13);
+
+// PARSING
+
+function matchMeridiem (isStrict, locale) {
+    return locale._meridiemParse;
+}
+
+addRegexToken('a',  matchMeridiem);
+addRegexToken('A',  matchMeridiem);
+addRegexToken('H',  match1to2);
+addRegexToken('h',  match1to2);
+addRegexToken('k',  match1to2);
+addRegexToken('HH', match1to2, match2);
+addRegexToken('hh', match1to2, match2);
+addRegexToken('kk', match1to2, match2);
+
+addRegexToken('hmm', match3to4);
+addRegexToken('hmmss', match5to6);
+addRegexToken('Hmm', match3to4);
+addRegexToken('Hmmss', match5to6);
+
+addParseToken(['H', 'HH'], HOUR);
+addParseToken(['k', 'kk'], function (input, array, config) {
+    var kInput = toInt(input);
+    array[HOUR] = kInput === 24 ? 0 : kInput;
+});
+addParseToken(['a', 'A'], function (input, array, config) {
+    config._isPm = config._locale.isPM(input);
+    config._meridiem = input;
+});
+addParseToken(['h', 'hh'], function (input, array, config) {
+    array[HOUR] = toInt(input);
+    getParsingFlags(config).bigHour = true;
+});
+addParseToken('hmm', function (input, array, config) {
+    var pos = input.length - 2;
+    array[HOUR] = toInt(input.substr(0, pos));
+    array[MINUTE] = toInt(input.substr(pos));
+    getParsingFlags(config).bigHour = true;
+});
+addParseToken('hmmss', function (input, array, config) {
+    var pos1 = input.length - 4;
+    var pos2 = input.length - 2;
+    array[HOUR] = toInt(input.substr(0, pos1));
+    array[MINUTE] = toInt(input.substr(pos1, 2));
+    array[SECOND] = toInt(input.substr(pos2));
+    getParsingFlags(config).bigHour = true;
+});
+addParseToken('Hmm', function (input, array, config) {
+    var pos = input.length - 2;
+    array[HOUR] = toInt(input.substr(0, pos));
+    array[MINUTE] = toInt(input.substr(pos));
+});
+addParseToken('Hmmss', function (input, array, config) {
+    var pos1 = input.length - 4;
+    var pos2 = input.length - 2;
+    array[HOUR] = toInt(input.substr(0, pos1));
+    array[MINUTE] = toInt(input.substr(pos1, 2));
+    array[SECOND] = toInt(input.substr(pos2));
+});
+
+// LOCALES
+
+export function localeIsPM (input) {
+    // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
+    // Using charAt should be more compatible.
+    return ((input + '').toLowerCase().charAt(0) === 'p');
+}
+
+export var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
+export function localeMeridiem (hours, minutes, isLower) {
+    if (hours > 11) {
+        return isLower ? 'pm' : 'PM';
+    } else {
+        return isLower ? 'am' : 'AM';
+    }
+}
+
+
+// MOMENTS
+
+// Setting the hour should keep the time, because the user explicitly
+// specified which hour they want. So trying to maintain the same hour (in
+// a new timezone) makes sense. Adding/subtracting hours does not follow
+// this rule.
+export var getSetHour = makeGetSet('Hours', true);
diff --git a/public/bower_components/moment/src/lib/units/millisecond.js b/public/bower_components/moment/src/lib/units/millisecond.js
new file mode 100644
index 0000000..27c9512
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/millisecond.js
@@ -0,0 +1,69 @@
+import { makeGetSet } from '../moment/get-set';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1, match2, match3, match1to3, matchUnsigned } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { MILLISECOND } from './constants';
+import toInt from '../utils/to-int';
+
+// FORMATTING
+
+addFormatToken('S', 0, 0, function () {
+    return ~~(this.millisecond() / 100);
+});
+
+addFormatToken(0, ['SS', 2], 0, function () {
+    return ~~(this.millisecond() / 10);
+});
+
+addFormatToken(0, ['SSS', 3], 0, 'millisecond');
+addFormatToken(0, ['SSSS', 4], 0, function () {
+    return this.millisecond() * 10;
+});
+addFormatToken(0, ['SSSSS', 5], 0, function () {
+    return this.millisecond() * 100;
+});
+addFormatToken(0, ['SSSSSS', 6], 0, function () {
+    return this.millisecond() * 1000;
+});
+addFormatToken(0, ['SSSSSSS', 7], 0, function () {
+    return this.millisecond() * 10000;
+});
+addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
+    return this.millisecond() * 100000;
+});
+addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
+    return this.millisecond() * 1000000;
+});
+
+
+// ALIASES
+
+addUnitAlias('millisecond', 'ms');
+
+// PRIORITY
+
+addUnitPriority('millisecond', 16);
+
+// PARSING
+
+addRegexToken('S',    match1to3, match1);
+addRegexToken('SS',   match1to3, match2);
+addRegexToken('SSS',  match1to3, match3);
+
+var token;
+for (token = 'SSSS'; token.length <= 9; token += 'S') {
+    addRegexToken(token, matchUnsigned);
+}
+
+function parseMs(input, array) {
+    array[MILLISECOND] = toInt(('0.' + input) * 1000);
+}
+
+for (token = 'S'; token.length <= 9; token += 'S') {
+    addParseToken(token, parseMs);
+}
+// MOMENTS
+
+export var getSetMillisecond = makeGetSet('Milliseconds', false);
diff --git a/public/bower_components/moment/src/lib/units/minute.js b/public/bower_components/moment/src/lib/units/minute.js
new file mode 100644
index 0000000..9f76032
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/minute.js
@@ -0,0 +1,29 @@
+import { makeGetSet } from '../moment/get-set';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match2 } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { MINUTE } from './constants';
+
+// FORMATTING
+
+addFormatToken('m', ['mm', 2], 0, 'minute');
+
+// ALIASES
+
+addUnitAlias('minute', 'm');
+
+// PRIORITY
+
+addUnitPriority('minute', 14);
+
+// PARSING
+
+addRegexToken('m',  match1to2);
+addRegexToken('mm', match1to2, match2);
+addParseToken(['m', 'mm'], MINUTE);
+
+// MOMENTS
+
+export var getSetMinute = makeGetSet('Minutes', false);
diff --git a/public/bower_components/moment/src/lib/units/month.js b/public/bower_components/moment/src/lib/units/month.js
new file mode 100644
index 0000000..f504ed3
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/month.js
@@ -0,0 +1,290 @@
+import { get } from '../moment/get-set';
+import hasOwnProp from '../utils/has-own-prop';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match2, matchWord, regexEscape } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { hooks } from '../utils/hooks';
+import { MONTH } from './constants';
+import toInt from '../utils/to-int';
+import isArray from '../utils/is-array';
+import isNumber from '../utils/is-number';
+import mod from '../utils/mod';
+import indexOf from '../utils/index-of';
+import { createUTC } from '../create/utc';
+import getParsingFlags from '../create/parsing-flags';
+import { isLeapYear } from '../units/year';
+
+export function daysInMonth(year, month) {
+    if (isNaN(year) || isNaN(month)) {
+        return NaN;
+    }
+    var modMonth = mod(month, 12);
+    year += (month - modMonth) / 12;
+    return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);
+}
+
+// FORMATTING
+
+addFormatToken('M', ['MM', 2], 'Mo', function () {
+    return this.month() + 1;
+});
+
+addFormatToken('MMM', 0, 0, function (format) {
+    return this.localeData().monthsShort(this, format);
+});
+
+addFormatToken('MMMM', 0, 0, function (format) {
+    return this.localeData().months(this, format);
+});
+
+// ALIASES
+
+addUnitAlias('month', 'M');
+
+// PRIORITY
+
+addUnitPriority('month', 8);
+
+// PARSING
+
+addRegexToken('M',    match1to2);
+addRegexToken('MM',   match1to2, match2);
+addRegexToken('MMM',  function (isStrict, locale) {
+    return locale.monthsShortRegex(isStrict);
+});
+addRegexToken('MMMM', function (isStrict, locale) {
+    return locale.monthsRegex(isStrict);
+});
+
+addParseToken(['M', 'MM'], function (input, array) {
+    array[MONTH] = toInt(input) - 1;
+});
+
+addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
+    var month = config._locale.monthsParse(input, token, config._strict);
+    // if we didn't find a month name, mark the date as invalid.
+    if (month != null) {
+        array[MONTH] = month;
+    } else {
+        getParsingFlags(config).invalidMonth = input;
+    }
+});
+
+// LOCALES
+
+var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/;
+export var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
+export function localeMonths (m, format) {
+    if (!m) {
+        return isArray(this._months) ? this._months :
+            this._months['standalone'];
+    }
+    return isArray(this._months) ? this._months[m.month()] :
+        this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];
+}
+
+export var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
+export function localeMonthsShort (m, format) {
+    if (!m) {
+        return isArray(this._monthsShort) ? this._monthsShort :
+            this._monthsShort['standalone'];
+    }
+    return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
+        this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
+}
+
+function handleStrictParse(monthName, format, strict) {
+    var i, ii, mom, llc = monthName.toLocaleLowerCase();
+    if (!this._monthsParse) {
+        // this is not used
+        this._monthsParse = [];
+        this._longMonthsParse = [];
+        this._shortMonthsParse = [];
+        for (i = 0; i < 12; ++i) {
+            mom = createUTC([2000, i]);
+            this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();
+            this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();
+        }
+    }
+
+    if (strict) {
+        if (format === 'MMM') {
+            ii = indexOf.call(this._shortMonthsParse, llc);
+            return ii !== -1 ? ii : null;
+        } else {
+            ii = indexOf.call(this._longMonthsParse, llc);
+            return ii !== -1 ? ii : null;
+        }
+    } else {
+        if (format === 'MMM') {
+            ii = indexOf.call(this._shortMonthsParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._longMonthsParse, llc);
+            return ii !== -1 ? ii : null;
+        } else {
+            ii = indexOf.call(this._longMonthsParse, llc);
+            if (ii !== -1) {
+                return ii;
+            }
+            ii = indexOf.call(this._shortMonthsParse, llc);
+            return ii !== -1 ? ii : null;
+        }
+    }
+}
+
+export function localeMonthsParse (monthName, format, strict) {
+    var i, mom, regex;
+
+    if (this._monthsParseExact) {
+        return handleStrictParse.call(this, monthName, format, strict);
+    }
+
+    if (!this._monthsParse) {
+        this._monthsParse = [];
+        this._longMonthsParse = [];
+        this._shortMonthsParse = [];
+    }
+
+    // TODO: add sorting
+    // Sorting makes sure if one month (or abbr) is a prefix of another
+    // see sorting in computeMonthsParse
+    for (i = 0; i < 12; i++) {
+        // make the regex if we don't have it already
+        mom = createUTC([2000, i]);
+        if (strict && !this._longMonthsParse[i]) {
+            this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
+            this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
+        }
+        if (!strict && !this._monthsParse[i]) {
+            regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
+            this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
+        }
+        // test the regex
+        if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
+            return i;
+        } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
+            return i;
+        } else if (!strict && this._monthsParse[i].test(monthName)) {
+            return i;
+        }
+    }
+}
+
+// MOMENTS
+
+export function setMonth (mom, value) {
+    var dayOfMonth;
+
+    if (!mom.isValid()) {
+        // No op
+        return mom;
+    }
+
+    if (typeof value === 'string') {
+        if (/^\d+$/.test(value)) {
+            value = toInt(value);
+        } else {
+            value = mom.localeData().monthsParse(value);
+            // TODO: Another silent failure?
+            if (!isNumber(value)) {
+                return mom;
+            }
+        }
+    }
+
+    dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
+    mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
+    return mom;
+}
+
+export function getSetMonth (value) {
+    if (value != null) {
+        setMonth(this, value);
+        hooks.updateOffset(this, true);
+        return this;
+    } else {
+        return get(this, 'Month');
+    }
+}
+
+export function getDaysInMonth () {
+    return daysInMonth(this.year(), this.month());
+}
+
+var defaultMonthsShortRegex = matchWord;
+export function monthsShortRegex (isStrict) {
+    if (this._monthsParseExact) {
+        if (!hasOwnProp(this, '_monthsRegex')) {
+            computeMonthsParse.call(this);
+        }
+        if (isStrict) {
+            return this._monthsShortStrictRegex;
+        } else {
+            return this._monthsShortRegex;
+        }
+    } else {
+        if (!hasOwnProp(this, '_monthsShortRegex')) {
+            this._monthsShortRegex = defaultMonthsShortRegex;
+        }
+        return this._monthsShortStrictRegex && isStrict ?
+            this._monthsShortStrictRegex : this._monthsShortRegex;
+    }
+}
+
+var defaultMonthsRegex = matchWord;
+export function monthsRegex (isStrict) {
+    if (this._monthsParseExact) {
+        if (!hasOwnProp(this, '_monthsRegex')) {
+            computeMonthsParse.call(this);
+        }
+        if (isStrict) {
+            return this._monthsStrictRegex;
+        } else {
+            return this._monthsRegex;
+        }
+    } else {
+        if (!hasOwnProp(this, '_monthsRegex')) {
+            this._monthsRegex = defaultMonthsRegex;
+        }
+        return this._monthsStrictRegex && isStrict ?
+            this._monthsStrictRegex : this._monthsRegex;
+    }
+}
+
+function computeMonthsParse () {
+    function cmpLenRev(a, b) {
+        return b.length - a.length;
+    }
+
+    var shortPieces = [], longPieces = [], mixedPieces = [],
+        i, mom;
+    for (i = 0; i < 12; i++) {
+        // make the regex if we don't have it already
+        mom = createUTC([2000, i]);
+        shortPieces.push(this.monthsShort(mom, ''));
+        longPieces.push(this.months(mom, ''));
+        mixedPieces.push(this.months(mom, ''));
+        mixedPieces.push(this.monthsShort(mom, ''));
+    }
+    // Sorting makes sure if one month (or abbr) is a prefix of another it
+    // will match the longer piece.
+    shortPieces.sort(cmpLenRev);
+    longPieces.sort(cmpLenRev);
+    mixedPieces.sort(cmpLenRev);
+    for (i = 0; i < 12; i++) {
+        shortPieces[i] = regexEscape(shortPieces[i]);
+        longPieces[i] = regexEscape(longPieces[i]);
+    }
+    for (i = 0; i < 24; i++) {
+        mixedPieces[i] = regexEscape(mixedPieces[i]);
+    }
+
+    this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
+    this._monthsShortRegex = this._monthsRegex;
+    this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');
+    this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');
+}
diff --git a/public/bower_components/moment/src/lib/units/offset.js b/public/bower_components/moment/src/lib/units/offset.js
new file mode 100644
index 0000000..752358f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/offset.js
@@ -0,0 +1,235 @@
+import zeroFill from '../utils/zero-fill';
+import { createDuration } from '../duration/create';
+import { addSubtract } from '../moment/add-subtract';
+import { isMoment, copyConfig } from '../moment/constructor';
+import { addFormatToken } from '../format/format';
+import { addRegexToken, matchOffset, matchShortOffset } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { createLocal } from '../create/local';
+import { prepareConfig } from '../create/from-anything';
+import { createUTC } from '../create/utc';
+import isDate from '../utils/is-date';
+import toInt from '../utils/to-int';
+import isUndefined from '../utils/is-undefined';
+import compareArrays from '../utils/compare-arrays';
+import { hooks } from '../utils/hooks';
+
+// FORMATTING
+
+function offset (token, separator) {
+    addFormatToken(token, 0, 0, function () {
+        var offset = this.utcOffset();
+        var sign = '+';
+        if (offset < 0) {
+            offset = -offset;
+            sign = '-';
+        }
+        return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
+    });
+}
+
+offset('Z', ':');
+offset('ZZ', '');
+
+// PARSING
+
+addRegexToken('Z',  matchShortOffset);
+addRegexToken('ZZ', matchShortOffset);
+addParseToken(['Z', 'ZZ'], function (input, array, config) {
+    config._useUTC = true;
+    config._tzm = offsetFromString(matchShortOffset, input);
+});
+
+// HELPERS
+
+// timezone chunker
+// '+10:00' > ['10',  '00']
+// '-1530'  > ['-15', '30']
+var chunkOffset = /([\+\-]|\d\d)/gi;
+
+function offsetFromString(matcher, string) {
+    var matches = (string || '').match(matcher);
+
+    if (matches === null) {
+        return null;
+    }
+
+    var chunk   = matches[matches.length - 1] || [];
+    var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];
+    var minutes = +(parts[1] * 60) + toInt(parts[2]);
+
+    return minutes === 0 ?
+      0 :
+      parts[0] === '+' ? minutes : -minutes;
+}
+
+// Return a moment from input, that is local/utc/zone equivalent to model.
+export function cloneWithOffset(input, model) {
+    var res, diff;
+    if (model._isUTC) {
+        res = model.clone();
+        diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();
+        // Use low-level api, because this fn is low-level api.
+        res._d.setTime(res._d.valueOf() + diff);
+        hooks.updateOffset(res, false);
+        return res;
+    } else {
+        return createLocal(input).local();
+    }
+}
+
+function getDateOffset (m) {
+    // On Firefox.24 Date#getTimezoneOffset returns a floating point.
+    // https://github.com/moment/moment/pull/1871
+    return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
+}
+
+// HOOKS
+
+// This function will be called whenever a moment is mutated.
+// It is intended to keep the offset in sync with the timezone.
+hooks.updateOffset = function () {};
+
+// MOMENTS
+
+// keepLocalTime = true means only change the timezone, without
+// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
+// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
+// +0200, so we adjust the time as needed, to be valid.
+//
+// Keeping the time actually adds/subtracts (one hour)
+// from the actual represented time. That is why we call updateOffset
+// a second time. In case it wants us to change the offset again
+// _changeInProgress == true case, then we have to adjust, because
+// there is no such time in the given timezone.
+export function getSetOffset (input, keepLocalTime, keepMinutes) {
+    var offset = this._offset || 0,
+        localAdjust;
+    if (!this.isValid()) {
+        return input != null ? this : NaN;
+    }
+    if (input != null) {
+        if (typeof input === 'string') {
+            input = offsetFromString(matchShortOffset, input);
+            if (input === null) {
+                return this;
+            }
+        } else if (Math.abs(input) < 16 && !keepMinutes) {
+            input = input * 60;
+        }
+        if (!this._isUTC && keepLocalTime) {
+            localAdjust = getDateOffset(this);
+        }
+        this._offset = input;
+        this._isUTC = true;
+        if (localAdjust != null) {
+            this.add(localAdjust, 'm');
+        }
+        if (offset !== input) {
+            if (!keepLocalTime || this._changeInProgress) {
+                addSubtract(this, createDuration(input - offset, 'm'), 1, false);
+            } else if (!this._changeInProgress) {
+                this._changeInProgress = true;
+                hooks.updateOffset(this, true);
+                this._changeInProgress = null;
+            }
+        }
+        return this;
+    } else {
+        return this._isUTC ? offset : getDateOffset(this);
+    }
+}
+
+export function getSetZone (input, keepLocalTime) {
+    if (input != null) {
+        if (typeof input !== 'string') {
+            input = -input;
+        }
+
+        this.utcOffset(input, keepLocalTime);
+
+        return this;
+    } else {
+        return -this.utcOffset();
+    }
+}
+
+export function setOffsetToUTC (keepLocalTime) {
+    return this.utcOffset(0, keepLocalTime);
+}
+
+export function setOffsetToLocal (keepLocalTime) {
+    if (this._isUTC) {
+        this.utcOffset(0, keepLocalTime);
+        this._isUTC = false;
+
+        if (keepLocalTime) {
+            this.subtract(getDateOffset(this), 'm');
+        }
+    }
+    return this;
+}
+
+export function setOffsetToParsedOffset () {
+    if (this._tzm != null) {
+        this.utcOffset(this._tzm, false, true);
+    } else if (typeof this._i === 'string') {
+        var tZone = offsetFromString(matchOffset, this._i);
+        if (tZone != null) {
+            this.utcOffset(tZone);
+        }
+        else {
+            this.utcOffset(0, true);
+        }
+    }
+    return this;
+}
+
+export function hasAlignedHourOffset (input) {
+    if (!this.isValid()) {
+        return false;
+    }
+    input = input ? createLocal(input).utcOffset() : 0;
+
+    return (this.utcOffset() - input) % 60 === 0;
+}
+
+export function isDaylightSavingTime () {
+    return (
+        this.utcOffset() > this.clone().month(0).utcOffset() ||
+        this.utcOffset() > this.clone().month(5).utcOffset()
+    );
+}
+
+export function isDaylightSavingTimeShifted () {
+    if (!isUndefined(this._isDSTShifted)) {
+        return this._isDSTShifted;
+    }
+
+    var c = {};
+
+    copyConfig(c, this);
+    c = prepareConfig(c);
+
+    if (c._a) {
+        var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);
+        this._isDSTShifted = this.isValid() &&
+            compareArrays(c._a, other.toArray()) > 0;
+    } else {
+        this._isDSTShifted = false;
+    }
+
+    return this._isDSTShifted;
+}
+
+export function isLocal () {
+    return this.isValid() ? !this._isUTC : false;
+}
+
+export function isUtcOffset () {
+    return this.isValid() ? this._isUTC : false;
+}
+
+export function isUtc () {
+    return this.isValid() ? this._isUTC && this._offset === 0 : false;
+}
diff --git a/public/bower_components/moment/src/lib/units/priorities.js b/public/bower_components/moment/src/lib/units/priorities.js
new file mode 100644
index 0000000..699017c
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/priorities.js
@@ -0,0 +1,16 @@
+var priorities = {};
+
+export function addUnitPriority(unit, priority) {
+    priorities[unit] = priority;
+}
+
+export function getPrioritizedUnits(unitsObj) {
+    var units = [];
+    for (var u in unitsObj) {
+        units.push({unit: u, priority: priorities[u]});
+    }
+    units.sort(function (a, b) {
+        return a.priority - b.priority;
+    });
+    return units;
+}
diff --git a/public/bower_components/moment/src/lib/units/quarter.js b/public/bower_components/moment/src/lib/units/quarter.js
new file mode 100644
index 0000000..a6d409a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/quarter.js
@@ -0,0 +1,32 @@
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1 } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { MONTH } from './constants';
+import toInt from '../utils/to-int';
+
+// FORMATTING
+
+addFormatToken('Q', 0, 'Qo', 'quarter');
+
+// ALIASES
+
+addUnitAlias('quarter', 'Q');
+
+// PRIORITY
+
+addUnitPriority('quarter', 7);
+
+// PARSING
+
+addRegexToken('Q', match1);
+addParseToken('Q', function (input, array) {
+    array[MONTH] = (toInt(input) - 1) * 3;
+});
+
+// MOMENTS
+
+export function getSetQuarter (input) {
+    return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
+}
diff --git a/public/bower_components/moment/src/lib/units/second.js b/public/bower_components/moment/src/lib/units/second.js
new file mode 100644
index 0000000..1793711
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/second.js
@@ -0,0 +1,29 @@
+import { makeGetSet } from '../moment/get-set';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match2 } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { SECOND } from './constants';
+
+// FORMATTING
+
+addFormatToken('s', ['ss', 2], 0, 'second');
+
+// ALIASES
+
+addUnitAlias('second', 's');
+
+// PRIORITY
+
+addUnitPriority('second', 15);
+
+// PARSING
+
+addRegexToken('s',  match1to2);
+addRegexToken('ss', match1to2, match2);
+addParseToken(['s', 'ss'], SECOND);
+
+// MOMENTS
+
+export var getSetSecond = makeGetSet('Seconds', false);
diff --git a/public/bower_components/moment/src/lib/units/timestamp.js b/public/bower_components/moment/src/lib/units/timestamp.js
new file mode 100644
index 0000000..a49e1e4
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/timestamp.js
@@ -0,0 +1,20 @@
+import { addFormatToken } from '../format/format';
+import { addRegexToken, matchTimestamp, matchSigned } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import toInt from '../utils/to-int';
+
+// FORMATTING
+
+addFormatToken('X', 0, 0, 'unix');
+addFormatToken('x', 0, 0, 'valueOf');
+
+// PARSING
+
+addRegexToken('x', matchSigned);
+addRegexToken('X', matchTimestamp);
+addParseToken('X', function (input, array, config) {
+    config._d = new Date(parseFloat(input, 10) * 1000);
+});
+addParseToken('x', function (input, array, config) {
+    config._d = new Date(toInt(input));
+});
diff --git a/public/bower_components/moment/src/lib/units/timezone.js b/public/bower_components/moment/src/lib/units/timezone.js
new file mode 100644
index 0000000..20c81cd
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/timezone.js
@@ -0,0 +1,16 @@
+import { addFormatToken } from '../format/format';
+
+// FORMATTING
+
+addFormatToken('z',  0, 0, 'zoneAbbr');
+addFormatToken('zz', 0, 0, 'zoneName');
+
+// MOMENTS
+
+export function getZoneAbbr () {
+    return this._isUTC ? 'UTC' : '';
+}
+
+export function getZoneName () {
+    return this._isUTC ? 'Coordinated Universal Time' : '';
+}
diff --git a/public/bower_components/moment/src/lib/units/units.js b/public/bower_components/moment/src/lib/units/units.js
new file mode 100644
index 0000000..6f45f1c
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/units.js
@@ -0,0 +1,20 @@
+// Side effect imports
+import './day-of-month';
+import './day-of-week';
+import './day-of-year';
+import './hour';
+import './millisecond';
+import './minute';
+import './month';
+import './offset';
+import './quarter';
+import './second';
+import './timestamp';
+import './timezone';
+import './week-year';
+import './week';
+import './year';
+
+import { normalizeUnits } from './aliases';
+
+export { normalizeUnits };
diff --git a/public/bower_components/moment/src/lib/units/week-calendar-utils.js b/public/bower_components/moment/src/lib/units/week-calendar-utils.js
new file mode 100644
index 0000000..5be8a5f
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/week-calendar-utils.js
@@ -0,0 +1,65 @@
+import { daysInYear } from './year';
+import { createLocal } from '../create/local';
+import { createUTCDate } from '../create/date-from-array';
+
+// start-of-first-week - start-of-year
+function firstWeekOffset(year, dow, doy) {
+    var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
+        fwd = 7 + dow - doy,
+        // first-week day local weekday -- which local weekday is fwd
+        fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
+
+    return -fwdlw + fwd - 1;
+}
+
+// https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
+export function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
+    var localWeekday = (7 + weekday - dow) % 7,
+        weekOffset = firstWeekOffset(year, dow, doy),
+        dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
+        resYear, resDayOfYear;
+
+    if (dayOfYear <= 0) {
+        resYear = year - 1;
+        resDayOfYear = daysInYear(resYear) + dayOfYear;
+    } else if (dayOfYear > daysInYear(year)) {
+        resYear = year + 1;
+        resDayOfYear = dayOfYear - daysInYear(year);
+    } else {
+        resYear = year;
+        resDayOfYear = dayOfYear;
+    }
+
+    return {
+        year: resYear,
+        dayOfYear: resDayOfYear
+    };
+}
+
+export function weekOfYear(mom, dow, doy) {
+    var weekOffset = firstWeekOffset(mom.year(), dow, doy),
+        week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
+        resWeek, resYear;
+
+    if (week < 1) {
+        resYear = mom.year() - 1;
+        resWeek = week + weeksInYear(resYear, dow, doy);
+    } else if (week > weeksInYear(mom.year(), dow, doy)) {
+        resWeek = week - weeksInYear(mom.year(), dow, doy);
+        resYear = mom.year() + 1;
+    } else {
+        resYear = mom.year();
+        resWeek = week;
+    }
+
+    return {
+        week: resWeek,
+        year: resYear
+    };
+}
+
+export function weeksInYear(year, dow, doy) {
+    var weekOffset = firstWeekOffset(year, dow, doy),
+        weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
+    return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
+}
diff --git a/public/bower_components/moment/src/lib/units/week-year.js b/public/bower_components/moment/src/lib/units/week-year.js
new file mode 100644
index 0000000..7fa5425
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/week-year.js
@@ -0,0 +1,107 @@
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';
+import { addWeekParseToken } from '../parse/token';
+import { weekOfYear, weeksInYear, dayOfYearFromWeeks } from './week-calendar-utils';
+import toInt from '../utils/to-int';
+import { hooks } from '../utils/hooks';
+import { createLocal } from '../create/local';
+import { createUTCDate } from '../create/date-from-array';
+
+// FORMATTING
+
+addFormatToken(0, ['gg', 2], 0, function () {
+    return this.weekYear() % 100;
+});
+
+addFormatToken(0, ['GG', 2], 0, function () {
+    return this.isoWeekYear() % 100;
+});
+
+function addWeekYearFormatToken (token, getter) {
+    addFormatToken(0, [token, token.length], 0, getter);
+}
+
+addWeekYearFormatToken('gggg',     'weekYear');
+addWeekYearFormatToken('ggggg',    'weekYear');
+addWeekYearFormatToken('GGGG',  'isoWeekYear');
+addWeekYearFormatToken('GGGGG', 'isoWeekYear');
+
+// ALIASES
+
+addUnitAlias('weekYear', 'gg');
+addUnitAlias('isoWeekYear', 'GG');
+
+// PRIORITY
+
+addUnitPriority('weekYear', 1);
+addUnitPriority('isoWeekYear', 1);
+
+
+// PARSING
+
+addRegexToken('G',      matchSigned);
+addRegexToken('g',      matchSigned);
+addRegexToken('GG',     match1to2, match2);
+addRegexToken('gg',     match1to2, match2);
+addRegexToken('GGGG',   match1to4, match4);
+addRegexToken('gggg',   match1to4, match4);
+addRegexToken('GGGGG',  match1to6, match6);
+addRegexToken('ggggg',  match1to6, match6);
+
+addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
+    week[token.substr(0, 2)] = toInt(input);
+});
+
+addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
+    week[token] = hooks.parseTwoDigitYear(input);
+});
+
+// MOMENTS
+
+export function getSetWeekYear (input) {
+    return getSetWeekYearHelper.call(this,
+            input,
+            this.week(),
+            this.weekday(),
+            this.localeData()._week.dow,
+            this.localeData()._week.doy);
+}
+
+export function getSetISOWeekYear (input) {
+    return getSetWeekYearHelper.call(this,
+            input, this.isoWeek(), this.isoWeekday(), 1, 4);
+}
+
+export function getISOWeeksInYear () {
+    return weeksInYear(this.year(), 1, 4);
+}
+
+export function getWeeksInYear () {
+    var weekInfo = this.localeData()._week;
+    return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
+}
+
+function getSetWeekYearHelper(input, week, weekday, dow, doy) {
+    var weeksTarget;
+    if (input == null) {
+        return weekOfYear(this, dow, doy).year;
+    } else {
+        weeksTarget = weeksInYear(input, dow, doy);
+        if (week > weeksTarget) {
+            week = weeksTarget;
+        }
+        return setWeekAll.call(this, input, week, weekday, dow, doy);
+    }
+}
+
+function setWeekAll(weekYear, week, weekday, dow, doy) {
+    var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
+        date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
+
+    this.year(date.getUTCFullYear());
+    this.month(date.getUTCMonth());
+    this.date(date.getUTCDate());
+    return this;
+}
diff --git a/public/bower_components/moment/src/lib/units/week.js b/public/bower_components/moment/src/lib/units/week.js
new file mode 100644
index 0000000..fbb669e
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/week.js
@@ -0,0 +1,67 @@
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match2 } from '../parse/regex';
+import { addWeekParseToken } from '../parse/token';
+import toInt from '../utils/to-int';
+import { createLocal } from '../create/local';
+import { weekOfYear } from './week-calendar-utils';
+
+// FORMATTING
+
+addFormatToken('w', ['ww', 2], 'wo', 'week');
+addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
+
+// ALIASES
+
+addUnitAlias('week', 'w');
+addUnitAlias('isoWeek', 'W');
+
+// PRIORITIES
+
+addUnitPriority('week', 5);
+addUnitPriority('isoWeek', 5);
+
+// PARSING
+
+addRegexToken('w',  match1to2);
+addRegexToken('ww', match1to2, match2);
+addRegexToken('W',  match1to2);
+addRegexToken('WW', match1to2, match2);
+
+addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
+    week[token.substr(0, 1)] = toInt(input);
+});
+
+// HELPERS
+
+// LOCALES
+
+export function localeWeek (mom) {
+    return weekOfYear(mom, this._week.dow, this._week.doy).week;
+}
+
+export var defaultLocaleWeek = {
+    dow : 0, // Sunday is the first day of the week.
+    doy : 6  // The week that contains Jan 6th is the first week of the year.
+};
+
+export function localeFirstDayOfWeek () {
+    return this._week.dow;
+}
+
+export function localeFirstDayOfYear () {
+    return this._week.doy;
+}
+
+// MOMENTS
+
+export function getSetWeek (input) {
+    var week = this.localeData().week(this);
+    return input == null ? week : this.add((input - week) * 7, 'd');
+}
+
+export function getSetISOWeek (input) {
+    var week = weekOfYear(this, 1, 4).week;
+    return input == null ? week : this.add((input - week) * 7, 'd');
+}
diff --git a/public/bower_components/moment/src/lib/units/year.js b/public/bower_components/moment/src/lib/units/year.js
new file mode 100644
index 0000000..8f3f94c
--- /dev/null
+++ b/public/bower_components/moment/src/lib/units/year.js
@@ -0,0 +1,75 @@
+import { makeGetSet } from '../moment/get-set';
+import { addFormatToken } from '../format/format';
+import { addUnitAlias } from './aliases';
+import { addUnitPriority } from './priorities';
+import { addRegexToken, match1to2, match1to4, match1to6, match2, match4, match6, matchSigned } from '../parse/regex';
+import { addParseToken } from '../parse/token';
+import { hooks } from '../utils/hooks';
+import { YEAR } from './constants';
+import toInt from '../utils/to-int';
+
+// FORMATTING
+
+addFormatToken('Y', 0, 0, function () {
+    var y = this.year();
+    return y <= 9999 ? '' + y : '+' + y;
+});
+
+addFormatToken(0, ['YY', 2], 0, function () {
+    return this.year() % 100;
+});
+
+addFormatToken(0, ['YYYY',   4],       0, 'year');
+addFormatToken(0, ['YYYYY',  5],       0, 'year');
+addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
+
+// ALIASES
+
+addUnitAlias('year', 'y');
+
+// PRIORITIES
+
+addUnitPriority('year', 1);
+
+// PARSING
+
+addRegexToken('Y',      matchSigned);
+addRegexToken('YY',     match1to2, match2);
+addRegexToken('YYYY',   match1to4, match4);
+addRegexToken('YYYYY',  match1to6, match6);
+addRegexToken('YYYYYY', match1to6, match6);
+
+addParseToken(['YYYYY', 'YYYYYY'], YEAR);
+addParseToken('YYYY', function (input, array) {
+    array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);
+});
+addParseToken('YY', function (input, array) {
+    array[YEAR] = hooks.parseTwoDigitYear(input);
+});
+addParseToken('Y', function (input, array) {
+    array[YEAR] = parseInt(input, 10);
+});
+
+// HELPERS
+
+export function daysInYear(year) {
+    return isLeapYear(year) ? 366 : 365;
+}
+
+export function isLeapYear(year) {
+    return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
+}
+
+// HOOKS
+
+hooks.parseTwoDigitYear = function (input) {
+    return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
+};
+
+// MOMENTS
+
+export var getSetYear = makeGetSet('FullYear', true);
+
+export function getIsLeapYear () {
+    return isLeapYear(this.year());
+}
diff --git a/public/bower_components/moment/src/lib/utils/abs-ceil.js b/public/bower_components/moment/src/lib/utils/abs-ceil.js
new file mode 100644
index 0000000..7cf9329
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/abs-ceil.js
@@ -0,0 +1,7 @@
+export default function absCeil (number) {
+    if (number < 0) {
+        return Math.floor(number);
+    } else {
+        return Math.ceil(number);
+    }
+}
diff --git a/public/bower_components/moment/src/lib/utils/abs-floor.js b/public/bower_components/moment/src/lib/utils/abs-floor.js
new file mode 100644
index 0000000..401c7f0
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/abs-floor.js
@@ -0,0 +1,8 @@
+export default function absFloor (number) {
+    if (number < 0) {
+        // -0 -> 0
+        return Math.ceil(number) || 0;
+    } else {
+        return Math.floor(number);
+    }
+}
diff --git a/public/bower_components/moment/src/lib/utils/abs-round.js b/public/bower_components/moment/src/lib/utils/abs-round.js
new file mode 100644
index 0000000..98f54bc
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/abs-round.js
@@ -0,0 +1,7 @@
+export default function absRound (number) {
+    if (number < 0) {
+        return Math.round(-1 * number) * -1;
+    } else {
+        return Math.round(number);
+    }
+}
diff --git a/public/bower_components/moment/src/lib/utils/compare-arrays.js b/public/bower_components/moment/src/lib/utils/compare-arrays.js
new file mode 100644
index 0000000..2eb274b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/compare-arrays.js
@@ -0,0 +1,16 @@
+import toInt from './to-int';
+
+// compare two arrays, return the number of differences
+export default function compareArrays(array1, array2, dontConvert) {
+    var len = Math.min(array1.length, array2.length),
+        lengthDiff = Math.abs(array1.length - array2.length),
+        diffs = 0,
+        i;
+    for (i = 0; i < len; i++) {
+        if ((dontConvert && array1[i] !== array2[i]) ||
+            (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
+            diffs++;
+        }
+    }
+    return diffs + lengthDiff;
+}
diff --git a/public/bower_components/moment/src/lib/utils/defaults.js b/public/bower_components/moment/src/lib/utils/defaults.js
new file mode 100644
index 0000000..45c5e87
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/defaults.js
@@ -0,0 +1,10 @@
+// Pick the first defined of two or three arguments.
+export default function defaults(a, b, c) {
+    if (a != null) {
+        return a;
+    }
+    if (b != null) {
+        return b;
+    }
+    return c;
+}
diff --git a/public/bower_components/moment/src/lib/utils/deprecate.js b/public/bower_components/moment/src/lib/utils/deprecate.js
new file mode 100644
index 0000000..8b4c87a
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/deprecate.js
@@ -0,0 +1,55 @@
+import extend from './extend';
+import { hooks } from './hooks';
+import isUndefined from './is-undefined';
+
+function warn(msg) {
+    if (hooks.suppressDeprecationWarnings === false &&
+            (typeof console !==  'undefined') && console.warn) {
+        console.warn('Deprecation warning: ' + msg);
+    }
+}
+
+export function deprecate(msg, fn) {
+    var firstTime = true;
+
+    return extend(function () {
+        if (hooks.deprecationHandler != null) {
+            hooks.deprecationHandler(null, msg);
+        }
+        if (firstTime) {
+            var args = [];
+            var arg;
+            for (var i = 0; i < arguments.length; i++) {
+                arg = '';
+                if (typeof arguments[i] === 'object') {
+                    arg += '\n[' + i + '] ';
+                    for (var key in arguments[0]) {
+                        arg += key + ': ' + arguments[0][key] + ', ';
+                    }
+                    arg = arg.slice(0, -2); // Remove trailing comma and space
+                } else {
+                    arg = arguments[i];
+                }
+                args.push(arg);
+            }
+            warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack);
+            firstTime = false;
+        }
+        return fn.apply(this, arguments);
+    }, fn);
+}
+
+var deprecations = {};
+
+export function deprecateSimple(name, msg) {
+    if (hooks.deprecationHandler != null) {
+        hooks.deprecationHandler(name, msg);
+    }
+    if (!deprecations[name]) {
+        warn(msg);
+        deprecations[name] = true;
+    }
+}
+
+hooks.suppressDeprecationWarnings = false;
+hooks.deprecationHandler = null;
diff --git a/public/bower_components/moment/src/lib/utils/extend.js b/public/bower_components/moment/src/lib/utils/extend.js
new file mode 100644
index 0000000..ba74a0b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/extend.js
@@ -0,0 +1,19 @@
+import hasOwnProp from './has-own-prop';
+
+export default function extend(a, b) {
+    for (var i in b) {
+        if (hasOwnProp(b, i)) {
+            a[i] = b[i];
+        }
+    }
+
+    if (hasOwnProp(b, 'toString')) {
+        a.toString = b.toString;
+    }
+
+    if (hasOwnProp(b, 'valueOf')) {
+        a.valueOf = b.valueOf;
+    }
+
+    return a;
+}
diff --git a/public/bower_components/moment/src/lib/utils/has-own-prop.js b/public/bower_components/moment/src/lib/utils/has-own-prop.js
new file mode 100644
index 0000000..4d2403c
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/has-own-prop.js
@@ -0,0 +1,3 @@
+export default function hasOwnProp(a, b) {
+    return Object.prototype.hasOwnProperty.call(a, b);
+}
diff --git a/public/bower_components/moment/src/lib/utils/hooks.js b/public/bower_components/moment/src/lib/utils/hooks.js
new file mode 100644
index 0000000..02a5bd3
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/hooks.js
@@ -0,0 +1,13 @@
+export { hooks, setHookCallback };
+
+var hookCallback;
+
+function hooks () {
+    return hookCallback.apply(null, arguments);
+}
+
+// This is done to register the method called with moment()
+// without creating circular dependencies.
+function setHookCallback (callback) {
+    hookCallback = callback;
+}
diff --git a/public/bower_components/moment/src/lib/utils/index-of.js b/public/bower_components/moment/src/lib/utils/index-of.js
new file mode 100644
index 0000000..92298cf
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/index-of.js
@@ -0,0 +1,18 @@
+var indexOf;
+
+if (Array.prototype.indexOf) {
+    indexOf = Array.prototype.indexOf;
+} else {
+    indexOf = function (o) {
+        // I know
+        var i;
+        for (i = 0; i < this.length; ++i) {
+            if (this[i] === o) {
+                return i;
+            }
+        }
+        return -1;
+    };
+}
+
+export { indexOf as default };
diff --git a/public/bower_components/moment/src/lib/utils/is-array.js b/public/bower_components/moment/src/lib/utils/is-array.js
new file mode 100644
index 0000000..2d0e0f3
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-array.js
@@ -0,0 +1,3 @@
+export default function isArray(input) {
+    return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
+}
diff --git a/public/bower_components/moment/src/lib/utils/is-date.js b/public/bower_components/moment/src/lib/utils/is-date.js
new file mode 100644
index 0000000..69c4d0e
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-date.js
@@ -0,0 +1,3 @@
+export default function isDate(input) {
+    return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
+}
diff --git a/public/bower_components/moment/src/lib/utils/is-function.js b/public/bower_components/moment/src/lib/utils/is-function.js
new file mode 100644
index 0000000..12304b1
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-function.js
@@ -0,0 +1,3 @@
+export default function isFunction(input) {
+    return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
+}
diff --git a/public/bower_components/moment/src/lib/utils/is-number.js b/public/bower_components/moment/src/lib/utils/is-number.js
new file mode 100644
index 0000000..74d6137
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-number.js
@@ -0,0 +1,3 @@
+export default function isNumber(input) {
+    return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';
+}
diff --git a/public/bower_components/moment/src/lib/utils/is-object-empty.js b/public/bower_components/moment/src/lib/utils/is-object-empty.js
new file mode 100644
index 0000000..695c3d2
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-object-empty.js
@@ -0,0 +1,13 @@
+export default function isObjectEmpty(obj) {
+    if (Object.getOwnPropertyNames) {
+        return (Object.getOwnPropertyNames(obj).length === 0);
+    } else {
+        var k;
+        for (k in obj) {
+            if (obj.hasOwnProperty(k)) {
+                return false;
+            }
+        }
+        return true;
+    }
+}
diff --git a/public/bower_components/moment/src/lib/utils/is-object.js b/public/bower_components/moment/src/lib/utils/is-object.js
new file mode 100644
index 0000000..1113538
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-object.js
@@ -0,0 +1,5 @@
+export default function isObject(input) {
+    // IE8 will treat undefined and null as object if it wasn't for
+    // input != null
+    return input != null && Object.prototype.toString.call(input) === '[object Object]';
+}
diff --git a/public/bower_components/moment/src/lib/utils/is-undefined.js b/public/bower_components/moment/src/lib/utils/is-undefined.js
new file mode 100644
index 0000000..de57a8b
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/is-undefined.js
@@ -0,0 +1,3 @@
+export default function isUndefined(input) {
+    return input === void 0;
+}
diff --git a/public/bower_components/moment/src/lib/utils/keys.js b/public/bower_components/moment/src/lib/utils/keys.js
new file mode 100644
index 0000000..2da4e32
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/keys.js
@@ -0,0 +1,19 @@
+import hasOwnProp from './has-own-prop';
+
+var keys;
+
+if (Object.keys) {
+    keys = Object.keys;
+} else {
+    keys = function (obj) {
+        var i, res = [];
+        for (i in obj) {
+            if (hasOwnProp(obj, i)) {
+                res.push(i);
+            }
+        }
+        return res;
+    };
+}
+
+export { keys as default };
diff --git a/public/bower_components/moment/src/lib/utils/map.js b/public/bower_components/moment/src/lib/utils/map.js
new file mode 100644
index 0000000..1cbc563
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/map.js
@@ -0,0 +1,7 @@
+export default function map(arr, fn) {
+    var res = [], i;
+    for (i = 0; i < arr.length; ++i) {
+        res.push(fn(arr[i], i));
+    }
+    return res;
+}
diff --git a/public/bower_components/moment/src/lib/utils/mod.js b/public/bower_components/moment/src/lib/utils/mod.js
new file mode 100644
index 0000000..8046cda
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/mod.js
@@ -0,0 +1,3 @@
+export default function mod(n, x) {
+    return ((n % x) + x) % x;
+}
diff --git a/public/bower_components/moment/src/lib/utils/some.js b/public/bower_components/moment/src/lib/utils/some.js
new file mode 100644
index 0000000..1bd3186
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/some.js
@@ -0,0 +1,19 @@
+var some;
+if (Array.prototype.some) {
+    some = Array.prototype.some;
+} else {
+    some = function (fun) {
+        var t = Object(this);
+        var len = t.length >>> 0;
+
+        for (var i = 0; i < len; i++) {
+            if (i in t && fun.call(this, t[i], i, t)) {
+                return true;
+            }
+        }
+
+        return false;
+    };
+}
+
+export { some as default };
diff --git a/public/bower_components/moment/src/lib/utils/to-int.js b/public/bower_components/moment/src/lib/utils/to-int.js
new file mode 100644
index 0000000..fb48941
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/to-int.js
@@ -0,0 +1,12 @@
+import absFloor from './abs-floor';
+
+export default function toInt(argumentForCoercion) {
+    var coercedNumber = +argumentForCoercion,
+        value = 0;
+
+    if (coercedNumber !== 0 && isFinite(coercedNumber)) {
+        value = absFloor(coercedNumber);
+    }
+
+    return value;
+}
diff --git a/public/bower_components/moment/src/lib/utils/zero-fill.js b/public/bower_components/moment/src/lib/utils/zero-fill.js
new file mode 100644
index 0000000..7009ec9
--- /dev/null
+++ b/public/bower_components/moment/src/lib/utils/zero-fill.js
@@ -0,0 +1,7 @@
+export default function zeroFill(number, targetLength, forceSign) {
+    var absNumber = '' + Math.abs(number),
+        zerosToFill = targetLength - absNumber.length,
+        sign = number >= 0;
+    return (sign ? (forceSign ? '+' : '') : '-') +
+        Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
+}
diff --git a/public/bower_components/moment/src/locale/af.js b/public/bower_components/moment/src/locale/af.js
new file mode 100644
index 0000000..7af0324
--- /dev/null
+++ b/public/bower_components/moment/src/locale/af.js
@@ -0,0 +1,64 @@
+//! moment.js locale configuration
+//! locale : Afrikaans [af]
+//! author : Werner Mollentze : https://github.com/wernerm
+
+import moment from '../moment';
+
+export default moment.defineLocale('af', {
+    months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
+    monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
+    weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
+    weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
+    weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
+    meridiemParse: /vm|nm/i,
+    isPM : function (input) {
+        return /^nm$/i.test(input);
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 12) {
+            return isLower ? 'vm' : 'VM';
+        } else {
+            return isLower ? 'nm' : 'NM';
+        }
+    },
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Vandag om] LT',
+        nextDay : '[Môre om] LT',
+        nextWeek : 'dddd [om] LT',
+        lastDay : '[Gister om] LT',
+        lastWeek : '[Laas] dddd [om] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'oor %s',
+        past : '%s gelede',
+        s : '\'n paar sekondes',
+        ss : '%d sekondes',
+        m : '\'n minuut',
+        mm : '%d minute',
+        h : '\'n uur',
+        hh : '%d ure',
+        d : '\'n dag',
+        dd : '%d dae',
+        M : '\'n maand',
+        MM : '%d maande',
+        y : '\'n jaar',
+        yy : '%d jaar'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+    ordinal : function (number) {
+        return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
+    },
+    week : {
+        dow : 1, // Maandag is die eerste dag van die week.
+        doy : 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ar-dz.js b/public/bower_components/moment/src/locale/ar-dz.js
new file mode 100644
index 0000000..b485b5a
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar-dz.js
@@ -0,0 +1,51 @@
+//! moment.js locale configuration
+//! locale : Arabic (Algeria) [ar-dz]
+//! author : Noureddine LOUAHEDJ : https://github.com/noureddineme
+
+import moment from '../moment';
+
+export default moment.defineLocale('ar-dz', {
+    months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+    monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+    weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[اليوم على الساعة] LT',
+        nextDay: '[غدا على الساعة] LT',
+        nextWeek: 'dddd [على الساعة] LT',
+        lastDay: '[أمس على الساعة] LT',
+        lastWeek: 'dddd [على الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'في %s',
+        past : 'منذ %s',
+        s : 'ثوان',
+        ss : '%d ثانية',
+        m : 'دقيقة',
+        mm : '%d دقائق',
+        h : 'ساعة',
+        hh : '%d ساعات',
+        d : 'يوم',
+        dd : '%d أيام',
+        M : 'شهر',
+        MM : '%d أشهر',
+        y : 'سنة',
+        yy : '%d سنوات'
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ar-kw.js b/public/bower_components/moment/src/locale/ar-kw.js
new file mode 100644
index 0000000..90df0ed
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar-kw.js
@@ -0,0 +1,50 @@
+//! moment.js locale configuration
+//! locale : Arabic (Kuwait) [ar-kw]
+//! author : Nusret Parlak: https://github.com/nusretparlak
+
+import moment from '../moment';
+
+export default moment.defineLocale('ar-kw', {
+    months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+    monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+    weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[اليوم على الساعة] LT',
+        nextDay: '[غدا على الساعة] LT',
+        nextWeek: 'dddd [على الساعة] LT',
+        lastDay: '[أمس على الساعة] LT',
+        lastWeek: 'dddd [على الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'في %s',
+        past : 'منذ %s',
+        s : 'ثوان',
+        ss : '%d ثانية',
+        m : 'دقيقة',
+        mm : '%d دقائق',
+        h : 'ساعة',
+        hh : '%d ساعات',
+        d : 'يوم',
+        dd : '%d أيام',
+        M : 'شهر',
+        MM : '%d أشهر',
+        y : 'سنة',
+        yy : '%d سنوات'
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ar-ly.js b/public/bower_components/moment/src/locale/ar-ly.js
new file mode 100644
index 0000000..77fe8d8
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar-ly.js
@@ -0,0 +1,113 @@
+//! moment.js locale configuration
+//! locale : Arabic (Lybia) [ar-ly]
+//! author : Ali Hmer: https://github.com/kikoanis
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '1',
+    '2': '2',
+    '3': '3',
+    '4': '4',
+    '5': '5',
+    '6': '6',
+    '7': '7',
+    '8': '8',
+    '9': '9',
+    '0': '0'
+}, pluralForm = function (n) {
+    return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+}, plurals = {
+    s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+    m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+    h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+    d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+    M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+    y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+}, pluralize = function (u) {
+    return function (number, withoutSuffix, string, isFuture) {
+        var f = pluralForm(number),
+            str = plurals[u][pluralForm(number)];
+        if (f === 2) {
+            str = str[withoutSuffix ? 0 : 1];
+        }
+        return str.replace(/%d/i, number);
+    };
+}, months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر'
+];
+
+export default moment.defineLocale('ar-ly', {
+    months : months,
+    monthsShort : months,
+    weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'D/\u200FM/\u200FYYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /ص|م/,
+    isPM : function (input) {
+        return 'Ù…' === input;
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ص';
+        } else {
+            return 'Ù…';
+        }
+    },
+    calendar : {
+        sameDay: '[اليوم عند الساعة] LT',
+        nextDay: '[غدًا عند الساعة] LT',
+        nextWeek: 'dddd [عند الساعة] LT',
+        lastDay: '[أمس عند الساعة] LT',
+        lastWeek: 'dddd [عند الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'بعد %s',
+        past : 'منذ %s',
+        s : pluralize('s'),
+        ss : pluralize('s'),
+        m : pluralize('m'),
+        mm : pluralize('m'),
+        h : pluralize('h'),
+        hh : pluralize('h'),
+        d : pluralize('d'),
+        dd : pluralize('d'),
+        M : pluralize('M'),
+        MM : pluralize('M'),
+        y : pluralize('y'),
+        yy : pluralize('y')
+    },
+    preparse: function (string) {
+        return string.replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        }).replace(/,/g, '،');
+    },
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ar-ma.js b/public/bower_components/moment/src/locale/ar-ma.js
new file mode 100644
index 0000000..fa99b07
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar-ma.js
@@ -0,0 +1,52 @@
+//! moment.js locale configuration
+//! locale : Arabic (Morocco) [ar-ma]
+//! author : ElFadili Yassine : https://github.com/ElFadiliY
+//! author : Abdel Said : https://github.com/abdelsaid
+
+import moment from '../moment';
+
+export default moment.defineLocale('ar-ma', {
+    months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+    monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
+    weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[اليوم على الساعة] LT',
+        nextDay: '[غدا على الساعة] LT',
+        nextWeek: 'dddd [على الساعة] LT',
+        lastDay: '[أمس على الساعة] LT',
+        lastWeek: 'dddd [على الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'في %s',
+        past : 'منذ %s',
+        s : 'ثوان',
+        ss : '%d ثانية',
+        m : 'دقيقة',
+        mm : '%d دقائق',
+        h : 'ساعة',
+        hh : '%d ساعات',
+        d : 'يوم',
+        dd : '%d أيام',
+        M : 'شهر',
+        MM : '%d أشهر',
+        y : 'سنة',
+        yy : '%d سنوات'
+    },
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ar-sa.js b/public/bower_components/moment/src/locale/ar-sa.js
new file mode 100644
index 0000000..129c367
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar-sa.js
@@ -0,0 +1,96 @@
+//! moment.js locale configuration
+//! locale : Arabic (Saudi Arabia) [ar-sa]
+//! author : Suhail Alkowaileet : https://github.com/xsoh
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'Ù¡',
+    '2': 'Ù¢',
+    '3': 'Ù£',
+    '4': 'Ù¤',
+    '5': 'Ù¥',
+    '6': 'Ù¦',
+    '7': 'Ù§',
+    '8': 'Ù¨',
+    '9': 'Ù©',
+    '0': 'Ù '
+}, numberMap = {
+    'Ù¡': '1',
+    'Ù¢': '2',
+    'Ù£': '3',
+    'Ù¤': '4',
+    'Ù¥': '5',
+    'Ù¦': '6',
+    'Ù§': '7',
+    'Ù¨': '8',
+    'Ù©': '9',
+    'Ù ': '0'
+};
+
+export default moment.defineLocale('ar-sa', {
+    months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+    monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+    weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /ص|م/,
+    isPM : function (input) {
+        return 'Ù…' === input;
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ص';
+        } else {
+            return 'Ù…';
+        }
+    },
+    calendar : {
+        sameDay: '[اليوم على الساعة] LT',
+        nextDay: '[غدا على الساعة] LT',
+        nextWeek: 'dddd [على الساعة] LT',
+        lastDay: '[أمس على الساعة] LT',
+        lastWeek: 'dddd [على الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'في %s',
+        past : 'منذ %s',
+        s : 'ثوان',
+        ss : '%d ثانية',
+        m : 'دقيقة',
+        mm : '%d دقائق',
+        h : 'ساعة',
+        hh : '%d ساعات',
+        d : 'يوم',
+        dd : '%d أيام',
+        M : 'شهر',
+        MM : '%d أشهر',
+        y : 'سنة',
+        yy : '%d سنوات'
+    },
+    preparse: function (string) {
+        return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+            return numberMap[match];
+        }).replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        }).replace(/,/g, '،');
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ar-tn.js b/public/bower_components/moment/src/locale/ar-tn.js
new file mode 100644
index 0000000..952f3bf
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar-tn.js
@@ -0,0 +1,51 @@
+//! moment.js locale configuration
+//! locale  :  Arabic (Tunisia) [ar-tn]
+//! author : Nader Toukabri : https://github.com/naderio
+
+import moment from '../moment';
+
+export default moment.defineLocale('ar-tn', {
+    months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+    monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
+    weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY HH:mm',
+        LLLL: 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar: {
+        sameDay: '[اليوم على الساعة] LT',
+        nextDay: '[غدا على الساعة] LT',
+        nextWeek: 'dddd [على الساعة] LT',
+        lastDay: '[أمس على الساعة] LT',
+        lastWeek: 'dddd [على الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: 'في %s',
+        past: 'منذ %s',
+        s: 'ثوان',
+        ss : '%d ثانية',
+        m: 'دقيقة',
+        mm: '%d دقائق',
+        h: 'ساعة',
+        hh: '%d ساعات',
+        d: 'يوم',
+        dd: '%d أيام',
+        M: 'شهر',
+        MM: '%d أشهر',
+        y: 'سنة',
+        yy: '%d سنوات'
+    },
+    week: {
+        dow: 1, // Monday is the first day of the week.
+        doy: 4 // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ar.js b/public/bower_components/moment/src/locale/ar.js
new file mode 100644
index 0000000..bbae8d5
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ar.js
@@ -0,0 +1,128 @@
+//! moment.js locale configuration
+//! locale : Arabic [ar]
+//! author : Abdel Said: https://github.com/abdelsaid
+//! author : Ahmed Elkhatib
+//! author : forabi https://github.com/forabi
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'Ù¡',
+    '2': 'Ù¢',
+    '3': 'Ù£',
+    '4': 'Ù¤',
+    '5': 'Ù¥',
+    '6': 'Ù¦',
+    '7': 'Ù§',
+    '8': 'Ù¨',
+    '9': 'Ù©',
+    '0': 'Ù '
+}, numberMap = {
+    'Ù¡': '1',
+    'Ù¢': '2',
+    'Ù£': '3',
+    'Ù¤': '4',
+    'Ù¥': '5',
+    'Ù¦': '6',
+    'Ù§': '7',
+    'Ù¨': '8',
+    'Ù©': '9',
+    'Ù ': '0'
+}, pluralForm = function (n) {
+    return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
+}, plurals = {
+    s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
+    m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
+    h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
+    d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
+    M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
+    y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
+}, pluralize = function (u) {
+    return function (number, withoutSuffix, string, isFuture) {
+        var f = pluralForm(number),
+            str = plurals[u][pluralForm(number)];
+        if (f === 2) {
+            str = str[withoutSuffix ? 0 : 1];
+        }
+        return str.replace(/%d/i, number);
+    };
+}, months = [
+    'يناير',
+    'فبراير',
+    'مارس',
+    'أبريل',
+    'مايو',
+    'يونيو',
+    'يوليو',
+    'أغسطس',
+    'سبتمبر',
+    'أكتوبر',
+    'نوفمبر',
+    'ديسمبر'
+];
+
+export default moment.defineLocale('ar', {
+    months : months,
+    monthsShort : months,
+    weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
+    weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
+    weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'D/\u200FM/\u200FYYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /ص|م/,
+    isPM : function (input) {
+        return 'Ù…' === input;
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ص';
+        } else {
+            return 'Ù…';
+        }
+    },
+    calendar : {
+        sameDay: '[اليوم عند الساعة] LT',
+        nextDay: '[غدًا عند الساعة] LT',
+        nextWeek: 'dddd [عند الساعة] LT',
+        lastDay: '[أمس عند الساعة] LT',
+        lastWeek: 'dddd [عند الساعة] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'بعد %s',
+        past : 'منذ %s',
+        s : pluralize('s'),
+        ss : pluralize('s'),
+        m : pluralize('m'),
+        mm : pluralize('m'),
+        h : pluralize('h'),
+        hh : pluralize('h'),
+        d : pluralize('d'),
+        dd : pluralize('d'),
+        M : pluralize('M'),
+        MM : pluralize('M'),
+        y : pluralize('y'),
+        yy : pluralize('y')
+    },
+    preparse: function (string) {
+        return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+            return numberMap[match];
+        }).replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        }).replace(/,/g, '،');
+    },
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/az.js b/public/bower_components/moment/src/locale/az.js
new file mode 100644
index 0000000..09acef7
--- /dev/null
+++ b/public/bower_components/moment/src/locale/az.js
@@ -0,0 +1,97 @@
+//! moment.js locale configuration
+//! locale : Azerbaijani [az]
+//! author : topchiyev : https://github.com/topchiyev
+
+import moment from '../moment';
+
+var suffixes = {
+    1: '-inci',
+    5: '-inci',
+    8: '-inci',
+    70: '-inci',
+    80: '-inci',
+    2: '-nci',
+    7: '-nci',
+    20: '-nci',
+    50: '-nci',
+    3: '-üncü',
+    4: '-üncü',
+    100: '-üncü',
+    6: '-ncı',
+    9: '-uncu',
+    10: '-uncu',
+    30: '-uncu',
+    60: '-ıncı',
+    90: '-ıncı'
+};
+
+export default moment.defineLocale('az', {
+    months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
+    monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
+    weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
+    weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
+    weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[bugün saat] LT',
+        nextDay : '[sabah saat] LT',
+        nextWeek : '[gələn həftə] dddd [saat] LT',
+        lastDay : '[dünən] LT',
+        lastWeek : '[keçən həftə] dddd [saat] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s sonra',
+        past : '%s əvvəl',
+        s : 'birneçə saniyə',
+        ss : '%d saniyÉ™',
+        m : 'bir dəqiqə',
+        mm : '%d dəqiqə',
+        h : 'bir saat',
+        hh : '%d saat',
+        d : 'bir gün',
+        dd : '%d gün',
+        M : 'bir ay',
+        MM : '%d ay',
+        y : 'bir il',
+        yy : '%d il'
+    },
+    meridiemParse: /gecə|səhər|gündüz|axşam/,
+    isPM : function (input) {
+        return /^(gündüz|axşam)$/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'gecÉ™';
+        } else if (hour < 12) {
+            return 'səhər';
+        } else if (hour < 17) {
+            return 'gündüz';
+        } else {
+            return 'axÅŸam';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
+    ordinal : function (number) {
+        if (number === 0) {  // special case for zero
+            return number + '-ıncı';
+        }
+        var a = number % 10,
+            b = number % 100 - a,
+            c = number >= 100 ? 100 : null;
+        return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/be.js b/public/bower_components/moment/src/locale/be.js
new file mode 100644
index 0000000..e163c01
--- /dev/null
+++ b/public/bower_components/moment/src/locale/be.js
@@ -0,0 +1,126 @@
+//! moment.js locale configuration
+//! locale : Belarusian [be]
+//! author : Dmitry Demidov : https://github.com/demidov91
+//! author: Praleska: http://praleska.pro/
+//! Author : Menelion Elensúle : https://github.com/Oire
+
+import moment from '../moment';
+
+function plural(word, num) {
+    var forms = word.split('_');
+    return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+}
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+    var format = {
+        'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+        'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
+        'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
+        'dd': 'дзень_дні_дзён',
+        'MM': 'месяц_месяцы_месяцаў',
+        'yy': 'год_гады_гадоў'
+    };
+    if (key === 'm') {
+        return withoutSuffix ? 'хвіліна' : 'хвіліну';
+    }
+    else if (key === 'h') {
+        return withoutSuffix ? 'гадзіна' : 'гадзіну';
+    }
+    else {
+        return number + ' ' + plural(format[key], +number);
+    }
+}
+
+export default moment.defineLocale('be', {
+    months : {
+        format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
+        standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
+    },
+    monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
+    weekdays : {
+        format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
+        standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
+        isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/
+    },
+    weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+    weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY г.',
+        LLL : 'D MMMM YYYY г., HH:mm',
+        LLLL : 'dddd, D MMMM YYYY г., HH:mm'
+    },
+    calendar : {
+        sameDay: '[Сёння ў] LT',
+        nextDay: '[Заўтра ў] LT',
+        lastDay: '[Учора ў] LT',
+        nextWeek: function () {
+            return '[У] dddd [ў] LT';
+        },
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                case 3:
+                case 5:
+                case 6:
+                    return '[У мінулую] dddd [ў] LT';
+                case 1:
+                case 2:
+                case 4:
+                    return '[У мінулы] dddd [ў] LT';
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'праз %s',
+        past : '%s таму',
+        s : 'некалькі секунд',
+        m : relativeTimeWithPlural,
+        mm : relativeTimeWithPlural,
+        h : relativeTimeWithPlural,
+        hh : relativeTimeWithPlural,
+        d : 'дзень',
+        dd : relativeTimeWithPlural,
+        M : 'месяц',
+        MM : relativeTimeWithPlural,
+        y : 'год',
+        yy : relativeTimeWithPlural
+    },
+    meridiemParse: /ночы|раніцы|дня|вечара/,
+    isPM : function (input) {
+        return /^(дня|вечара)$/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'ночы';
+        } else if (hour < 12) {
+            return 'раніцы';
+        } else if (hour < 17) {
+            return 'дня';
+        } else {
+            return 'вечара';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
+    ordinal: function (number, period) {
+        switch (period) {
+            case 'M':
+            case 'd':
+            case 'DDD':
+            case 'w':
+            case 'W':
+                return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ–' : number + '-Ñ‹';
+            case 'D':
+                return number + '-га';
+            default:
+                return number;
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/bg.js b/public/bower_components/moment/src/locale/bg.js
new file mode 100644
index 0000000..ebe9a90
--- /dev/null
+++ b/public/bower_components/moment/src/locale/bg.js
@@ -0,0 +1,82 @@
+//! moment.js locale configuration
+//! locale : Bulgarian [bg]
+//! author : Krasen Borisov : https://github.com/kraz
+
+import moment from '../moment';
+
+export default moment.defineLocale('bg', {
+    months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
+    monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
+    weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
+    weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
+    weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'D.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY H:mm',
+        LLLL : 'dddd, D MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay : '[Днес в] LT',
+        nextDay : '[Утре в] LT',
+        nextWeek : 'dddd [в] LT',
+        lastDay : '[Вчера в] LT',
+        lastWeek : function () {
+            switch (this.day()) {
+                case 0:
+                case 3:
+                case 6:
+                    return '[В изминалата] dddd [в] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[В изминалия] dddd [в] LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'след %s',
+        past : 'преди %s',
+        s : 'няколко секунди',
+        ss : '%d секунди',
+        m : 'минута',
+        mm : '%d минути',
+        h : 'час',
+        hh : '%d часа',
+        d : 'ден',
+        dd : '%d дни',
+        M : 'месец',
+        MM : '%d месеца',
+        y : 'година',
+        yy : '%d години'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+    ordinal : function (number) {
+        var lastDigit = number % 10,
+            last2Digits = number % 100;
+        if (number === 0) {
+            return number + '-ев';
+        } else if (last2Digits === 0) {
+            return number + '-ен';
+        } else if (last2Digits > 10 && last2Digits < 20) {
+            return number + '-ти';
+        } else if (lastDigit === 1) {
+            return number + '-ви';
+        } else if (lastDigit === 2) {
+            return number + '-ри';
+        } else if (lastDigit === 7 || lastDigit === 8) {
+            return number + '-ми';
+        } else {
+            return number + '-ти';
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/bm.js b/public/bower_components/moment/src/locale/bm.js
new file mode 100644
index 0000000..887a750
--- /dev/null
+++ b/public/bower_components/moment/src/locale/bm.js
@@ -0,0 +1,50 @@
+//! moment.js locale configuration
+//! locale : Bambara [bm]
+//! author : Estelle Comment : https://github.com/estellecomment
+// Language contact person : Abdoufata Kane : https://github.com/abdoufata
+
+import moment from '../moment';
+
+export default moment.defineLocale('bm', {
+    months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),
+    monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),
+    weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),
+    weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),
+    weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'MMMM [tile] D [san] YYYY',
+        LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',
+        LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'
+    },
+    calendar : {
+        sameDay : '[Bi lɛrɛ] LT',
+        nextDay : '[Sini lɛrɛ] LT',
+        nextWeek : 'dddd [don lɛrɛ] LT',
+        lastDay : '[Kunu lɛrɛ] LT',
+        lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s kɔnɔ',
+        past : 'a bÉ› %s bÉ”',
+        s : 'sanga dama dama',
+        ss : 'sekondi %d',
+        m : 'miniti kelen',
+        mm : 'miniti %d',
+        h : 'lɛrɛ kelen',
+        hh : 'lɛrɛ %d',
+        d : 'tile kelen',
+        dd : 'tile %d',
+        M : 'kalo kelen',
+        MM : 'kalo %d',
+        y : 'san kelen',
+        yy : 'san %d'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/bn.js b/public/bower_components/moment/src/locale/bn.js
new file mode 100644
index 0000000..b0db27e
--- /dev/null
+++ b/public/bower_components/moment/src/locale/bn.js
@@ -0,0 +1,110 @@
+//! moment.js locale configuration
+//! locale : Bengali [bn]
+//! author : Kaushik Gandhi : https://github.com/kaushikgandhi
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'à§§',
+    '2': '২',
+    '3': 'à§©',
+    '4': '৪',
+    '5': 'à§«',
+    '6': '৬',
+    '7': 'à§­',
+    '8': 'à§®',
+    '9': '৯',
+    '0': '০'
+},
+numberMap = {
+    'à§§': '1',
+    '২': '2',
+    'à§©': '3',
+    '৪': '4',
+    'à§«': '5',
+    '৬': '6',
+    'à§­': '7',
+    'à§®': '8',
+    '৯': '9',
+    '০': '0'
+};
+
+export default moment.defineLocale('bn', {
+    months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
+    monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),
+    weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
+    weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),
+    weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm সময়',
+        LTS : 'A h:mm:ss সময়',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm সময়',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
+    },
+    calendar : {
+        sameDay : '[আজ] LT',
+        nextDay : '[আগামীকাল] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[গতকাল] LT',
+        lastWeek : '[গত] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s পরে',
+        past : '%s আগে',
+        s : 'কয়েক সেকেন্ড',
+        ss : '%d সেকেন্ড',
+        m : 'এক মিনিট',
+        mm : '%d মিনিট',
+        h : 'এক ঘন্টা',
+        hh : '%d ঘন্টা',
+        d : 'এক দিন',
+        dd : '%d দিন',
+        M : 'এক মাস',
+        MM : '%d মাস',
+        y : 'এক বছর',
+        yy : '%d বছর'
+    },
+    preparse: function (string) {
+        return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if ((meridiem === 'রাত' && hour >= 4) ||
+                (meridiem === 'দুপুর' && hour < 5) ||
+                meridiem === 'বিকাল') {
+            return hour + 12;
+        } else {
+            return hour;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'রাত';
+        } else if (hour < 10) {
+            return 'সকাল';
+        } else if (hour < 17) {
+            return 'দুপুর';
+        } else if (hour < 20) {
+            return 'বিকাল';
+        } else {
+            return 'রাত';
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/bo.js b/public/bower_components/moment/src/locale/bo.js
new file mode 100644
index 0000000..b4a04be
--- /dev/null
+++ b/public/bower_components/moment/src/locale/bo.js
@@ -0,0 +1,111 @@
+//! moment.js locale configuration
+//! locale : Tibetan [bo]
+//! author : Thupten N. Chakrishar : https://github.com/vajradog
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '༡',
+    '2': '༢',
+    '3': '༣',
+    '4': '༤',
+    '5': '༥',
+    '6': '༦',
+    '7': '༧',
+    '8': '༨',
+    '9': '༩',
+    '0': '༠'
+},
+numberMap = {
+    '༡': '1',
+    '༢': '2',
+    '༣': '3',
+    '༤': '4',
+    '༥': '5',
+    '༦': '6',
+    '༧': '7',
+    '༨': '8',
+    '༩': '9',
+    '༠': '0'
+};
+
+export default moment.defineLocale('bo', {
+    months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+    monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
+    weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
+    weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+    weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm',
+        LTS : 'A h:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm'
+    },
+    calendar : {
+        sameDay : '[དི་རིང] LT',
+        nextDay : '[སང་ཉིན] LT',
+        nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
+        lastDay : '[ཁ་སང] LT',
+        lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s ལ་',
+        past : '%s སྔན་ལ',
+        s : 'ལམ་སང',
+        ss : '%d སྐར་ཆ།',
+        m : 'སྐར་མ་གཅིག',
+        mm : '%d སྐར་མ',
+        h : 'ཆུ་ཚོད་གཅིག',
+        hh : '%d ཆུ་ཚོད',
+        d : 'ཉིན་གཅིག',
+        dd : '%d ཉིན་',
+        M : 'ཟླ་བ་གཅིག',
+        MM : '%d ཟླ་བ',
+        y : 'ལོ་གཅིག',
+        yy : '%d ལོ'
+    },
+    preparse: function (string) {
+        return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
+                (meridiem === 'ཉིན་གུང' && hour < 5) ||
+                meridiem === 'དགོང་དག') {
+            return hour + 12;
+        } else {
+            return hour;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'མཚན་མོ';
+        } else if (hour < 10) {
+            return 'ཞོགས་ཀས';
+        } else if (hour < 17) {
+            return 'ཉིན་གུང';
+        } else if (hour < 20) {
+            return 'དགོང་དག';
+        } else {
+            return 'མཚན་མོ';
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/br.js b/public/bower_components/moment/src/locale/br.js
new file mode 100644
index 0000000..7208f79
--- /dev/null
+++ b/public/bower_components/moment/src/locale/br.js
@@ -0,0 +1,100 @@
+//! moment.js locale configuration
+//! locale : Breton [br]
+//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
+
+import moment from '../moment';
+
+function relativeTimeWithMutation(number, withoutSuffix, key) {
+    var format = {
+        'mm': 'munutenn',
+        'MM': 'miz',
+        'dd': 'devezh'
+    };
+    return number + ' ' + mutation(format[key], number);
+}
+function specialMutationForYears(number) {
+    switch (lastNumber(number)) {
+        case 1:
+        case 3:
+        case 4:
+        case 5:
+        case 9:
+            return number + ' bloaz';
+        default:
+            return number + ' vloaz';
+    }
+}
+function lastNumber(number) {
+    if (number > 9) {
+        return lastNumber(number % 10);
+    }
+    return number;
+}
+function mutation(text, number) {
+    if (number === 2) {
+        return softMutation(text);
+    }
+    return text;
+}
+function softMutation(text) {
+    var mutationTable = {
+        'm': 'v',
+        'b': 'v',
+        'd': 'z'
+    };
+    if (mutationTable[text.charAt(0)] === undefined) {
+        return text;
+    }
+    return mutationTable[text.charAt(0)] + text.substring(1);
+}
+
+export default moment.defineLocale('br', {
+    months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
+    monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
+    weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
+    weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
+    weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'h[e]mm A',
+        LTS : 'h[e]mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D [a viz] MMMM YYYY',
+        LLL : 'D [a viz] MMMM YYYY h[e]mm A',
+        LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
+    },
+    calendar : {
+        sameDay : '[Hiziv da] LT',
+        nextDay : '[Warc\'hoazh da] LT',
+        nextWeek : 'dddd [da] LT',
+        lastDay : '[Dec\'h da] LT',
+        lastWeek : 'dddd [paset da] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'a-benn %s',
+        past : '%s \'zo',
+        s : 'un nebeud segondennoù',
+        ss : '%d eilenn',
+        m : 'ur vunutenn',
+        mm : relativeTimeWithMutation,
+        h : 'un eur',
+        hh : '%d eur',
+        d : 'un devezh',
+        dd : relativeTimeWithMutation,
+        M : 'ur miz',
+        MM : relativeTimeWithMutation,
+        y : 'ur bloaz',
+        yy : specialMutationForYears
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/,
+    ordinal : function (number) {
+        var output = (number === 1) ? 'añ' : 'vet';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/bs.js b/public/bower_components/moment/src/locale/bs.js
new file mode 100644
index 0000000..8a0f640
--- /dev/null
+++ b/public/bower_components/moment/src/locale/bs.js
@@ -0,0 +1,143 @@
+//! moment.js locale configuration
+//! locale : Bosnian [bs]
+//! author : Nedim Cholich : https://github.com/frontyard
+//! based on (hr) translation by Bojan Marković
+
+import moment from '../moment';
+
+function translate(number, withoutSuffix, key) {
+    var result = number + ' ';
+    switch (key) {
+        case 'ss':
+            if (number === 1) {
+                result += 'sekunda';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'sekunde';
+            } else {
+                result += 'sekundi';
+            }
+            return result;
+        case 'm':
+            return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+        case 'mm':
+            if (number === 1) {
+                result += 'minuta';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'minute';
+            } else {
+                result += 'minuta';
+            }
+            return result;
+        case 'h':
+            return withoutSuffix ? 'jedan sat' : 'jednog sata';
+        case 'hh':
+            if (number === 1) {
+                result += 'sat';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'sata';
+            } else {
+                result += 'sati';
+            }
+            return result;
+        case 'dd':
+            if (number === 1) {
+                result += 'dan';
+            } else {
+                result += 'dana';
+            }
+            return result;
+        case 'MM':
+            if (number === 1) {
+                result += 'mjesec';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'mjeseca';
+            } else {
+                result += 'mjeseci';
+            }
+            return result;
+        case 'yy':
+            if (number === 1) {
+                result += 'godina';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'godine';
+            } else {
+                result += 'godina';
+            }
+            return result;
+    }
+}
+
+export default moment.defineLocale('bs', {
+    months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
+    monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+    weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+    weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY H:mm',
+        LLLL : 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay  : '[danas u] LT',
+        nextDay  : '[sutra u] LT',
+        nextWeek : function () {
+            switch (this.day()) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        lastDay  : '[jučer u] LT',
+        lastWeek : function () {
+            switch (this.day()) {
+                case 0:
+                case 3:
+                    return '[prošlu] dddd [u] LT';
+                case 6:
+                    return '[prošle] [subote] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[prošli] dddd [u] LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past   : 'prije %s',
+        s      : 'par sekundi',
+        ss     : translate,
+        m      : translate,
+        mm     : translate,
+        h      : translate,
+        hh     : translate,
+        d      : 'dan',
+        dd     : translate,
+        M      : 'mjesec',
+        MM     : translate,
+        y      : 'godinu',
+        yy     : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ca.js b/public/bower_components/moment/src/locale/ca.js
new file mode 100644
index 0000000..8d1df57
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ca.js
@@ -0,0 +1,80 @@
+//! moment.js locale configuration
+//! locale : Catalan [ca]
+//! author : Juan G. Hurtado : https://github.com/juanghurtado
+
+import moment from '../moment';
+
+export default moment.defineLocale('ca', {
+    months : {
+        standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
+        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('_'),
+        isFormat: /D[oD]?(\s)+MMMM/
+    },
+    monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
+    weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
+    weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM [de] YYYY',
+        ll : 'D MMM YYYY',
+        LLL : 'D MMMM [de] YYYY [a les] H:mm',
+        lll : 'D MMM YYYY, H:mm',
+        LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',
+        llll : 'ddd D MMM YYYY, H:mm'
+    },
+    calendar : {
+        sameDay : function () {
+            return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+        },
+        nextDay : function () {
+            return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+        },
+        nextWeek : function () {
+            return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+        },
+        lastDay : function () {
+            return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+        },
+        lastWeek : function () {
+            return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'd\'aquí %s',
+        past : 'fa %s',
+        s : 'uns segons',
+        ss : '%d segons',
+        m : 'un minut',
+        mm : '%d minuts',
+        h : 'una hora',
+        hh : '%d hores',
+        d : 'un dia',
+        dd : '%d dies',
+        M : 'un mes',
+        MM : '%d mesos',
+        y : 'un any',
+        yy : '%d anys'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/,
+    ordinal : function (number, period) {
+        var output = (number === 1) ? 'r' :
+            (number === 2) ? 'n' :
+            (number === 3) ? 'r' :
+            (number === 4) ? 't' : 'è';
+        if (period === 'w' || period === 'W') {
+            output = 'a';
+        }
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/cs.js b/public/bower_components/moment/src/locale/cs.js
new file mode 100644
index 0000000..143a709
--- /dev/null
+++ b/public/bower_components/moment/src/locale/cs.js
@@ -0,0 +1,164 @@
+//! moment.js locale configuration
+//! locale : Czech [cs]
+//! author : petrbela : https://github.com/petrbela
+
+import moment from '../moment';
+
+var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
+    monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
+
+var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];
+// NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+// Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+var monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
+
+function plural(n) {
+    return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
+}
+function translate(number, withoutSuffix, key, isFuture) {
+    var result = number + ' ';
+    switch (key) {
+        case 's':  // a few seconds / in a few seconds / a few seconds ago
+            return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
+        case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'sekundy' : 'sekund');
+            } else {
+                return result + 'sekundami';
+            }
+            break;
+        case 'm':  // a minute / in a minute / a minute ago
+            return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
+        case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'minuty' : 'minut');
+            } else {
+                return result + 'minutami';
+            }
+            break;
+        case 'h':  // an hour / in an hour / an hour ago
+            return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+        case 'hh': // 9 hours / in 9 hours / 9 hours ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'hodiny' : 'hodin');
+            } else {
+                return result + 'hodinami';
+            }
+            break;
+        case 'd':  // a day / in a day / a day ago
+            return (withoutSuffix || isFuture) ? 'den' : 'dnem';
+        case 'dd': // 9 days / in 9 days / 9 days ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'dny' : 'dní');
+            } else {
+                return result + 'dny';
+            }
+            break;
+        case 'M':  // a month / in a month / a month ago
+            return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
+        case 'MM': // 9 months / in 9 months / 9 months ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'měsíce' : 'měsíců');
+            } else {
+                return result + 'měsíci';
+            }
+            break;
+        case 'y':  // a year / in a year / a year ago
+            return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
+        case 'yy': // 9 years / in 9 years / 9 years ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'roky' : 'let');
+            } else {
+                return result + 'lety';
+            }
+            break;
+    }
+}
+
+export default moment.defineLocale('cs', {
+    months : months,
+    monthsShort : monthsShort,
+    monthsRegex : monthsRegex,
+    monthsShortRegex : monthsRegex,
+    // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
+    // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
+    monthsStrictRegex : /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
+    monthsShortStrictRegex : /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
+    monthsParse : monthsParse,
+    longMonthsParse : monthsParse,
+    shortMonthsParse : monthsParse,
+    weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
+    weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
+    weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
+    longDateFormat : {
+        LT: 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY H:mm',
+        LLLL : 'dddd D. MMMM YYYY H:mm',
+        l : 'D. M. YYYY'
+    },
+    calendar : {
+        sameDay: '[dnes v] LT',
+        nextDay: '[zítra v] LT',
+        nextWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[v neděli v] LT';
+                case 1:
+                case 2:
+                    return '[v] dddd [v] LT';
+                case 3:
+                    return '[ve středu v] LT';
+                case 4:
+                    return '[ve čtvrtek v] LT';
+                case 5:
+                    return '[v pátek v] LT';
+                case 6:
+                    return '[v sobotu v] LT';
+            }
+        },
+        lastDay: '[včera v] LT',
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[minulou neděli v] LT';
+                case 1:
+                case 2:
+                    return '[minulé] dddd [v] LT';
+                case 3:
+                    return '[minulou středu v] LT';
+                case 4:
+                case 5:
+                    return '[minulý] dddd [v] LT';
+                case 6:
+                    return '[minulou sobotu v] LT';
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past : 'před %s',
+        s : translate,
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : translate,
+        hh : translate,
+        d : translate,
+        dd : translate,
+        M : translate,
+        MM : translate,
+        y : translate,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/cv.js b/public/bower_components/moment/src/locale/cv.js
new file mode 100644
index 0000000..2443f0a
--- /dev/null
+++ b/public/bower_components/moment/src/locale/cv.js
@@ -0,0 +1,54 @@
+//! moment.js locale configuration
+//! locale : Chuvash [cv]
+//! author : Anatoly Mironov : https://github.com/mirontoli
+
+import moment from '../moment';
+
+export default moment.defineLocale('cv', {
+    months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
+    monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
+    weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
+    weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
+    weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD-MM-YYYY',
+        LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
+        LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
+        LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
+    },
+    calendar : {
+        sameDay: '[Паян] LT [сехетре]',
+        nextDay: '[Ыран] LT [сехетре]',
+        lastDay: '[Ӗнер] LT [сехетре]',
+        nextWeek: '[Ҫитес] dddd LT [сехетре]',
+        lastWeek: '[Иртнӗ] dddd LT [сехетре]',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : function (output) {
+            var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
+            return output + affix;
+        },
+        past : '%s каялла',
+        s : 'пӗр-ик ҫеккунт',
+        ss : '%d ҫеккунт',
+        m : 'пӗр минут',
+        mm : '%d минут',
+        h : 'пӗр сехет',
+        hh : '%d сехет',
+        d : 'пӗр кун',
+        dd : '%d кун',
+        M : 'пӗр уйӑх',
+        MM : '%d уйӑх',
+        y : 'пӗр ҫул',
+        yy : '%d ҫул'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-мӗш/,
+    ordinal : '%d-мӗш',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/cy.js b/public/bower_components/moment/src/locale/cy.js
new file mode 100644
index 0000000..eb2e54c
--- /dev/null
+++ b/public/bower_components/moment/src/locale/cy.js
@@ -0,0 +1,73 @@
+//! moment.js locale configuration
+//! locale : Welsh [cy]
+//! author : Robert Allen : https://github.com/robgallen
+//! author : https://github.com/ryangreaves
+
+import moment from '../moment';
+
+export default moment.defineLocale('cy', {
+    months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
+    monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
+    weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
+    weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
+    weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
+    weekdaysParseExact : true,
+    // time formats are the same as en-gb
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY HH:mm',
+        LLLL: 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar: {
+        sameDay: '[Heddiw am] LT',
+        nextDay: '[Yfory am] LT',
+        nextWeek: 'dddd [am] LT',
+        lastDay: '[Ddoe am] LT',
+        lastWeek: 'dddd [diwethaf am] LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: 'mewn %s',
+        past: '%s yn ôl',
+        s: 'ychydig eiliadau',
+        ss: '%d eiliad',
+        m: 'munud',
+        mm: '%d munud',
+        h: 'awr',
+        hh: '%d awr',
+        d: 'diwrnod',
+        dd: '%d diwrnod',
+        M: 'mis',
+        MM: '%d mis',
+        y: 'blwyddyn',
+        yy: '%d flynedd'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
+    // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
+    ordinal: function (number) {
+        var b = number,
+            output = '',
+            lookup = [
+                '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
+                'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
+            ];
+        if (b > 20) {
+            if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
+                output = 'fed'; // not 30ain, 70ain or 90ain
+            } else {
+                output = 'ain';
+            }
+        } else if (b > 0) {
+            output = lookup[b];
+        }
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/da.js b/public/bower_components/moment/src/locale/da.js
new file mode 100644
index 0000000..a06c6e0
--- /dev/null
+++ b/public/bower_components/moment/src/locale/da.js
@@ -0,0 +1,51 @@
+//! moment.js locale configuration
+//! locale : Danish [da]
+//! author : Ulrik Nielsen : https://github.com/mrbase
+
+import moment from '../moment';
+
+export default moment.defineLocale('da', {
+    months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+    weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+    weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
+    weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY HH:mm',
+        LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'
+    },
+    calendar : {
+        sameDay : '[i dag kl.] LT',
+        nextDay : '[i morgen kl.] LT',
+        nextWeek : 'på dddd [kl.] LT',
+        lastDay : '[i går kl.] LT',
+        lastWeek : '[i] dddd[s kl.] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'om %s',
+        past : '%s siden',
+        s : 'få sekunder',
+        ss : '%d sekunder',
+        m : 'et minut',
+        mm : '%d minutter',
+        h : 'en time',
+        hh : '%d timer',
+        d : 'en dag',
+        dd : '%d dage',
+        M : 'en måned',
+        MM : '%d måneder',
+        y : 'et år',
+        yy : '%d år'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/de-at.js b/public/bower_components/moment/src/locale/de-at.js
new file mode 100644
index 0000000..4ed974c
--- /dev/null
+++ b/public/bower_components/moment/src/locale/de-at.js
@@ -0,0 +1,70 @@
+//! moment.js locale configuration
+//! locale : German (Austria) [de-at]
+//! author : lluchs : https://github.com/lluchs
+//! author: Menelion Elensúle: https://github.com/Oire
+//! author : Martin Groller : https://github.com/MadMG
+//! author : Mikolaj Dadela : https://github.com/mik01aj
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        'm': ['eine Minute', 'einer Minute'],
+        'h': ['eine Stunde', 'einer Stunde'],
+        'd': ['ein Tag', 'einem Tag'],
+        'dd': [number + ' Tage', number + ' Tagen'],
+        'M': ['ein Monat', 'einem Monat'],
+        'MM': [number + ' Monate', number + ' Monaten'],
+        'y': ['ein Jahr', 'einem Jahr'],
+        'yy': [number + ' Jahre', number + ' Jahren']
+    };
+    return withoutSuffix ? format[key][0] : format[key][1];
+}
+
+export default moment.defineLocale('de-at', {
+    months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+    monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+    weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+    weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY HH:mm',
+        LLLL : 'dddd, D. MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[heute um] LT [Uhr]',
+        sameElse: 'L',
+        nextDay: '[morgen um] LT [Uhr]',
+        nextWeek: 'dddd [um] LT [Uhr]',
+        lastDay: '[gestern um] LT [Uhr]',
+        lastWeek: '[letzten] dddd [um] LT [Uhr]'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : 'vor %s',
+        s : 'ein paar Sekunden',
+        ss : '%d Sekunden',
+        m : processRelativeTime,
+        mm : '%d Minuten',
+        h : processRelativeTime,
+        hh : '%d Stunden',
+        d : processRelativeTime,
+        dd : processRelativeTime,
+        M : processRelativeTime,
+        MM : processRelativeTime,
+        y : processRelativeTime,
+        yy : processRelativeTime
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/de-ch.js b/public/bower_components/moment/src/locale/de-ch.js
new file mode 100644
index 0000000..c448345
--- /dev/null
+++ b/public/bower_components/moment/src/locale/de-ch.js
@@ -0,0 +1,69 @@
+//! moment.js locale configuration
+//! locale : German (Switzerland) [de-ch]
+//! author : sschueller : https://github.com/sschueller
+
+// based on: https://www.bk.admin.ch/dokumentation/sprachen/04915/05016/index.html?lang=de#
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        'm': ['eine Minute', 'einer Minute'],
+        'h': ['eine Stunde', 'einer Stunde'],
+        'd': ['ein Tag', 'einem Tag'],
+        'dd': [number + ' Tage', number + ' Tagen'],
+        'M': ['ein Monat', 'einem Monat'],
+        'MM': [number + ' Monate', number + ' Monaten'],
+        'y': ['ein Jahr', 'einem Jahr'],
+        'yy': [number + ' Jahre', number + ' Jahren']
+    };
+    return withoutSuffix ? format[key][0] : format[key][1];
+}
+
+export default moment.defineLocale('de-ch', {
+    months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+    monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+    weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+    weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY HH:mm',
+        LLLL : 'dddd, D. MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[heute um] LT [Uhr]',
+        sameElse: 'L',
+        nextDay: '[morgen um] LT [Uhr]',
+        nextWeek: 'dddd [um] LT [Uhr]',
+        lastDay: '[gestern um] LT [Uhr]',
+        lastWeek: '[letzten] dddd [um] LT [Uhr]'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : 'vor %s',
+        s : 'ein paar Sekunden',
+        ss : '%d Sekunden',
+        m : processRelativeTime,
+        mm : '%d Minuten',
+        h : processRelativeTime,
+        hh : '%d Stunden',
+        d : processRelativeTime,
+        dd : processRelativeTime,
+        M : processRelativeTime,
+        MM : processRelativeTime,
+        y : processRelativeTime,
+        yy : processRelativeTime
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/de.js b/public/bower_components/moment/src/locale/de.js
new file mode 100644
index 0000000..4574656
--- /dev/null
+++ b/public/bower_components/moment/src/locale/de.js
@@ -0,0 +1,69 @@
+//! moment.js locale configuration
+//! locale : German [de]
+//! author : lluchs : https://github.com/lluchs
+//! author: Menelion Elensúle: https://github.com/Oire
+//! author : Mikolaj Dadela : https://github.com/mik01aj
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        'm': ['eine Minute', 'einer Minute'],
+        'h': ['eine Stunde', 'einer Stunde'],
+        'd': ['ein Tag', 'einem Tag'],
+        'dd': [number + ' Tage', number + ' Tagen'],
+        'M': ['ein Monat', 'einem Monat'],
+        'MM': [number + ' Monate', number + ' Monaten'],
+        'y': ['ein Jahr', 'einem Jahr'],
+        'yy': [number + ' Jahre', number + ' Jahren']
+    };
+    return withoutSuffix ? format[key][0] : format[key][1];
+}
+
+export default moment.defineLocale('de', {
+    months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+    monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
+    weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
+    weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY HH:mm',
+        LLLL : 'dddd, D. MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[heute um] LT [Uhr]',
+        sameElse: 'L',
+        nextDay: '[morgen um] LT [Uhr]',
+        nextWeek: 'dddd [um] LT [Uhr]',
+        lastDay: '[gestern um] LT [Uhr]',
+        lastWeek: '[letzten] dddd [um] LT [Uhr]'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : 'vor %s',
+        s : 'ein paar Sekunden',
+        ss : '%d Sekunden',
+        m : processRelativeTime,
+        mm : '%d Minuten',
+        h : processRelativeTime,
+        hh : '%d Stunden',
+        d : processRelativeTime,
+        dd : processRelativeTime,
+        M : processRelativeTime,
+        MM : processRelativeTime,
+        y : processRelativeTime,
+        yy : processRelativeTime
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/dv.js b/public/bower_components/moment/src/locale/dv.js
new file mode 100644
index 0000000..67c40be
--- /dev/null
+++ b/public/bower_components/moment/src/locale/dv.js
@@ -0,0 +1,90 @@
+//! moment.js locale configuration
+//! locale : Maldivian [dv]
+//! author : Jawish Hameed : https://github.com/jawish
+
+import moment from '../moment';
+
+var months = [
+    'Þ–Þ¬Þ‚ÞªÞ‡Þ¦ÞƒÞ©',
+    'ÞŠÞ¬Þ„Þ°ÞƒÞªÞ‡Þ¦ÞƒÞ©',
+    'Þ‰Þ§ÞƒÞ¨Þ—Þª',
+    'އޭޕްރީލު',
+    'Þ‰Þ­',
+    'Þ–Þ«Þ‚Þ°',
+    'ޖުލައި',
+    'އޯގަސްޓު',
+    'ސެޕްޓެމްބަރު',
+    'Þ‡Þ®Þ†Þ°Þ“Þ¯Þ„Þ¦ÞƒÞª',
+    'Þ‚Þ®ÞˆÞ¬Þ‰Þ°Þ„Þ¦ÞƒÞª',
+    'ޑިސެމްބަރު'
+], weekdays = [
+    'އާދިއްތަ',
+    'Þ€Þ¯Þ‰Þ¦',
+    'Þ‡Þ¦Þ‚Þ°ÞŽÞ§ÞƒÞ¦',
+    'Þ„ÞªÞ‹Þ¦',
+    'ބުރާސްފަތި',
+    'Þ€ÞªÞ†ÞªÞƒÞª',
+    'Þ€Þ®Þ‚Þ¨Þ€Þ¨ÞƒÞª'
+];
+
+export default moment.defineLocale('dv', {
+    months : months,
+    monthsShort : months,
+    weekdays : weekdays,
+    weekdaysShort : weekdays,
+    weekdaysMin : 'Þ‡Þ§Þ‹Þ¨_Þ€Þ¯Þ‰Þ¦_Þ‡Þ¦Þ‚Þ°_Þ„ÞªÞ‹Þ¦_Þ„ÞªÞƒÞ§_Þ€ÞªÞ†Þª_Þ€Þ®Þ‚Þ¨'.split('_'),
+    longDateFormat : {
+
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'D/M/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /Þ‰Þ†|Þ‰ÞŠ/,
+    isPM : function (input) {
+        return 'Þ‰ÞŠ' === input;
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'Þ‰Þ†';
+        } else {
+            return 'Þ‰ÞŠ';
+        }
+    },
+    calendar : {
+        sameDay : '[Þ‰Þ¨Þ‡Þ¦Þ‹Þª] LT',
+        nextDay : '[Þ‰Þ§Þ‹Þ¦Þ‰Þ§] LT',
+        nextWeek : 'dddd LT',
+        lastDay : '[Þ‡Þ¨Þ‡Þ°Þ”Þ¬] LT',
+        lastWeek : '[ފާއިތުވި] dddd LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'ތެރޭގައި %s',
+        past : 'Þ†ÞªÞƒÞ¨Þ‚Þ° %s',
+        s : 'ސިކުންތުކޮޅެއް',
+        ss : 'd% ސިކުންތު',
+        m : 'Þ‰Þ¨Þ‚Þ¨Þ“Þ¬Þ‡Þ°',
+        mm : 'Þ‰Þ¨Þ‚Þ¨Þ“Þª %d',
+        h : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞ¬Þ‡Þ°',
+        hh : 'ÞŽÞ¦Þ‘Þ¨Þ‡Þ¨ÞƒÞª %d',
+        d : 'Þ‹ÞªÞˆÞ¦Þ€Þ¬Þ‡Þ°',
+        dd : 'ދުވަސް %d',
+        M : 'Þ‰Þ¦Þ€Þ¬Þ‡Þ°',
+        MM : 'މަސް %d',
+        y : 'Þ‡Þ¦Þ€Þ¦ÞƒÞ¬Þ‡Þ°',
+        yy : 'Þ‡Þ¦Þ€Þ¦ÞƒÞª %d'
+    },
+    preparse: function (string) {
+        return string.replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/,/g, '،');
+    },
+    week : {
+        dow : 7,  // Sunday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/el.js b/public/bower_components/moment/src/locale/el.js
new file mode 100644
index 0000000..5e43ae3
--- /dev/null
+++ b/public/bower_components/moment/src/locale/el.js
@@ -0,0 +1,89 @@
+//! moment.js locale configuration
+//! locale : Greek [el]
+//! author : Aggelos Karalias : https://github.com/mehiel
+
+import moment from '../moment';
+import isFunction from '../lib/utils/is-function';
+
+export default moment.defineLocale('el', {
+    monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
+    monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
+    months : function (momentToFormat, format) {
+        if (!momentToFormat) {
+            return this._monthsNominativeEl;
+        } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
+            return this._monthsGenitiveEl[momentToFormat.month()];
+        } else {
+            return this._monthsNominativeEl[momentToFormat.month()];
+        }
+    },
+    monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
+    weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
+    weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
+    weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
+    meridiem : function (hours, minutes, isLower) {
+        if (hours > 11) {
+            return isLower ? 'μμ' : 'ΜΜ';
+        } else {
+            return isLower ? 'πμ' : 'ΠΜ';
+        }
+    },
+    isPM : function (input) {
+        return ((input + '').toLowerCase()[0] === 'μ');
+    },
+    meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY h:mm A',
+        LLLL : 'dddd, D MMMM YYYY h:mm A'
+    },
+    calendarEl : {
+        sameDay : '[Σήμερα {}] LT',
+        nextDay : '[Αύριο {}] LT',
+        nextWeek : 'dddd [{}] LT',
+        lastDay : '[Χθες {}] LT',
+        lastWeek : function () {
+            switch (this.day()) {
+                case 6:
+                    return '[το προηγούμενο] dddd [{}] LT';
+                default:
+                    return '[την προηγούμενη] dddd [{}] LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    calendar : function (key, mom) {
+        var output = this._calendarEl[key],
+            hours = mom && mom.hours();
+        if (isFunction(output)) {
+            output = output.apply(mom);
+        }
+        return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
+    },
+    relativeTime : {
+        future : 'σε %s',
+        past : '%s πριν',
+        s : 'λίγα δευτερόλεπτα',
+        ss : '%d δευτερόλεπτα',
+        m : 'ένα λεπτό',
+        mm : '%d λεπτά',
+        h : 'μία ώρα',
+        hh : '%d ώρες',
+        d : 'μία μέρα',
+        dd : '%d μέρες',
+        M : 'ένας μήνας',
+        MM : '%d μήνες',
+        y : 'ένας χρόνος',
+        yy : '%d χρόνια'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}η/,
+    ordinal: '%dη',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4st is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/en-SG.js b/public/bower_components/moment/src/locale/en-SG.js
new file mode 100644
index 0000000..1cab9d6
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-SG.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+//! locale : English (Singapore) [en-SG]
+//! author : Matthew Castrillon-Madrigal : https://github.com/techdimension
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-SG', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        ss : '%d seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/en-au.js b/public/bower_components/moment/src/locale/en-au.js
new file mode 100644
index 0000000..0e2e425
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-au.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+//! locale : English (Australia) [en-au]
+//! author : Jared Morse : https://github.com/jarcoal
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-au', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY h:mm A',
+        LLLL : 'dddd, D MMMM YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        ss : '%d seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/en-ca.js b/public/bower_components/moment/src/locale/en-ca.js
new file mode 100644
index 0000000..008baed
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-ca.js
@@ -0,0 +1,54 @@
+//! moment.js locale configuration
+//! locale : English (Canada) [en-ca]
+//! author : Jonathan Abourbih : https://github.com/jonbca
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-ca', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'YYYY-MM-DD',
+        LL : 'MMMM D, YYYY',
+        LLL : 'MMMM D, YYYY h:mm A',
+        LLLL : 'dddd, MMMM D, YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        ss : '%d seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    }
+});
diff --git a/public/bower_components/moment/src/locale/en-gb.js b/public/bower_components/moment/src/locale/en-gb.js
new file mode 100644
index 0000000..da235be
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-gb.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+//! locale : English (United Kingdom) [en-gb]
+//! author : Chris Gedrim : https://github.com/chrisgedrim
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-gb', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        ss : '%d seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/en-ie.js b/public/bower_components/moment/src/locale/en-ie.js
new file mode 100644
index 0000000..38166ad
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-ie.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+//! locale : English (Ireland) [en-ie]
+//! author : Chris Cartlidge : https://github.com/chriscartlidge
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-ie', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        ss : '%d seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/en-il.js b/public/bower_components/moment/src/locale/en-il.js
new file mode 100644
index 0000000..da293eb
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-il.js
@@ -0,0 +1,54 @@
+//! moment.js locale configuration
+//! locale : English (Israel) [en-il]
+//! author : Chris Gedrim : https://github.com/chrisgedrim
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-il', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/en-nz.js b/public/bower_components/moment/src/locale/en-nz.js
new file mode 100644
index 0000000..ee7c468
--- /dev/null
+++ b/public/bower_components/moment/src/locale/en-nz.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+//! locale : English (New Zealand) [en-nz]
+//! author : Luke McGregor : https://github.com/lukemcgregor
+
+import moment from '../moment';
+
+export default moment.defineLocale('en-nz', {
+    months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
+    weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
+    weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
+    weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY h:mm A',
+        LLLL : 'dddd, D MMMM YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : '[Today at] LT',
+        nextDay : '[Tomorrow at] LT',
+        nextWeek : 'dddd [at] LT',
+        lastDay : '[Yesterday at] LT',
+        lastWeek : '[Last] dddd [at] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'in %s',
+        past : '%s ago',
+        s : 'a few seconds',
+        ss : '%d seconds',
+        m : 'a minute',
+        mm : '%d minutes',
+        h : 'an hour',
+        hh : '%d hours',
+        d : 'a day',
+        dd : '%d days',
+        M : 'a month',
+        MM : '%d months',
+        y : 'a year',
+        yy : '%d years'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/eo.js b/public/bower_components/moment/src/locale/eo.js
new file mode 100644
index 0000000..0345d8c
--- /dev/null
+++ b/public/bower_components/moment/src/locale/eo.js
@@ -0,0 +1,65 @@
+//! moment.js locale configuration
+//! locale : Esperanto [eo]
+//! author : Colin Dean : https://github.com/colindean
+//! author : Mia Nordentoft Imperatori : https://github.com/miestasmia
+//! comment : miestasmia corrected the translation by colindean
+
+import moment from '../moment';
+
+export default moment.defineLocale('eo', {
+    months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'),
+    weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),
+    weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),
+    weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY-MM-DD',
+        LL : 'D[-a de] MMMM, YYYY',
+        LLL : 'D[-a de] MMMM, YYYY HH:mm',
+        LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'
+    },
+    meridiemParse: /[ap]\.t\.m/i,
+    isPM: function (input) {
+        return input.charAt(0).toLowerCase() === 'p';
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours > 11) {
+            return isLower ? 'p.t.m.' : 'P.T.M.';
+        } else {
+            return isLower ? 'a.t.m.' : 'A.T.M.';
+        }
+    },
+    calendar : {
+        sameDay : '[HodiaÅ­ je] LT',
+        nextDay : '[MorgaÅ­ je] LT',
+        nextWeek : 'dddd [je] LT',
+        lastDay : '[HieraÅ­ je] LT',
+        lastWeek : '[pasinta] dddd [je] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'post %s',
+        past : 'antaÅ­ %s',
+        s : 'sekundoj',
+        ss : '%d sekundoj',
+        m : 'minuto',
+        mm : '%d minutoj',
+        h : 'horo',
+        hh : '%d horoj',
+        d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
+        dd : '%d tagoj',
+        M : 'monato',
+        MM : '%d monatoj',
+        y : 'jaro',
+        yy : '%d jaroj'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}a/,
+    ordinal : '%da',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/es-do.js b/public/bower_components/moment/src/locale/es-do.js
new file mode 100644
index 0000000..c839785
--- /dev/null
+++ b/public/bower_components/moment/src/locale/es-do.js
@@ -0,0 +1,83 @@
+//! moment.js locale configuration
+//! locale : Spanish (Dominican Republic) [es-do]
+
+import moment from '../moment';
+
+var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+    monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+var monthsRegex = /^(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;
+
+export default moment.defineLocale('es-do', {
+    months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+    monthsShort : function (m, format) {
+        if (!m) {
+            return monthsShortDot;
+        } else if (/-MMM-/.test(format)) {
+            return monthsShort[m.month()];
+        } else {
+            return monthsShortDot[m.month()];
+        }
+    },
+    monthsRegex: monthsRegex,
+    monthsShortRegex: monthsRegex,
+    monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+    monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+    monthsParse: monthsParse,
+    longMonthsParse: monthsParse,
+    shortMonthsParse: monthsParse,
+    weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+    weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+    weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D [de] MMMM [de] YYYY',
+        LLL : 'D [de] MMMM [de] YYYY h:mm A',
+        LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : function () {
+            return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        nextDay : function () {
+            return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        nextWeek : function () {
+            return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        lastDay : function () {
+            return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        lastWeek : function () {
+            return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'en %s',
+        past : 'hace %s',
+        s : 'unos segundos',
+        ss : '%d segundos',
+        m : 'un minuto',
+        mm : '%d minutos',
+        h : 'una hora',
+        hh : '%d horas',
+        d : 'un día',
+        dd : '%d días',
+        M : 'un mes',
+        MM : '%d meses',
+        y : 'un año',
+        yy : '%d años'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal : '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/es-us.js b/public/bower_components/moment/src/locale/es-us.js
new file mode 100644
index 0000000..498ae67
--- /dev/null
+++ b/public/bower_components/moment/src/locale/es-us.js
@@ -0,0 +1,84 @@
+//! moment.js locale configuration
+//! locale : Spanish (United States) [es-us]
+//! author : bustta : https://github.com/bustta
+//! author : chrisrodz : https://github.com/chrisrodz
+
+import moment from '../moment';
+
+var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+    monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+var monthsRegex = /^(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;
+
+export default moment.defineLocale('es-us', {
+    months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+    monthsShort : function (m, format) {
+        if (!m) {
+            return monthsShortDot;
+        } else if (/-MMM-/.test(format)) {
+            return monthsShort[m.month()];
+        } else {
+            return monthsShortDot[m.month()];
+        }
+    },
+    monthsRegex: monthsRegex,
+    monthsShortRegex: monthsRegex,
+    monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+    monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+    monthsParse: monthsParse,
+    longMonthsParse: monthsParse,
+    shortMonthsParse: monthsParse,
+    weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+    weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+    weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'MM/DD/YYYY',
+        LL : 'D [de] MMMM [de] YYYY',
+        LLL : 'D [de] MMMM [de] YYYY h:mm A',
+        LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : function () {
+            return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        nextDay : function () {
+            return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        nextWeek : function () {
+            return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        lastDay : function () {
+            return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        lastWeek : function () {
+            return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'en %s',
+        past : 'hace %s',
+        s : 'unos segundos',
+        ss : '%d segundos',
+        m : 'un minuto',
+        mm : '%d minutos',
+        h : 'una hora',
+        hh : '%d horas',
+        d : 'un día',
+        dd : '%d días',
+        M : 'un mes',
+        MM : '%d meses',
+        y : 'un año',
+        yy : '%d años'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal : '%dº',
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/es.js b/public/bower_components/moment/src/locale/es.js
new file mode 100644
index 0000000..4dc588a
--- /dev/null
+++ b/public/bower_components/moment/src/locale/es.js
@@ -0,0 +1,83 @@
+//! moment.js locale configuration
+//! locale : Spanish [es]
+//! author : Julio Napurí : https://github.com/julionc
+
+import moment from '../moment';
+
+var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
+    monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
+
+var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];
+var monthsRegex = /^(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;
+
+export default moment.defineLocale('es', {
+    months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
+    monthsShort : function (m, format) {
+        if (!m) {
+            return monthsShortDot;
+        } else if (/-MMM-/.test(format)) {
+            return monthsShort[m.month()];
+        } else {
+            return monthsShortDot[m.month()];
+        }
+    },
+    monthsRegex : monthsRegex,
+    monthsShortRegex : monthsRegex,
+    monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,
+    monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,
+    monthsParse : monthsParse,
+    longMonthsParse : monthsParse,
+    shortMonthsParse : monthsParse,
+    weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
+    weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
+    weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D [de] MMMM [de] YYYY',
+        LLL : 'D [de] MMMM [de] YYYY H:mm',
+        LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+    },
+    calendar : {
+        sameDay : function () {
+            return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        nextDay : function () {
+            return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        nextWeek : function () {
+            return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        lastDay : function () {
+            return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        lastWeek : function () {
+            return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'en %s',
+        past : 'hace %s',
+        s : 'unos segundos',
+        ss : '%d segundos',
+        m : 'un minuto',
+        mm : '%d minutos',
+        h : 'una hora',
+        hh : '%d horas',
+        d : 'un día',
+        dd : '%d días',
+        M : 'un mes',
+        MM : '%d meses',
+        y : 'un año',
+        yy : '%d años'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal : '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/et.js b/public/bower_components/moment/src/locale/et.js
new file mode 100644
index 0000000..22415e7
--- /dev/null
+++ b/public/bower_components/moment/src/locale/et.js
@@ -0,0 +1,73 @@
+//! moment.js locale configuration
+//! locale : Estonian [et]
+//! author : Henry Kehlmann : https://github.com/madhenry
+//! improvements : Illimar Tambek : https://github.com/ragulka
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
+        'ss': [number + 'sekundi', number + 'sekundit'],
+        'm' : ['ühe minuti', 'üks minut'],
+        'mm': [number + ' minuti', number + ' minutit'],
+        'h' : ['ühe tunni', 'tund aega', 'üks tund'],
+        'hh': [number + ' tunni', number + ' tundi'],
+        'd' : ['ühe päeva', 'üks päev'],
+        'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
+        'MM': [number + ' kuu', number + ' kuud'],
+        'y' : ['ühe aasta', 'aasta', 'üks aasta'],
+        'yy': [number + ' aasta', number + ' aastat']
+    };
+    if (withoutSuffix) {
+        return format[key][2] ? format[key][2] : format[key][1];
+    }
+    return isFuture ? format[key][0] : format[key][1];
+}
+
+export default moment.defineLocale('et', {
+    months        : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
+    monthsShort   : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
+    weekdays      : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
+    weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
+    weekdaysMin   : 'P_E_T_K_N_R_L'.split('_'),
+    longDateFormat : {
+        LT   : 'H:mm',
+        LTS : 'H:mm:ss',
+        L    : 'DD.MM.YYYY',
+        LL   : 'D. MMMM YYYY',
+        LLL  : 'D. MMMM YYYY H:mm',
+        LLLL : 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay  : '[Täna,] LT',
+        nextDay  : '[Homme,] LT',
+        nextWeek : '[Järgmine] dddd LT',
+        lastDay  : '[Eile,] LT',
+        lastWeek : '[Eelmine] dddd LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s pärast',
+        past   : '%s tagasi',
+        s      : processRelativeTime,
+        ss     : processRelativeTime,
+        m      : processRelativeTime,
+        mm     : processRelativeTime,
+        h      : processRelativeTime,
+        hh     : processRelativeTime,
+        d      : processRelativeTime,
+        dd     : '%d päeva',
+        M      : processRelativeTime,
+        MM     : processRelativeTime,
+        y      : processRelativeTime,
+        yy     : processRelativeTime
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/eu.js b/public/bower_components/moment/src/locale/eu.js
new file mode 100644
index 0000000..d7658de
--- /dev/null
+++ b/public/bower_components/moment/src/locale/eu.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+//! locale : Basque [eu]
+//! author : Eneko Illarramendi : https://github.com/eillarra
+
+import moment from '../moment';
+
+export default moment.defineLocale('eu', {
+    months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
+    monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
+    weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
+    weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY-MM-DD',
+        LL : 'YYYY[ko] MMMM[ren] D[a]',
+        LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
+        LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
+        l : 'YYYY-M-D',
+        ll : 'YYYY[ko] MMM D[a]',
+        lll : 'YYYY[ko] MMM D[a] HH:mm',
+        llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
+    },
+    calendar : {
+        sameDay : '[gaur] LT[etan]',
+        nextDay : '[bihar] LT[etan]',
+        nextWeek : 'dddd LT[etan]',
+        lastDay : '[atzo] LT[etan]',
+        lastWeek : '[aurreko] dddd LT[etan]',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s barru',
+        past : 'duela %s',
+        s : 'segundo batzuk',
+        ss : '%d segundo',
+        m : 'minutu bat',
+        mm : '%d minutu',
+        h : 'ordu bat',
+        hh : '%d ordu',
+        d : 'egun bat',
+        dd : '%d egun',
+        M : 'hilabete bat',
+        MM : '%d hilabete',
+        y : 'urte bat',
+        yy : '%d urte'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fa.js b/public/bower_components/moment/src/locale/fa.js
new file mode 100644
index 0000000..0d377a5
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fa.js
@@ -0,0 +1,98 @@
+//! moment.js locale configuration
+//! locale : Persian [fa]
+//! author : Ebrahim Byagowi : https://github.com/ebraminio
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'Û±',
+    '2': 'Û²',
+    '3': 'Û³',
+    '4': 'Û´',
+    '5': 'Ûµ',
+    '6': 'Û¶',
+    '7': 'Û·',
+    '8': 'Û¸',
+    '9': 'Û¹',
+    '0': 'Û°'
+}, numberMap = {
+    'Û±': '1',
+    'Û²': '2',
+    'Û³': '3',
+    'Û´': '4',
+    'Ûµ': '5',
+    'Û¶': '6',
+    'Û·': '7',
+    'Û¸': '8',
+    'Û¹': '9',
+    'Û°': '0'
+};
+
+export default moment.defineLocale('fa', {
+    months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+    monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
+    weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+    weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
+    weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /قبل از ظهر|بعد از ظهر/,
+    isPM: function (input) {
+        return /بعد از ظهر/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'قبل از ظهر';
+        } else {
+            return 'بعد از ظهر';
+        }
+    },
+    calendar : {
+        sameDay : '[امروز ساعت] LT',
+        nextDay : '[فردا ساعت] LT',
+        nextWeek : 'dddd [ساعت] LT',
+        lastDay : '[دیروز ساعت] LT',
+        lastWeek : 'dddd [پیش] [ساعت] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'در %s',
+        past : '%s پیش',
+        s : 'چند ثانیه',
+        ss : 'ثانیه d%',
+        m : 'یک دقیقه',
+        mm : '%d دقیقه',
+        h : 'یک ساعت',
+        hh : '%d ساعت',
+        d : 'یک روز',
+        dd : '%d روز',
+        M : 'یک ماه',
+        MM : '%d ماه',
+        y : 'یک سال',
+        yy : '%d سال'
+    },
+    preparse: function (string) {
+        return string.replace(/[Û°-Û¹]/g, function (match) {
+            return numberMap[match];
+        }).replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        }).replace(/,/g, '،');
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}Ù…/,
+    ordinal : '%dÙ…',
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12 // The week that contains Jan 12th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fi.js b/public/bower_components/moment/src/locale/fi.js
new file mode 100644
index 0000000..c505292
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fi.js
@@ -0,0 +1,101 @@
+//! moment.js locale configuration
+//! locale : Finnish [fi]
+//! author : Tarmo Aidantausta : https://github.com/bleadof
+
+import moment from '../moment';
+
+var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
+    numbersFuture = [
+        'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
+        numbersPast[7], numbersPast[8], numbersPast[9]
+    ];
+function translate(number, withoutSuffix, key, isFuture) {
+    var result = '';
+    switch (key) {
+        case 's':
+            return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
+        case 'ss':
+            return isFuture ? 'sekunnin' : 'sekuntia';
+        case 'm':
+            return isFuture ? 'minuutin' : 'minuutti';
+        case 'mm':
+            result = isFuture ? 'minuutin' : 'minuuttia';
+            break;
+        case 'h':
+            return isFuture ? 'tunnin' : 'tunti';
+        case 'hh':
+            result = isFuture ? 'tunnin' : 'tuntia';
+            break;
+        case 'd':
+            return isFuture ? 'päivän' : 'päivä';
+        case 'dd':
+            result = isFuture ? 'päivän' : 'päivää';
+            break;
+        case 'M':
+            return isFuture ? 'kuukauden' : 'kuukausi';
+        case 'MM':
+            result = isFuture ? 'kuukauden' : 'kuukautta';
+            break;
+        case 'y':
+            return isFuture ? 'vuoden' : 'vuosi';
+        case 'yy':
+            result = isFuture ? 'vuoden' : 'vuotta';
+            break;
+    }
+    result = verbalNumber(number, isFuture) + ' ' + result;
+    return result;
+}
+function verbalNumber(number, isFuture) {
+    return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
+}
+
+export default moment.defineLocale('fi', {
+    months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
+    monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
+    weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
+    weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
+    weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
+    longDateFormat : {
+        LT : 'HH.mm',
+        LTS : 'HH.mm.ss',
+        L : 'DD.MM.YYYY',
+        LL : 'Do MMMM[ta] YYYY',
+        LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
+        LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
+        l : 'D.M.YYYY',
+        ll : 'Do MMM YYYY',
+        lll : 'Do MMM YYYY, [klo] HH.mm',
+        llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
+    },
+    calendar : {
+        sameDay : '[tänään] [klo] LT',
+        nextDay : '[huomenna] [klo] LT',
+        nextWeek : 'dddd [klo] LT',
+        lastDay : '[eilen] [klo] LT',
+        lastWeek : '[viime] dddd[na] [klo] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s päästä',
+        past : '%s sitten',
+        s : translate,
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : translate,
+        hh : translate,
+        d : translate,
+        dd : translate,
+        M : translate,
+        MM : translate,
+        y : translate,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fo.js b/public/bower_components/moment/src/locale/fo.js
new file mode 100644
index 0000000..039563f
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fo.js
@@ -0,0 +1,53 @@
+//! moment.js locale configuration
+//! locale : Faroese [fo]
+//! author : Ragnar Johannesen : https://github.com/ragnar123
+//! author : Kristian Sakarisson : https://github.com/sakarisson
+
+import moment from '../moment';
+
+export default moment.defineLocale('fo', {
+    months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+    weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
+    weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
+    weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D. MMMM, YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Í dag kl.] LT',
+        nextDay : '[Í morgin kl.] LT',
+        nextWeek : 'dddd [kl.] LT',
+        lastDay : '[Í gjár kl.] LT',
+        lastWeek : '[síðstu] dddd [kl] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'um %s',
+        past : '%s síðani',
+        s : 'fá sekund',
+        ss : '%d sekundir',
+        m : 'ein minuttur',
+        mm : '%d minuttir',
+        h : 'ein tími',
+        hh : '%d tímar',
+        d : 'ein dagur',
+        dd : '%d dagar',
+        M : 'ein mánaður',
+        MM : '%d mánaðir',
+        y : 'eitt ár',
+        yy : '%d ár'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fr-ca.js b/public/bower_components/moment/src/locale/fr-ca.js
new file mode 100644
index 0000000..4825a6d
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fr-ca.js
@@ -0,0 +1,66 @@
+//! moment.js locale configuration
+//! locale : French (Canada) [fr-ca]
+//! author : Jonathan Abourbih : https://github.com/jonbca
+
+import moment from '../moment';
+
+export default moment.defineLocale('fr-ca', {
+    months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+    monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+    weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+    weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY-MM-DD',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Aujourd’hui à] LT',
+        nextDay : '[Demain à] LT',
+        nextWeek : 'dddd [à] LT',
+        lastDay : '[Hier à] LT',
+        lastWeek : 'dddd [dernier à] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'dans %s',
+        past : 'il y a %s',
+        s : 'quelques secondes',
+        ss : '%d secondes',
+        m : 'une minute',
+        mm : '%d minutes',
+        h : 'une heure',
+        hh : '%d heures',
+        d : 'un jour',
+        dd : '%d jours',
+        M : 'un mois',
+        MM : '%d mois',
+        y : 'un an',
+        yy : '%d ans'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            // Words with masculine grammatical gender: mois, trimestre, jour
+            default:
+            case 'M':
+            case 'Q':
+            case 'D':
+            case 'DDD':
+            case 'd':
+                return number + (number === 1 ? 'er' : 'e');
+
+            // Words with feminine grammatical gender: semaine
+            case 'w':
+            case 'W':
+                return number + (number === 1 ? 're' : 'e');
+        }
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fr-ch.js b/public/bower_components/moment/src/locale/fr-ch.js
new file mode 100644
index 0000000..febd401
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fr-ch.js
@@ -0,0 +1,70 @@
+//! moment.js locale configuration
+//! locale : French (Switzerland) [fr-ch]
+//! author : Gaspard Bucher : https://github.com/gaspard
+
+import moment from '../moment';
+
+export default moment.defineLocale('fr-ch', {
+    months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+    monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+    weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+    weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Aujourd’hui à] LT',
+        nextDay : '[Demain à] LT',
+        nextWeek : 'dddd [à] LT',
+        lastDay : '[Hier à] LT',
+        lastWeek : 'dddd [dernier à] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'dans %s',
+        past : 'il y a %s',
+        s : 'quelques secondes',
+        ss : '%d secondes',
+        m : 'une minute',
+        mm : '%d minutes',
+        h : 'une heure',
+        hh : '%d heures',
+        d : 'un jour',
+        dd : '%d jours',
+        M : 'un mois',
+        MM : '%d mois',
+        y : 'un an',
+        yy : '%d ans'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(er|e)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            // Words with masculine grammatical gender: mois, trimestre, jour
+            default:
+            case 'M':
+            case 'Q':
+            case 'D':
+            case 'DDD':
+            case 'd':
+                return number + (number === 1 ? 'er' : 'e');
+
+            // Words with feminine grammatical gender: semaine
+            case 'w':
+            case 'W':
+                return number + (number === 1 ? 're' : 'e');
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fr.js b/public/bower_components/moment/src/locale/fr.js
new file mode 100644
index 0000000..81399dc
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fr.js
@@ -0,0 +1,75 @@
+//! moment.js locale configuration
+//! locale : French [fr]
+//! author : John Fischer : https://github.com/jfroffice
+
+import moment from '../moment';
+
+export default moment.defineLocale('fr', {
+    months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
+    monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
+    weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
+    weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Aujourd’hui à] LT',
+        nextDay : '[Demain à] LT',
+        nextWeek : 'dddd [à] LT',
+        lastDay : '[Hier à] LT',
+        lastWeek : 'dddd [dernier à] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'dans %s',
+        past : 'il y a %s',
+        s : 'quelques secondes',
+        ss : '%d secondes',
+        m : 'une minute',
+        mm : '%d minutes',
+        h : 'une heure',
+        hh : '%d heures',
+        d : 'un jour',
+        dd : '%d jours',
+        M : 'un mois',
+        MM : '%d mois',
+        y : 'un an',
+        yy : '%d ans'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(er|)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            // TODO: Return 'e' when day of month > 1. Move this case inside
+            // block for masculine words below.
+            // See https://github.com/moment/moment/issues/3375
+            case 'D':
+                return number + (number === 1 ? 'er' : '');
+
+            // Words with masculine grammatical gender: mois, trimestre, jour
+            default:
+            case 'M':
+            case 'Q':
+            case 'DDD':
+            case 'd':
+                return number + (number === 1 ? 'er' : 'e');
+
+            // Words with feminine grammatical gender: semaine
+            case 'w':
+            case 'W':
+                return number + (number === 1 ? 're' : 'e');
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/fy.js b/public/bower_components/moment/src/locale/fy.js
new file mode 100644
index 0000000..b4b2096
--- /dev/null
+++ b/public/bower_components/moment/src/locale/fy.js
@@ -0,0 +1,67 @@
+//! moment.js locale configuration
+//! locale : Frisian [fy]
+//! author : Robin van der Vliet : https://github.com/robin0van0der0v
+
+import moment from '../moment';
+
+var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
+    monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
+
+export default moment.defineLocale('fy', {
+    months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
+    monthsShort : function (m, format) {
+        if (!m) {
+            return monthsShortWithDots;
+        } else if (/-MMM-/.test(format)) {
+            return monthsShortWithoutDots[m.month()];
+        } else {
+            return monthsShortWithDots[m.month()];
+        }
+    },
+    monthsParseExact : true,
+    weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
+    weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
+    weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD-MM-YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[hjoed om] LT',
+        nextDay: '[moarn om] LT',
+        nextWeek: 'dddd [om] LT',
+        lastDay: '[juster om] LT',
+        lastWeek: '[ôfrûne] dddd [om] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'oer %s',
+        past : '%s lyn',
+        s : 'in pear sekonden',
+        ss : '%d sekonden',
+        m : 'ien minút',
+        mm : '%d minuten',
+        h : 'ien oere',
+        hh : '%d oeren',
+        d : 'ien dei',
+        dd : '%d dagen',
+        M : 'ien moanne',
+        MM : '%d moannen',
+        y : 'ien jier',
+        yy : '%d jierren'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+    ordinal : function (number) {
+        return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ga.js b/public/bower_components/moment/src/locale/ga.js
new file mode 100644
index 0000000..b603c41
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ga.js
@@ -0,0 +1,68 @@
+//! moment.js locale configuration
+//! locale : Irish or Irish Gaelic [gd]
+//! author : André Silva : https://github.com/askpt
+
+import moment from '../moment';
+
+
+var months = [
+    'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'
+];
+
+var monthsShort = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];
+
+var weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];
+
+var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];
+
+var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];
+
+export default moment.defineLocale('ga', {
+    months: months,
+    monthsShort: monthsShort,
+    monthsParseExact: true,
+    weekdays: weekdays,
+    weekdaysShort: weekdaysShort,
+    weekdaysMin: weekdaysMin,
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY HH:mm',
+        LLLL: 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar: {
+        sameDay: '[Inniu ag] LT',
+        nextDay: '[Amárach ag] LT',
+        nextWeek: 'dddd [ag] LT',
+        lastDay: '[Inné aig] LT',
+        lastWeek: 'dddd [seo caite] [ag] LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: 'i %s',
+        past: '%s ó shin',
+        s: 'cúpla soicind',
+        ss: '%d soicind',
+        m: 'nóiméad',
+        mm: '%d nóiméad',
+        h: 'uair an chloig',
+        hh: '%d uair an chloig',
+        d: 'lá',
+        dd: '%d lá',
+        M: 'mí',
+        MM: '%d mí',
+        y: 'bliain',
+        yy: '%d bliain'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/,
+    ordinal: function (number) {
+        var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+        return number + output;
+    },
+    week: {
+        dow: 1, // Monday is the first day of the week.
+        doy: 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/gd.js b/public/bower_components/moment/src/locale/gd.js
new file mode 100644
index 0000000..b3653d2
--- /dev/null
+++ b/public/bower_components/moment/src/locale/gd.js
@@ -0,0 +1,68 @@
+//! moment.js locale configuration
+//! locale : Scottish Gaelic [gd]
+//! author : Jon Ashdown : https://github.com/jonashdown
+
+import moment from '../moment';
+
+var months = [
+    'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
+];
+
+var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
+
+var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
+
+var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
+
+var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
+
+export default moment.defineLocale('gd', {
+    months : months,
+    monthsShort : monthsShort,
+    monthsParseExact : true,
+    weekdays : weekdays,
+    weekdaysShort : weekdaysShort,
+    weekdaysMin : weekdaysMin,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[An-diugh aig] LT',
+        nextDay : '[A-màireach aig] LT',
+        nextWeek : 'dddd [aig] LT',
+        lastDay : '[An-dè aig] LT',
+        lastWeek : 'dddd [seo chaidh] [aig] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'ann an %s',
+        past : 'bho chionn %s',
+        s : 'beagan diogan',
+        ss : '%d diogan',
+        m : 'mionaid',
+        mm : '%d mionaidean',
+        h : 'uair',
+        hh : '%d uairean',
+        d : 'latha',
+        dd : '%d latha',
+        M : 'mìos',
+        MM : '%d mìosan',
+        y : 'bliadhna',
+        yy : '%d bliadhna'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/,
+    ordinal : function (number) {
+        var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/gl.js b/public/bower_components/moment/src/locale/gl.js
new file mode 100644
index 0000000..206a8f6
--- /dev/null
+++ b/public/bower_components/moment/src/locale/gl.js
@@ -0,0 +1,69 @@
+//! moment.js locale configuration
+//! locale : Galician [gl]
+//! author : Juan G. Hurtado : https://github.com/juanghurtado
+
+import moment from '../moment';
+
+export default moment.defineLocale('gl', {
+    months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),
+    monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),
+    weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),
+    weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D [de] MMMM [de] YYYY',
+        LLL : 'D [de] MMMM [de] YYYY H:mm',
+        LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
+    },
+    calendar : {
+        sameDay : function () {
+            return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+        },
+        nextDay : function () {
+            return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
+        },
+        nextWeek : function () {
+            return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+        },
+        lastDay : function () {
+            return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
+        },
+        lastWeek : function () {
+            return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : function (str) {
+            if (str.indexOf('un') === 0) {
+                return 'n' + str;
+            }
+            return 'en ' + str;
+        },
+        past : 'hai %s',
+        s : 'uns segundos',
+        ss : '%d segundos',
+        m : 'un minuto',
+        mm : '%d minutos',
+        h : 'unha hora',
+        hh : '%d horas',
+        d : 'un día',
+        dd : '%d días',
+        M : 'un mes',
+        MM : '%d meses',
+        y : 'un ano',
+        yy : '%d anos'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal : '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/gom-latn.js b/public/bower_components/moment/src/locale/gom-latn.js
new file mode 100644
index 0000000..149f874
--- /dev/null
+++ b/public/bower_components/moment/src/locale/gom-latn.js
@@ -0,0 +1,114 @@
+//! moment.js locale configuration
+//! locale : Konkani Latin script [gom-latn]
+//! author : The Discoverer : https://github.com/WikiDiscoverer
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        's': ['thodde secondanim', 'thodde second'],
+        'ss': [number + ' secondanim', number + ' second'],
+        'm': ['eka mintan', 'ek minute'],
+        'mm': [number + ' mintanim', number + ' mintam'],
+        'h': ['eka voran', 'ek vor'],
+        'hh': [number + ' voranim', number + ' voram'],
+        'd': ['eka disan', 'ek dis'],
+        'dd': [number + ' disanim', number + ' dis'],
+        'M': ['eka mhoinean', 'ek mhoino'],
+        'MM': [number + ' mhoineanim', number + ' mhoine'],
+        'y': ['eka vorsan', 'ek voros'],
+        'yy': [number + ' vorsanim', number + ' vorsam']
+    };
+    return withoutSuffix ? format[key][0] : format[key][1];
+}
+
+export default moment.defineLocale('gom-latn', {
+    months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),
+    monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'),
+    weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),
+    weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'A h:mm [vazta]',
+        LTS : 'A h:mm:ss [vazta]',
+        L : 'DD-MM-YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY A h:mm [vazta]',
+        LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',
+        llll: 'ddd, D MMM YYYY, A h:mm [vazta]'
+    },
+    calendar : {
+        sameDay: '[Aiz] LT',
+        nextDay: '[Faleam] LT',
+        nextWeek: '[Ieta to] dddd[,] LT',
+        lastDay: '[Kal] LT',
+        lastWeek: '[Fatlo] dddd[,] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : '%s',
+        past : '%s adim',
+        s : processRelativeTime,
+        ss : processRelativeTime,
+        m : processRelativeTime,
+        mm : processRelativeTime,
+        h : processRelativeTime,
+        hh : processRelativeTime,
+        d : processRelativeTime,
+        dd : processRelativeTime,
+        M : processRelativeTime,
+        MM : processRelativeTime,
+        y : processRelativeTime,
+        yy : processRelativeTime
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}(er)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            // the ordinal 'er' only applies to day of the month
+            case 'D':
+                return number + 'er';
+            default:
+            case 'M':
+            case 'Q':
+            case 'DDD':
+            case 'd':
+            case 'w':
+            case 'W':
+                return number;
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    },
+    meridiemParse: /rati|sokalli|donparam|sanje/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'rati') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'sokalli') {
+            return hour;
+        } else if (meridiem === 'donparam') {
+            return hour > 12 ? hour : hour + 12;
+        } else if (meridiem === 'sanje') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'rati';
+        } else if (hour < 12) {
+            return 'sokalli';
+        } else if (hour < 16) {
+            return 'donparam';
+        } else if (hour < 20) {
+            return 'sanje';
+        } else {
+            return 'rati';
+        }
+    }
+});
diff --git a/public/bower_components/moment/src/locale/gu.js b/public/bower_components/moment/src/locale/gu.js
new file mode 100644
index 0000000..af91dfc
--- /dev/null
+++ b/public/bower_components/moment/src/locale/gu.js
@@ -0,0 +1,115 @@
+//! moment.js locale configuration
+//! locale : Gujarati [gu]
+//! author : Kaushik Thanki : https://github.com/Kaushik1987
+
+import moment from '../moment';
+
+var symbolMap = {
+        '1': 'à«§',
+        '2': '૨',
+        '3': 'à«©',
+        '4': '૪',
+        '5': 'à««',
+        '6': '૬',
+        '7': 'à«­',
+        '8': 'à«®',
+        '9': '૯',
+        '0': '૦'
+    },
+    numberMap = {
+        'à«§': '1',
+        '૨': '2',
+        'à«©': '3',
+        '૪': '4',
+        'à««': '5',
+        '૬': '6',
+        'à«­': '7',
+        'à«®': '8',
+        '૯': '9',
+        '૦': '0'
+    };
+
+export default moment.defineLocale('gu', {
+    months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),
+    monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),
+    monthsParseExact: true,
+    weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),
+    weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),
+    weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),
+    longDateFormat: {
+        LT: 'A h:mm વાગ્યે',
+        LTS: 'A h:mm:ss વાગ્યે',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY, A h:mm વાગ્યે',
+        LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'
+    },
+    calendar: {
+        sameDay: '[આજ] LT',
+        nextDay: '[કાલે] LT',
+        nextWeek: 'dddd, LT',
+        lastDay: '[ગઇકાલે] LT',
+        lastWeek: '[પાછલા] dddd, LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: '%s મા',
+        past: '%s પેહલા',
+        s: 'અમુક પળો',
+        ss: '%d સેકંડ',
+        m: 'એક મિનિટ',
+        mm: '%d મિનિટ',
+        h: 'એક કલાક',
+        hh: '%d કલાક',
+        d: 'એક દિવસ',
+        dd: '%d દિવસ',
+        M: 'એક મહિનો',
+        MM: '%d મહિનો',
+        y: 'એક વર્ષ',
+        yy: '%d વર્ષ'
+    },
+    preparse: function (string) {
+        return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    // Gujarati notation for meridiems are quite fuzzy in practice. While there exists
+    // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.
+    meridiemParse: /રાત|બપોર|સવાર|સાંજ/,
+    meridiemHour: function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'રાત') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'સવાર') {
+            return hour;
+        } else if (meridiem === 'બપોર') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'સાંજ') {
+            return hour + 12;
+        }
+    },
+    meridiem: function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'રાત';
+        } else if (hour < 10) {
+            return 'સવાર';
+        } else if (hour < 17) {
+            return 'બપોર';
+        } else if (hour < 20) {
+            return 'સાંજ';
+        } else {
+            return 'રાત';
+        }
+    },
+    week: {
+        dow: 0, // Sunday is the first day of the week.
+        doy: 6 // The week that contains Jan 6th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/he.js b/public/bower_components/moment/src/locale/he.js
new file mode 100644
index 0000000..02af634
--- /dev/null
+++ b/public/bower_components/moment/src/locale/he.js
@@ -0,0 +1,91 @@
+//! moment.js locale configuration
+//! locale : Hebrew [he]
+//! author : Tomer Cohen : https://github.com/tomer
+//! author : Moshe Simantov : https://github.com/DevelopmentIL
+//! author : Tal Ater : https://github.com/TalAter
+
+import moment from '../moment';
+
+export default moment.defineLocale('he', {
+    months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
+    monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
+    weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
+    weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
+    weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D [ב]MMMM YYYY',
+        LLL : 'D [ב]MMMM YYYY HH:mm',
+        LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
+        l : 'D/M/YYYY',
+        ll : 'D MMM YYYY',
+        lll : 'D MMM YYYY HH:mm',
+        llll : 'ddd, D MMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[היום ב־]LT',
+        nextDay : '[מחר ב־]LT',
+        nextWeek : 'dddd [בשעה] LT',
+        lastDay : '[אתמול ב־]LT',
+        lastWeek : '[ביום] dddd [האחרון בשעה] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'בעוד %s',
+        past : 'לפני %s',
+        s : 'מספר שניות',
+        ss : '%d שניות',
+        m : 'דקה',
+        mm : '%d דקות',
+        h : 'שעה',
+        hh : function (number) {
+            if (number === 2) {
+                return 'שעתיים';
+            }
+            return number + ' שעות';
+        },
+        d : 'יום',
+        dd : function (number) {
+            if (number === 2) {
+                return 'יומיים';
+            }
+            return number + ' ימים';
+        },
+        M : 'חודש',
+        MM : function (number) {
+            if (number === 2) {
+                return 'חודשיים';
+            }
+            return number + ' חודשים';
+        },
+        y : 'שנה',
+        yy : function (number) {
+            if (number === 2) {
+                return 'שנתיים';
+            } else if (number % 10 === 0 && number !== 10) {
+                return number + ' שנה';
+            }
+            return number + ' שנים';
+        }
+    },
+    meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
+    isPM : function (input) {
+        return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 5) {
+            return 'לפנות בוקר';
+        } else if (hour < 10) {
+            return 'בבוקר';
+        } else if (hour < 12) {
+            return isLower ? 'לפנה"צ' : 'לפני הצהריים';
+        } else if (hour < 18) {
+            return isLower ? 'אחה"צ' : 'אחרי הצהריים';
+        } else {
+            return 'בערב';
+        }
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/hi.js b/public/bower_components/moment/src/locale/hi.js
new file mode 100644
index 0000000..0ac41fa
--- /dev/null
+++ b/public/bower_components/moment/src/locale/hi.js
@@ -0,0 +1,116 @@
+//! moment.js locale configuration
+//! locale : Hindi [hi]
+//! author : Mayank Singhal : https://github.com/mayanksinghal
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '१',
+    '2': '२',
+    '3': '३',
+    '4': '४',
+    '5': '५',
+    '6': '६',
+    '7': '७',
+    '8': '८',
+    '9': '९',
+    '0': '०'
+},
+numberMap = {
+    '१': '1',
+    '२': '2',
+    '३': '3',
+    '४': '4',
+    '५': '5',
+    '६': '6',
+    '७': '7',
+    '८': '8',
+    '९': '9',
+    '०': '0'
+};
+
+export default moment.defineLocale('hi', {
+    months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
+    monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+    weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
+    weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm बजे',
+        LTS : 'A h:mm:ss बजे',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm बजे',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
+    },
+    calendar : {
+        sameDay : '[आज] LT',
+        nextDay : '[कल] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[कल] LT',
+        lastWeek : '[पिछले] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s में',
+        past : '%s पहले',
+        s : 'कुछ ही क्षण',
+        ss : '%d सेकंड',
+        m : 'एक मिनट',
+        mm : '%d मिनट',
+        h : 'एक घंटा',
+        hh : '%d घंटे',
+        d : 'एक दिन',
+        dd : '%d दिन',
+        M : 'एक महीने',
+        MM : '%d महीने',
+        y : 'एक वर्ष',
+        yy : '%d वर्ष'
+    },
+    preparse: function (string) {
+        return string.replace(/[१२३४५६७८९०]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    // Hindi notation for meridiems are quite fuzzy in practice. While there exists
+    // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
+    meridiemParse: /रात|सुबह|दोपहर|शाम/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'रात') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'सुबह') {
+            return hour;
+        } else if (meridiem === 'दोपहर') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'शाम') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'रात';
+        } else if (hour < 10) {
+            return 'सुबह';
+        } else if (hour < 17) {
+            return 'दोपहर';
+        } else if (hour < 20) {
+            return 'शाम';
+        } else {
+            return 'रात';
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/hr.js b/public/bower_components/moment/src/locale/hr.js
new file mode 100644
index 0000000..188b8c3
--- /dev/null
+++ b/public/bower_components/moment/src/locale/hr.js
@@ -0,0 +1,145 @@
+//! moment.js locale configuration
+//! locale : Croatian [hr]
+//! author : Bojan Marković : https://github.com/bmarkovic
+
+import moment from '../moment';
+
+function translate(number, withoutSuffix, key) {
+    var result = number + ' ';
+    switch (key) {
+        case 'ss':
+            if (number === 1) {
+                result += 'sekunda';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'sekunde';
+            } else {
+                result += 'sekundi';
+            }
+            return result;
+        case 'm':
+            return withoutSuffix ? 'jedna minuta' : 'jedne minute';
+        case 'mm':
+            if (number === 1) {
+                result += 'minuta';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'minute';
+            } else {
+                result += 'minuta';
+            }
+            return result;
+        case 'h':
+            return withoutSuffix ? 'jedan sat' : 'jednog sata';
+        case 'hh':
+            if (number === 1) {
+                result += 'sat';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'sata';
+            } else {
+                result += 'sati';
+            }
+            return result;
+        case 'dd':
+            if (number === 1) {
+                result += 'dan';
+            } else {
+                result += 'dana';
+            }
+            return result;
+        case 'MM':
+            if (number === 1) {
+                result += 'mjesec';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'mjeseca';
+            } else {
+                result += 'mjeseci';
+            }
+            return result;
+        case 'yy':
+            if (number === 1) {
+                result += 'godina';
+            } else if (number === 2 || number === 3 || number === 4) {
+                result += 'godine';
+            } else {
+                result += 'godina';
+            }
+            return result;
+    }
+}
+
+export default moment.defineLocale('hr', {
+    months : {
+        format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
+        standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
+    },
+    monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+    weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+    weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY H:mm',
+        LLLL : 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay  : '[danas u] LT',
+        nextDay  : '[sutra u] LT',
+        nextWeek : function () {
+            switch (this.day()) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        lastDay  : '[jučer u] LT',
+        lastWeek : function () {
+            switch (this.day()) {
+                case 0:
+                case 3:
+                    return '[prošlu] dddd [u] LT';
+                case 6:
+                    return '[prošle] [subote] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[prošli] dddd [u] LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past   : 'prije %s',
+        s      : 'par sekundi',
+        ss     : translate,
+        m      : translate,
+        mm     : translate,
+        h      : translate,
+        hh     : translate,
+        d      : 'dan',
+        dd     : translate,
+        M      : 'mjesec',
+        MM     : translate,
+        y      : 'godinu',
+        yy     : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/hu.js b/public/bower_components/moment/src/locale/hu.js
new file mode 100644
index 0000000..1e075de
--- /dev/null
+++ b/public/bower_components/moment/src/locale/hu.js
@@ -0,0 +1,103 @@
+//! moment.js locale configuration
+//! locale : Hungarian [hu]
+//! author : Adam Brunner : https://github.com/adambrunner
+
+import moment from '../moment';
+
+var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
+function translate(number, withoutSuffix, key, isFuture) {
+    var num = number,
+        suffix;
+    switch (key) {
+        case 's':
+            return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
+        case 'ss':
+            return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';
+        case 'm':
+            return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
+        case 'mm':
+            return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
+        case 'h':
+            return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
+        case 'hh':
+            return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
+        case 'd':
+            return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
+        case 'dd':
+            return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
+        case 'M':
+            return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+        case 'MM':
+            return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
+        case 'y':
+            return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
+        case 'yy':
+            return num + (isFuture || withoutSuffix ? ' év' : ' éve');
+    }
+    return '';
+}
+function week(isFuture) {
+    return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
+}
+
+export default moment.defineLocale('hu', {
+    months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
+    monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
+    weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
+    weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
+    weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'YYYY.MM.DD.',
+        LL : 'YYYY. MMMM D.',
+        LLL : 'YYYY. MMMM D. H:mm',
+        LLLL : 'YYYY. MMMM D., dddd H:mm'
+    },
+    meridiemParse: /de|du/i,
+    isPM: function (input) {
+        return input.charAt(1).toLowerCase() === 'u';
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 12) {
+            return isLower === true ? 'de' : 'DE';
+        } else {
+            return isLower === true ? 'du' : 'DU';
+        }
+    },
+    calendar : {
+        sameDay : '[ma] LT[-kor]',
+        nextDay : '[holnap] LT[-kor]',
+        nextWeek : function () {
+            return week.call(this, true);
+        },
+        lastDay : '[tegnap] LT[-kor]',
+        lastWeek : function () {
+            return week.call(this, false);
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s múlva',
+        past : '%s',
+        s : translate,
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : translate,
+        hh : translate,
+        d : translate,
+        dd : translate,
+        M : translate,
+        MM : translate,
+        y : translate,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/hy-am.js b/public/bower_components/moment/src/locale/hy-am.js
new file mode 100644
index 0000000..6fd533b
--- /dev/null
+++ b/public/bower_components/moment/src/locale/hy-am.js
@@ -0,0 +1,87 @@
+//! moment.js locale configuration
+//! locale : Armenian [hy-am]
+//! author : Armendarabyan : https://github.com/armendarabyan
+
+import moment from '../moment';
+
+export default moment.defineLocale('hy-am', {
+    months : {
+        format: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€Õ«_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€Õ«_Õ´Õ¡Ö€Õ¿Õ«_Õ¡ÕºÖ€Õ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸Ö‚Õ¶Õ«Õ½Õ«_Õ°Õ¸Ö‚Õ¬Õ«Õ½Õ«_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€Õ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€Õ«'.split('_'),
+        standalone: 'Õ°Õ¸Ö‚Õ¶Õ¾Õ¡Ö€_ÖƒÕ¥Õ¿Ö€Õ¾Õ¡Ö€_Õ´Õ¡Ö€Õ¿_Õ¡ÕºÖ€Õ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸Ö‚Õ¶Õ«Õ½_Õ°Õ¸Ö‚Õ¬Õ«Õ½_Ö…Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö€_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö€'.split('_')
+    },
+    monthsShort : 'Õ°Õ¶Õ¾_ÖƒÕ¿Ö€_Õ´Ö€Õ¿_Õ¡ÕºÖ€_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö…Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'),
+    weekdays : 'Õ¯Õ«Ö€Õ¡Õ¯Õ«_Õ¥Ö€Õ¯Õ¸Ö‚Õ·Õ¡Õ¢Õ©Õ«_Õ¥Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸Ö€Õ¥Ö„Õ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸Ö‚Ö€Õ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'),
+    weekdaysShort : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+    weekdaysMin : 'Õ¯Ö€Õ¯_Õ¥Ö€Õ¯_Õ¥Ö€Ö„_Õ¹Ö€Ö„_Õ°Õ¶Õ£_Õ¸Ö‚Ö€Õ¢_Õ·Õ¢Õ©'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY Õ©.',
+        LLL : 'D MMMM YYYY Õ©., HH:mm',
+        LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm'
+    },
+    calendar : {
+        sameDay: '[Õ¡ÕµÕ½Ö…Ö€] LT',
+        nextDay: '[Õ¾Õ¡Õ²Õ¨] LT',
+        lastDay: '[Õ¥Ö€Õ¥Õ¯] LT',
+        nextWeek: function () {
+            return 'dddd [Ö…Ö€Õ¨ ÕªÕ¡Õ´Õ¨] LT';
+        },
+        lastWeek: function () {
+            return '[անցած] dddd [օրը ժամը] LT';
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : '%s Õ°Õ¥Õ¿Õ¸',
+        past : '%s Õ¡Õ¼Õ¡Õ»',
+        s : 'Õ´Õ« Ö„Õ¡Õ¶Õ« Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+        ss : '%d Õ¾Õ¡ÕµÖ€Õ¯ÕµÕ¡Õ¶',
+        m : 'Ö€Õ¸ÕºÕ¥',
+        mm : '%d Ö€Õ¸ÕºÕ¥',
+        h : 'ÕªÕ¡Õ´',
+        hh : '%d ÕªÕ¡Õ´',
+        d : 'Ö…Ö€',
+        dd : '%d Ö…Ö€',
+        M : 'Õ¡Õ´Õ«Õ½',
+        MM : '%d Õ¡Õ´Õ«Õ½',
+        y : 'Õ¿Õ¡Ö€Õ«',
+        yy : '%d Õ¿Õ¡Ö€Õ«'
+    },
+    meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
+    isPM: function (input) {
+        return /^(ցերեկվա|երեկոյան)$/.test(input);
+    },
+    meridiem : function (hour) {
+        if (hour < 4) {
+            return 'Õ£Õ«Õ·Õ¥Ö€Õ¾Õ¡';
+        } else if (hour < 12) {
+            return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡';
+        } else if (hour < 17) {
+            return 'ցերեկվա';
+        } else {
+            return 'Õ¥Ö€Õ¥Õ¯Õ¸ÕµÕ¡Õ¶';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|Ö€Õ¤)/,
+    ordinal: function (number, period) {
+        switch (period) {
+            case 'DDD':
+            case 'w':
+            case 'W':
+            case 'DDDo':
+                if (number === 1) {
+                    return number + '-Õ«Õ¶';
+                }
+                return number + '-Ö€Õ¤';
+            default:
+                return number;
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/id.js b/public/bower_components/moment/src/locale/id.js
new file mode 100644
index 0000000..9fa7bff
--- /dev/null
+++ b/public/bower_components/moment/src/locale/id.js
@@ -0,0 +1,74 @@
+//! moment.js locale configuration
+//! locale : Indonesian [id]
+//! author : Mohammad Satrio Utomo : https://github.com/tyok
+//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
+
+import moment from '../moment';
+
+export default moment.defineLocale('id', {
+    months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),
+    weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
+    weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
+    weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
+    longDateFormat : {
+        LT : 'HH.mm',
+        LTS : 'HH.mm.ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY [pukul] HH.mm',
+        LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+    },
+    meridiemParse: /pagi|siang|sore|malam/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'pagi') {
+            return hour;
+        } else if (meridiem === 'siang') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === 'sore' || meridiem === 'malam') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 11) {
+            return 'pagi';
+        } else if (hours < 15) {
+            return 'siang';
+        } else if (hours < 19) {
+            return 'sore';
+        } else {
+            return 'malam';
+        }
+    },
+    calendar : {
+        sameDay : '[Hari ini pukul] LT',
+        nextDay : '[Besok pukul] LT',
+        nextWeek : 'dddd [pukul] LT',
+        lastDay : '[Kemarin pukul] LT',
+        lastWeek : 'dddd [lalu pukul] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'dalam %s',
+        past : '%s yang lalu',
+        s : 'beberapa detik',
+        ss : '%d detik',
+        m : 'semenit',
+        mm : '%d menit',
+        h : 'sejam',
+        hh : '%d jam',
+        d : 'sehari',
+        dd : '%d hari',
+        M : 'sebulan',
+        MM : '%d bulan',
+        y : 'setahun',
+        yy : '%d tahun'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/is.js b/public/bower_components/moment/src/locale/is.js
new file mode 100644
index 0000000..51fb8e6
--- /dev/null
+++ b/public/bower_components/moment/src/locale/is.js
@@ -0,0 +1,124 @@
+//! moment.js locale configuration
+//! locale : Icelandic [is]
+//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
+
+import moment from '../moment';
+
+function plural(n) {
+    if (n % 100 === 11) {
+        return true;
+    } else if (n % 10 === 1) {
+        return false;
+    }
+    return true;
+}
+function translate(number, withoutSuffix, key, isFuture) {
+    var result = number + ' ';
+    switch (key) {
+        case 's':
+            return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
+        case 'ss':
+            if (plural(number)) {
+                return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');
+            }
+            return result + 'sekúnda';
+        case 'm':
+            return withoutSuffix ? 'mínúta' : 'mínútu';
+        case 'mm':
+            if (plural(number)) {
+                return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
+            } else if (withoutSuffix) {
+                return result + 'mínúta';
+            }
+            return result + 'mínútu';
+        case 'hh':
+            if (plural(number)) {
+                return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
+            }
+            return result + 'klukkustund';
+        case 'd':
+            if (withoutSuffix) {
+                return 'dagur';
+            }
+            return isFuture ? 'dag' : 'degi';
+        case 'dd':
+            if (plural(number)) {
+                if (withoutSuffix) {
+                    return result + 'dagar';
+                }
+                return result + (isFuture ? 'daga' : 'dögum');
+            } else if (withoutSuffix) {
+                return result + 'dagur';
+            }
+            return result + (isFuture ? 'dag' : 'degi');
+        case 'M':
+            if (withoutSuffix) {
+                return 'mánuður';
+            }
+            return isFuture ? 'mánuð' : 'mánuði';
+        case 'MM':
+            if (plural(number)) {
+                if (withoutSuffix) {
+                    return result + 'mánuðir';
+                }
+                return result + (isFuture ? 'mánuði' : 'mánuðum');
+            } else if (withoutSuffix) {
+                return result + 'mánuður';
+            }
+            return result + (isFuture ? 'mánuð' : 'mánuði');
+        case 'y':
+            return withoutSuffix || isFuture ? 'ár' : 'ári';
+        case 'yy':
+            if (plural(number)) {
+                return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
+            }
+            return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
+    }
+}
+
+export default moment.defineLocale('is', {
+    months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
+    weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
+    weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
+    weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY [kl.] H:mm',
+        LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
+    },
+    calendar : {
+        sameDay : '[í dag kl.] LT',
+        nextDay : '[á morgun kl.] LT',
+        nextWeek : 'dddd [kl.] LT',
+        lastDay : '[í gær kl.] LT',
+        lastWeek : '[síðasta] dddd [kl.] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'eftir %s',
+        past : 'fyrir %s síðan',
+        s : translate,
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : 'klukkustund',
+        hh : translate,
+        d : translate,
+        dd : translate,
+        M : translate,
+        MM : translate,
+        y : translate,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/it-ch.js b/public/bower_components/moment/src/locale/it-ch.js
new file mode 100644
index 0000000..bcfe603
--- /dev/null
+++ b/public/bower_components/moment/src/locale/it-ch.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+//! locale : Italian (Switzerland) [it-ch]
+//! author : xfh : https://github.com/xfh
+
+import moment from '../moment';
+
+export default moment.defineLocale('it-ch', {
+    months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+    monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+    weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+    weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+    weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[Oggi alle] LT',
+        nextDay: '[Domani alle] LT',
+        nextWeek: 'dddd [alle] LT',
+        lastDay: '[Ieri alle] LT',
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[la scorsa] dddd [alle] LT';
+                default:
+                    return '[lo scorso] dddd [alle] LT';
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : function (s) {
+            return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+        },
+        past : '%s fa',
+        s : 'alcuni secondi',
+        ss : '%d secondi',
+        m : 'un minuto',
+        mm : '%d minuti',
+        h : 'un\'ora',
+        hh : '%d ore',
+        d : 'un giorno',
+        dd : '%d giorni',
+        M : 'un mese',
+        MM : '%d mesi',
+        y : 'un anno',
+        yy : '%d anni'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal: '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/it.js b/public/bower_components/moment/src/locale/it.js
new file mode 100644
index 0000000..a7ce117
--- /dev/null
+++ b/public/bower_components/moment/src/locale/it.js
@@ -0,0 +1,62 @@
+//! moment.js locale configuration
+//! locale : Italian [it]
+//! author : Lorenzo : https://github.com/aliem
+//! author: Mattia Larentis: https://github.com/nostalgiaz
+
+import moment from '../moment';
+
+export default moment.defineLocale('it', {
+    months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
+    monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
+    weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),
+    weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),
+    weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[Oggi alle] LT',
+        nextDay: '[Domani alle] LT',
+        nextWeek: 'dddd [alle] LT',
+        lastDay: '[Ieri alle] LT',
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[la scorsa] dddd [alle] LT';
+                default:
+                    return '[lo scorso] dddd [alle] LT';
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : function (s) {
+            return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
+        },
+        past : '%s fa',
+        s : 'alcuni secondi',
+        ss : '%d secondi',
+        m : 'un minuto',
+        mm : '%d minuti',
+        h : 'un\'ora',
+        hh : '%d ore',
+        d : 'un giorno',
+        dd : '%d giorni',
+        M : 'un mese',
+        MM : '%d mesi',
+        y : 'un anno',
+        yy : '%d anni'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal: '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ja.js b/public/bower_components/moment/src/locale/ja.js
new file mode 100644
index 0000000..af3e1da
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ja.js
@@ -0,0 +1,84 @@
+//! moment.js locale configuration
+//! locale : Japanese [ja]
+//! author : LI Long : https://github.com/baryon
+
+import moment from '../moment';
+
+export default moment.defineLocale('ja', {
+    months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+    monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+    weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
+    weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
+    weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY/MM/DD',
+        LL : 'YYYY年M月D日',
+        LLL : 'YYYY年M月D日 HH:mm',
+        LLLL : 'YYYY年M月D日 dddd HH:mm',
+        l : 'YYYY/MM/DD',
+        ll : 'YYYY年M月D日',
+        lll : 'YYYY年M月D日 HH:mm',
+        llll : 'YYYY年M月D日(ddd) HH:mm'
+    },
+    meridiemParse: /午前|午後/i,
+    isPM : function (input) {
+        return input === '午後';
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return '午前';
+        } else {
+            return '午後';
+        }
+    },
+    calendar : {
+        sameDay : '[今日] LT',
+        nextDay : '[明日] LT',
+        nextWeek : function (now) {
+            if (now.week() < this.week()) {
+                return '[来週]dddd LT';
+            } else {
+                return 'dddd LT';
+            }
+        },
+        lastDay : '[昨日] LT',
+        lastWeek : function (now) {
+            if (this.week() < now.week()) {
+                return '[先週]dddd LT';
+            } else {
+                return 'dddd LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}æ—¥/,
+    ordinal : function (number, period) {
+        switch (period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return number + 'æ—¥';
+            default:
+                return number;
+        }
+    },
+    relativeTime : {
+        future : '%s後',
+        past : '%s前',
+        s : 'æ•°ç§’',
+        ss : '%dç§’',
+        m : '1分',
+        mm : '%d分',
+        h : '1時間',
+        hh : '%d時間',
+        d : '1æ—¥',
+        dd : '%dæ—¥',
+        M : '1ヶ月',
+        MM : '%dヶ月',
+        y : '1å¹´',
+        yy : '%då¹´'
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/jv.js b/public/bower_components/moment/src/locale/jv.js
new file mode 100644
index 0000000..f648f16
--- /dev/null
+++ b/public/bower_components/moment/src/locale/jv.js
@@ -0,0 +1,74 @@
+//! moment.js locale configuration
+//! locale : Javanese [jv]
+//! author : Rony Lantip : https://github.com/lantip
+//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
+
+import moment from '../moment';
+
+export default moment.defineLocale('jv', {
+    months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
+    monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
+    weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
+    weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
+    weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
+    longDateFormat : {
+        LT : 'HH.mm',
+        LTS : 'HH.mm.ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY [pukul] HH.mm',
+        LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+    },
+    meridiemParse: /enjing|siyang|sonten|ndalu/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'enjing') {
+            return hour;
+        } else if (meridiem === 'siyang') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 11) {
+            return 'enjing';
+        } else if (hours < 15) {
+            return 'siyang';
+        } else if (hours < 19) {
+            return 'sonten';
+        } else {
+            return 'ndalu';
+        }
+    },
+    calendar : {
+        sameDay : '[Dinten puniko pukul] LT',
+        nextDay : '[Mbenjang pukul] LT',
+        nextWeek : 'dddd [pukul] LT',
+        lastDay : '[Kala wingi pukul] LT',
+        lastWeek : 'dddd [kepengker pukul] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'wonten ing %s',
+        past : '%s ingkang kepengker',
+        s : 'sawetawis detik',
+        ss : '%d detik',
+        m : 'setunggal menit',
+        mm : '%d menit',
+        h : 'setunggal jam',
+        hh : '%d jam',
+        d : 'sedinten',
+        dd : '%d dinten',
+        M : 'sewulan',
+        MM : '%d wulan',
+        y : 'setaun',
+        yy : '%d taun'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ka.js b/public/bower_components/moment/src/locale/ka.js
new file mode 100644
index 0000000..169734b
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ka.js
@@ -0,0 +1,81 @@
+//! moment.js locale configuration
+//! locale : Georgian [ka]
+//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
+
+import moment from '../moment';
+
+export default moment.defineLocale('ka', {
+    months : {
+        standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
+        format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
+    },
+    monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
+    weekdays : {
+        standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
+        format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
+        isFormat: /(წინა|შემდეგ)/
+    },
+    weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
+    weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY h:mm A',
+        LLLL : 'dddd, D MMMM YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : '[დღეს] LT[-ზე]',
+        nextDay : '[ხვალ] LT[-ზე]',
+        lastDay : '[გუშინ] LT[-ზე]',
+        nextWeek : '[შემდეგ] dddd LT[-ზე]',
+        lastWeek : '[წინა] dddd LT-ზე',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : function (s) {
+            return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
+                s.replace(/ი$/, 'ში') :
+                s + 'ში';
+        },
+        past : function (s) {
+            if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
+                return s.replace(/(ი|ე)$/, 'ის წინ');
+            }
+            if ((/წელი/).test(s)) {
+                return s.replace(/წელი$/, 'წლის წინ');
+            }
+        },
+        s : 'რამდენიმე წამი',
+        ss : '%d წამი',
+        m : 'წუთი',
+        mm : '%d წუთი',
+        h : 'საათი',
+        hh : '%d საათი',
+        d : 'დღე',
+        dd : '%d დღე',
+        M : 'თვე',
+        MM : '%d თვე',
+        y : 'წელი',
+        yy : '%d წელი'
+    },
+    dayOfMonthOrdinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
+    ordinal : function (number) {
+        if (number === 0) {
+            return number;
+        }
+        if (number === 1) {
+            return number + '-ლი';
+        }
+        if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
+            return 'მე-' + number;
+        }
+        return number + '-ე';
+    },
+    week : {
+        dow : 1,
+        doy : 7
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/kk.js b/public/bower_components/moment/src/locale/kk.js
new file mode 100644
index 0000000..ab79a21
--- /dev/null
+++ b/public/bower_components/moment/src/locale/kk.js
@@ -0,0 +1,78 @@
+//! moment.js locale configuration
+//! locale : Kazakh [kk]
+//! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
+
+import moment from '../moment';
+
+var suffixes = {
+    0: '-ші',
+    1: '-ші',
+    2: '-ші',
+    3: '-ші',
+    4: '-ші',
+    5: '-ші',
+    6: '-шы',
+    7: '-ші',
+    8: '-ші',
+    9: '-шы',
+    10: '-шы',
+    20: '-шы',
+    30: '-шы',
+    40: '-шы',
+    50: '-ші',
+    60: '-шы',
+    70: '-ші',
+    80: '-ші',
+    90: '-шы',
+    100: '-ші'
+};
+
+export default moment.defineLocale('kk', {
+    months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),
+    monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),
+    weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),
+    weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),
+    weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Бүгін сағат] LT',
+        nextDay : '[Ертең сағат] LT',
+        nextWeek : 'dddd [сағат] LT',
+        lastDay : '[Кеше сағат] LT',
+        lastWeek : '[Өткен аптаның] dddd [сағат] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s ішінде',
+        past : '%s бұрын',
+        s : 'бірнеше секунд',
+        ss : '%d секунд',
+        m : 'бір минут',
+        mm : '%d минут',
+        h : 'бір сағат',
+        hh : '%d сағат',
+        d : 'бір күн',
+        dd : '%d күн',
+        M : 'бір ай',
+        MM : '%d ай',
+        y : 'бір жыл',
+        yy : '%d жыл'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(ші|шы)/,
+    ordinal : function (number) {
+        var a = number % 10,
+            b = number >= 100 ? 100 : null;
+        return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/km.js b/public/bower_components/moment/src/locale/km.js
new file mode 100644
index 0000000..b364ffe
--- /dev/null
+++ b/public/bower_components/moment/src/locale/km.js
@@ -0,0 +1,101 @@
+//! moment.js locale configuration
+//! locale : Cambodian [km]
+//! author : Kruy Vanna : https://github.com/kruyvanna
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '១',
+    '2': '២',
+    '3': '៣',
+    '4': '៤',
+    '5': '៥',
+    '6': '៦',
+    '7': '៧',
+    '8': '៨',
+    '9': '៩',
+    '0': '០'
+}, numberMap = {
+    '១': '1',
+    '២': '2',
+    '៣': '3',
+    '៤': '4',
+    '៥': '5',
+    '៦': '6',
+    '៧': '7',
+    '៨': '8',
+    '៩': '9',
+    '០': '0'
+};
+
+export default moment.defineLocale('km', {
+    months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+        '_'
+    ),
+    monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(
+        '_'
+    ),
+    weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
+    weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+    weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),
+    weekdaysParseExact: true,
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY HH:mm',
+        LLLL: 'dddd, D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /ព្រឹក|ល្ងាច/,
+    isPM: function (input) {
+        return input === 'ល្ងាច';
+    },
+    meridiem: function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ព្រឹក';
+        } else {
+            return 'ល្ងាច';
+        }
+    },
+    calendar: {
+        sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
+        nextDay: '[ស្អែក ម៉ោង] LT',
+        nextWeek: 'dddd [ម៉ោង] LT',
+        lastDay: '[ម្សិលមិញ ម៉ោង] LT',
+        lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: '%sទៀត',
+        past: '%sមុន',
+        s: 'ប៉ុន្មានវិនាទី',
+        ss: '%d វិនាទី',
+        m: 'មួយនាទី',
+        mm: '%d នាទី',
+        h: 'មួយម៉ោង',
+        hh: '%d ម៉ោង',
+        d: 'មួយថ្ងៃ',
+        dd: '%d ថ្ងៃ',
+        M: 'មួយខែ',
+        MM: '%d ខែ',
+        y: 'មួយឆ្នាំ',
+        yy: '%d ឆ្នាំ'
+    },
+    dayOfMonthOrdinalParse : /ទី\d{1,2}/,
+    ordinal : 'ទី%d',
+    preparse: function (string) {
+        return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    week: {
+        dow: 1, // Monday is the first day of the week.
+        doy: 4 // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/kn.js b/public/bower_components/moment/src/locale/kn.js
new file mode 100644
index 0000000..0228e74
--- /dev/null
+++ b/public/bower_components/moment/src/locale/kn.js
@@ -0,0 +1,117 @@
+//! moment.js locale configuration
+//! locale : Kannada [kn]
+//! author : Rajeev Naik : https://github.com/rajeevnaikte
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'à³§',
+    '2': '೨',
+    '3': '೩',
+    '4': '೪',
+    '5': '೫',
+    '6': '೬',
+    '7': 'à³­',
+    '8': 'à³®',
+    '9': '೯',
+    '0': '೦'
+},
+numberMap = {
+    'à³§': '1',
+    '೨': '2',
+    '೩': '3',
+    '೪': '4',
+    '೫': '5',
+    '೬': '6',
+    'à³­': '7',
+    'à³®': '8',
+    '೯': '9',
+    '೦': '0'
+};
+
+export default moment.defineLocale('kn', {
+    months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),
+    monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),
+    weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),
+    weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm',
+        LTS : 'A h:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm'
+    },
+    calendar : {
+        sameDay : '[ಇಂದು] LT',
+        nextDay : '[ನಾಳೆ] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[ನಿನ್ನೆ] LT',
+        lastWeek : '[ಕೊನೆಯ] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s ನಂತರ',
+        past : '%s ಹಿಂದೆ',
+        s : 'ಕೆಲವು ಕ್ಷಣಗಳು',
+        ss : '%d ಸೆಕೆಂಡುಗಳು',
+        m : 'ಒಂದು ನಿಮಿಷ',
+        mm : '%d ನಿಮಿಷ',
+        h : 'ಒಂದು ಗಂಟೆ',
+        hh : '%d ಗಂಟೆ',
+        d : 'ಒಂದು ದಿನ',
+        dd : '%d ದಿನ',
+        M : 'ಒಂದು ತಿಂಗಳು',
+        MM : '%d ತಿಂಗಳು',
+        y : 'ಒಂದು ವರ್ಷ',
+        yy : '%d ವರ್ಷ'
+    },
+    preparse: function (string) {
+        return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'ರಾತ್ರಿ') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {
+            return hour;
+        } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'ಸಂಜೆ') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'ರಾತ್ರಿ';
+        } else if (hour < 10) {
+            return 'ಬೆಳಿಗ್ಗೆ';
+        } else if (hour < 17) {
+            return 'ಮಧ್ಯಾಹ್ನ';
+        } else if (hour < 20) {
+            return 'ಸಂಜೆ';
+        } else {
+            return 'ರಾತ್ರಿ';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(ನೇ)/,
+    ordinal : function (number) {
+        return number + 'ನೇ';
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ko.js b/public/bower_components/moment/src/locale/ko.js
new file mode 100644
index 0000000..d2da13d
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ko.js
@@ -0,0 +1,74 @@
+//! moment.js locale configuration
+//! locale : Korean [ko]
+//! author : Kyungwook, Park : https://github.com/kyungw00k
+//! author : Jeeeyul Lee <jeeeyul@gmail.com>
+
+import moment from '../moment';
+
+export default moment.defineLocale('ko', {
+    months : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+    monthsShort : '1ì›”_2ì›”_3ì›”_4ì›”_5ì›”_6ì›”_7ì›”_8ì›”_9ì›”_10ì›”_11ì›”_12ì›”'.split('_'),
+    weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
+    weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
+    weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm',
+        LTS : 'A h:mm:ss',
+        L : 'YYYY.MM.DD.',
+        LL : 'YYYY년 MMMM D일',
+        LLL : 'YYYY년 MMMM D일 A h:mm',
+        LLLL : 'YYYY년 MMMM D일 dddd A h:mm',
+        l : 'YYYY.MM.DD.',
+        ll : 'YYYY년 MMMM D일',
+        lll : 'YYYY년 MMMM D일 A h:mm',
+        llll : 'YYYY년 MMMM D일 dddd A h:mm'
+    },
+    calendar : {
+        sameDay : '오늘 LT',
+        nextDay : '내일 LT',
+        nextWeek : 'dddd LT',
+        lastDay : '어제 LT',
+        lastWeek : '지난주 dddd LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s 후',
+        past : '%s ì „',
+        s : '몇 초',
+        ss : '%dì´ˆ',
+        m : '1ë¶„',
+        mm : '%dë¶„',
+        h : '한 시간',
+        hh : '%d시간',
+        d : '하루',
+        dd : '%d일',
+        M : '한 달',
+        MM : '%d달',
+        y : '일 년',
+        yy : '%dë…„'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}(일|월|주)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return number + '일';
+            case 'M':
+                return number + 'ì›”';
+            case 'w':
+            case 'W':
+                return number + '주';
+            default:
+                return number;
+        }
+    },
+    meridiemParse : /오전|오후/,
+    isPM : function (token) {
+        return token === '오후';
+    },
+    meridiem : function (hour, minute, isUpper) {
+        return hour < 12 ? '오전' : '오후';
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ku.js b/public/bower_components/moment/src/locale/ku.js
new file mode 100644
index 0000000..c31ba05
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ku.js
@@ -0,0 +1,110 @@
+//! moment.js locale configuration
+//! locale : Kurdish [ku]
+//! author : Shahram Mebashar : https://github.com/ShahramMebashar
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'Ù¡',
+    '2': 'Ù¢',
+    '3': 'Ù£',
+    '4': 'Ù¤',
+    '5': 'Ù¥',
+    '6': 'Ù¦',
+    '7': 'Ù§',
+    '8': 'Ù¨',
+    '9': 'Ù©',
+    '0': 'Ù '
+}, numberMap = {
+    'Ù¡': '1',
+    'Ù¢': '2',
+    'Ù£': '3',
+    'Ù¤': '4',
+    'Ù¥': '5',
+    'Ù¦': '6',
+    'Ù§': '7',
+    'Ù¨': '8',
+    'Ù©': '9',
+    'Ù ': '0'
+},
+months = [
+    'کانونی دووەم',
+    'شوبات',
+    'ئازار',
+    'نیسان',
+    'ئایار',
+    'حوزەیران',
+    'تەمموز',
+    'ئاب',
+    'ئەیلوول',
+    'تشرینی یەكەم',
+    'تشرینی دووەم',
+    'كانونی یەکەم'
+];
+
+
+export default moment.defineLocale('ku', {
+    months : months,
+    monthsShort : months,
+    weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),
+    weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),
+    weekdaysMin : 'ی_د_س_چ_پ_ه_ش'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /ئێواره‌|به‌یانی/,
+    isPM: function (input) {
+        return /ئێواره‌/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'به‌یانی';
+        } else {
+            return 'ئێواره‌';
+        }
+    },
+    calendar : {
+        sameDay : '[ئه‌مرۆ كاتژمێر] LT',
+        nextDay : '[به‌یانی كاتژمێر] LT',
+        nextWeek : 'dddd [كاتژمێر] LT',
+        lastDay : '[دوێنێ كاتژمێر] LT',
+        lastWeek : 'dddd [كاتژمێر] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'له‌ %s',
+        past : '%s',
+        s : 'چه‌ند چركه‌یه‌ك',
+        ss : 'چركه‌ %d',
+        m : 'یه‌ك خوله‌ك',
+        mm : '%d خوله‌ك',
+        h : 'یه‌ك كاتژمێر',
+        hh : '%d كاتژمێر',
+        d : 'یه‌ك ڕۆژ',
+        dd : '%d Ú•Û†Ú˜',
+        M : 'یه‌ك مانگ',
+        MM : '%d مانگ',
+        y : 'یه‌ك ساڵ',
+        yy : '%d ساڵ'
+    },
+    preparse: function (string) {
+        return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
+            return numberMap[match];
+        }).replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        }).replace(/,/g, '،');
+    },
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12 // The week that contains Jan 12th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ky.js b/public/bower_components/moment/src/locale/ky.js
new file mode 100644
index 0000000..8bd78f7
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ky.js
@@ -0,0 +1,79 @@
+//! moment.js locale configuration
+//! locale : Kyrgyz [ky]
+//! author : Chyngyz Arystan uulu : https://github.com/chyngyz
+
+
+import moment from '../moment';
+
+var suffixes = {
+    0: '-чү',
+    1: '-чи',
+    2: '-чи',
+    3: '-чү',
+    4: '-чү',
+    5: '-чи',
+    6: '-чы',
+    7: '-чи',
+    8: '-чи',
+    9: '-чу',
+    10: '-чу',
+    20: '-чы',
+    30: '-чу',
+    40: '-чы',
+    50: '-чү',
+    60: '-чы',
+    70: '-чи',
+    80: '-чи',
+    90: '-чу',
+    100: '-чү'
+};
+
+export default moment.defineLocale('ky', {
+    months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),
+    monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),
+    weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),
+    weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),
+    weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Бүгүн саат] LT',
+        nextDay : '[Эртең саат] LT',
+        nextWeek : 'dddd [саат] LT',
+        lastDay : '[Кечээ саат] LT',
+        lastWeek : '[Өткөн аптанын] dddd [күнү] [саат] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s ичинде',
+        past : '%s мурун',
+        s : 'бирнече секунд',
+        ss : '%d секунд',
+        m : 'бир мүнөт',
+        mm : '%d мүнөт',
+        h : 'бир саат',
+        hh : '%d саат',
+        d : 'бир күн',
+        dd : '%d күн',
+        M : 'бир ай',
+        MM : '%d ай',
+        y : 'бир жыл',
+        yy : '%d жыл'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(чи|чы|чү|чу)/,
+    ordinal : function (number) {
+        var a = number % 10,
+            b = number >= 100 ? 100 : null;
+        return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/lb.js b/public/bower_components/moment/src/locale/lb.js
new file mode 100644
index 0000000..8574277
--- /dev/null
+++ b/public/bower_components/moment/src/locale/lb.js
@@ -0,0 +1,129 @@
+//! moment.js locale configuration
+//! locale : Luxembourgish [lb]
+//! author : mweimerskirch : https://github.com/mweimerskirch
+//! author : David Raison : https://github.com/kwisatz
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        'm': ['eng Minutt', 'enger Minutt'],
+        'h': ['eng Stonn', 'enger Stonn'],
+        'd': ['een Dag', 'engem Dag'],
+        'M': ['ee Mount', 'engem Mount'],
+        'y': ['ee Joer', 'engem Joer']
+    };
+    return withoutSuffix ? format[key][0] : format[key][1];
+}
+function processFutureTime(string) {
+    var number = string.substr(0, string.indexOf(' '));
+    if (eifelerRegelAppliesToNumber(number)) {
+        return 'a ' + string;
+    }
+    return 'an ' + string;
+}
+function processPastTime(string) {
+    var number = string.substr(0, string.indexOf(' '));
+    if (eifelerRegelAppliesToNumber(number)) {
+        return 'viru ' + string;
+    }
+    return 'virun ' + string;
+}
+/**
+ * Returns true if the word before the given number loses the '-n' ending.
+ * e.g. 'an 10 Deeg' but 'a 5 Deeg'
+ *
+ * @param number {integer}
+ * @returns {boolean}
+ */
+function eifelerRegelAppliesToNumber(number) {
+    number = parseInt(number, 10);
+    if (isNaN(number)) {
+        return false;
+    }
+    if (number < 0) {
+        // Negative Number --> always true
+        return true;
+    } else if (number < 10) {
+        // Only 1 digit
+        if (4 <= number && number <= 7) {
+            return true;
+        }
+        return false;
+    } else if (number < 100) {
+        // 2 digits
+        var lastDigit = number % 10, firstDigit = number / 10;
+        if (lastDigit === 0) {
+            return eifelerRegelAppliesToNumber(firstDigit);
+        }
+        return eifelerRegelAppliesToNumber(lastDigit);
+    } else if (number < 10000) {
+        // 3 or 4 digits --> recursively check first digit
+        while (number >= 10) {
+            number = number / 10;
+        }
+        return eifelerRegelAppliesToNumber(number);
+    } else {
+        // Anything larger than 4 digits: recursively check first n-3 digits
+        number = number / 1000;
+        return eifelerRegelAppliesToNumber(number);
+    }
+}
+
+export default moment.defineLocale('lb', {
+    months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
+    monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
+    monthsParseExact : true,
+    weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
+    weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
+    weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat: {
+        LT: 'H:mm [Auer]',
+        LTS: 'H:mm:ss [Auer]',
+        L: 'DD.MM.YYYY',
+        LL: 'D. MMMM YYYY',
+        LLL: 'D. MMMM YYYY H:mm [Auer]',
+        LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
+    },
+    calendar: {
+        sameDay: '[Haut um] LT',
+        sameElse: 'L',
+        nextDay: '[Muer um] LT',
+        nextWeek: 'dddd [um] LT',
+        lastDay: '[Gëschter um] LT',
+        lastWeek: function () {
+            // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
+            switch (this.day()) {
+                case 2:
+                case 4:
+                    return '[Leschten] dddd [um] LT';
+                default:
+                    return '[Leschte] dddd [um] LT';
+            }
+        }
+    },
+    relativeTime : {
+        future : processFutureTime,
+        past : processPastTime,
+        s : 'e puer Sekonnen',
+        ss : '%d Sekonnen',
+        m : processRelativeTime,
+        mm : '%d Minutten',
+        h : processRelativeTime,
+        hh : '%d Stonnen',
+        d : processRelativeTime,
+        dd : '%d Deeg',
+        M : processRelativeTime,
+        MM : '%d Méint',
+        y : processRelativeTime,
+        yy : '%d Joer'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal: '%d.',
+    week: {
+        dow: 1, // Monday is the first day of the week.
+        doy: 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/lo.js b/public/bower_components/moment/src/locale/lo.js
new file mode 100644
index 0000000..3226dd5
--- /dev/null
+++ b/public/bower_components/moment/src/locale/lo.js
@@ -0,0 +1,62 @@
+//! moment.js locale configuration
+//! locale : Lao [lo]
+//! author : Ryan Hart : https://github.com/ryanhart2
+
+import moment from '../moment';
+
+export default moment.defineLocale('lo', {
+    months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+    monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
+    weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+    weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
+    weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
+    isPM: function (input) {
+        return input === 'ຕອນແລງ';
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ຕອນເຊົ້າ';
+        } else {
+            return 'ຕອນແລງ';
+        }
+    },
+    calendar : {
+        sameDay : '[ມື້ນີ້ເວລາ] LT',
+        nextDay : '[ມື້ອື່ນເວລາ] LT',
+        nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
+        lastDay : '[ມື້ວານນີ້ເວລາ] LT',
+        lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'ອີກ %s',
+        past : '%sຜ່ານມາ',
+        s : 'ບໍ່ເທົ່າໃດວິນາທີ',
+        ss : '%d ວິນາທີ' ,
+        m : '1 ນາທີ',
+        mm : '%d ນາທີ',
+        h : '1 ຊົ່ວໂມງ',
+        hh : '%d ຊົ່ວໂມງ',
+        d : '1 ມື້',
+        dd : '%d ມື້',
+        M : '1 ເດືອນ',
+        MM : '%d ເດືອນ',
+        y : '1 ປີ',
+        yy : '%d ປີ'
+    },
+    dayOfMonthOrdinalParse: /(ທີ່)\d{1,2}/,
+    ordinal : function (number) {
+        return 'ທີ່' + number;
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/lt.js b/public/bower_components/moment/src/locale/lt.js
new file mode 100644
index 0000000..d006e07
--- /dev/null
+++ b/public/bower_components/moment/src/locale/lt.js
@@ -0,0 +1,110 @@
+//! moment.js locale configuration
+//! locale : Lithuanian [lt]
+//! author : Mindaugas Mozūras : https://github.com/mmozuras
+
+import moment from '../moment';
+
+var units = {
+    'ss' : 'sekundė_sekundžių_sekundes',
+    'm' : 'minutÄ—_minutÄ—s_minutÄ™',
+    'mm': 'minutės_minučių_minutes',
+    'h' : 'valanda_valandos_valandÄ…',
+    'hh': 'valandos_valandų_valandas',
+    'd' : 'diena_dienos_dienÄ…',
+    'dd': 'dienos_dienų_dienas',
+    'M' : 'mėnuo_mėnesio_mėnesį',
+    'MM': 'mėnesiai_mėnesių_mėnesius',
+    'y' : 'metai_metų_metus',
+    'yy': 'metai_metų_metus'
+};
+function translateSeconds(number, withoutSuffix, key, isFuture) {
+    if (withoutSuffix) {
+        return 'kelios sekundÄ—s';
+    } else {
+        return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
+    }
+}
+function translateSingular(number, withoutSuffix, key, isFuture) {
+    return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
+}
+function special(number) {
+    return number % 10 === 0 || (number > 10 && number < 20);
+}
+function forms(key) {
+    return units[key].split('_');
+}
+function translate(number, withoutSuffix, key, isFuture) {
+    var result = number + ' ';
+    if (number === 1) {
+        return result + translateSingular(number, withoutSuffix, key[0], isFuture);
+    } else if (withoutSuffix) {
+        return result + (special(number) ? forms(key)[1] : forms(key)[0]);
+    } else {
+        if (isFuture) {
+            return result + forms(key)[1];
+        } else {
+            return result + (special(number) ? forms(key)[1] : forms(key)[2]);
+        }
+    }
+}
+export default moment.defineLocale('lt', {
+    months : {
+        format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
+        standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),
+        isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/
+    },
+    monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
+    weekdays : {
+        format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
+        standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
+        isFormat: /dddd HH:mm/
+    },
+    weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
+    weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY-MM-DD',
+        LL : 'YYYY [m.] MMMM D [d.]',
+        LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+        LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
+        l : 'YYYY-MM-DD',
+        ll : 'YYYY [m.] MMMM D [d.]',
+        lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
+        llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
+    },
+    calendar : {
+        sameDay : '[Å iandien] LT',
+        nextDay : '[Rytoj] LT',
+        nextWeek : 'dddd LT',
+        lastDay : '[Vakar] LT',
+        lastWeek : '[Praėjusį] dddd LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'po %s',
+        past : 'prieš %s',
+        s : translateSeconds,
+        ss : translate,
+        m : translateSingular,
+        mm : translate,
+        h : translateSingular,
+        hh : translate,
+        d : translateSingular,
+        dd : translate,
+        M : translateSingular,
+        MM : translate,
+        y : translateSingular,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-oji/,
+    ordinal : function (number) {
+        return number + '-oji';
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/lv.js b/public/bower_components/moment/src/locale/lv.js
new file mode 100644
index 0000000..d13b47b
--- /dev/null
+++ b/public/bower_components/moment/src/locale/lv.js
@@ -0,0 +1,90 @@
+//! moment.js locale configuration
+//! locale : Latvian [lv]
+//! author : Kristaps Karlsons : https://github.com/skakri
+//! author : Jānis Elmeris : https://github.com/JanisE
+
+import moment from '../moment';
+
+var units = {
+    'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),
+    'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+    'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
+    'h': 'stundas_stundām_stunda_stundas'.split('_'),
+    'hh': 'stundas_stundām_stunda_stundas'.split('_'),
+    'd': 'dienas_dienām_diena_dienas'.split('_'),
+    'dd': 'dienas_dienām_diena_dienas'.split('_'),
+    'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+    'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
+    'y': 'gada_gadiem_gads_gadi'.split('_'),
+    'yy': 'gada_gadiem_gads_gadi'.split('_')
+};
+/**
+ * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
+ */
+function format(forms, number, withoutSuffix) {
+    if (withoutSuffix) {
+        // E.g. "21 minūte", "3 minūtes".
+        return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];
+    } else {
+        // E.g. "21 minūtes" as in "pēc 21 minūtes".
+        // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
+        return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];
+    }
+}
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+    return number + ' ' + format(units[key], number, withoutSuffix);
+}
+function relativeTimeWithSingular(number, withoutSuffix, key) {
+    return format(units[key], number, withoutSuffix);
+}
+function relativeSeconds(number, withoutSuffix) {
+    return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
+}
+
+export default moment.defineLocale('lv', {
+    months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
+    weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
+    weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
+    weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY.',
+        LL : 'YYYY. [gada] D. MMMM',
+        LLL : 'YYYY. [gada] D. MMMM, HH:mm',
+        LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
+    },
+    calendar : {
+        sameDay : '[Å odien pulksten] LT',
+        nextDay : '[Rīt pulksten] LT',
+        nextWeek : 'dddd [pulksten] LT',
+        lastDay : '[Vakar pulksten] LT',
+        lastWeek : '[Pagājušā] dddd [pulksten] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'pēc %s',
+        past : 'pirms %s',
+        s : relativeSeconds,
+        ss : relativeTimeWithPlural,
+        m : relativeTimeWithSingular,
+        mm : relativeTimeWithPlural,
+        h : relativeTimeWithSingular,
+        hh : relativeTimeWithPlural,
+        d : relativeTimeWithSingular,
+        dd : relativeTimeWithPlural,
+        M : relativeTimeWithSingular,
+        MM : relativeTimeWithPlural,
+        y : relativeTimeWithSingular,
+        yy : relativeTimeWithPlural
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/me.js b/public/bower_components/moment/src/locale/me.js
new file mode 100644
index 0000000..b42e9c8
--- /dev/null
+++ b/public/bower_components/moment/src/locale/me.js
@@ -0,0 +1,103 @@
+//! moment.js locale configuration
+//! locale : Montenegrin [me]
+//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
+
+import moment from '../moment';
+
+var translator = {
+    words: { //Different grammatical cases
+        ss: ['sekund', 'sekunda', 'sekundi'],
+        m: ['jedan minut', 'jednog minuta'],
+        mm: ['minut', 'minuta', 'minuta'],
+        h: ['jedan sat', 'jednog sata'],
+        hh: ['sat', 'sata', 'sati'],
+        dd: ['dan', 'dana', 'dana'],
+        MM: ['mjesec', 'mjeseca', 'mjeseci'],
+        yy: ['godina', 'godine', 'godina']
+    },
+    correctGrammaticalCase: function (number, wordKey) {
+        return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+    },
+    translate: function (number, withoutSuffix, key) {
+        var wordKey = translator.words[key];
+        if (key.length === 1) {
+            return withoutSuffix ? wordKey[0] : wordKey[1];
+        } else {
+            return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+        }
+    }
+};
+
+export default moment.defineLocale('me', {
+    months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+    monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+    monthsParseExact : true,
+    weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
+    weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
+    weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat: {
+        LT: 'H:mm',
+        LTS : 'H:mm:ss',
+        L: 'DD.MM.YYYY',
+        LL: 'D. MMMM YYYY',
+        LLL: 'D. MMMM YYYY H:mm',
+        LLLL: 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar: {
+        sameDay: '[danas u] LT',
+        nextDay: '[sjutra u] LT',
+
+        nextWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[u] [nedjelju] [u] LT';
+                case 3:
+                    return '[u] [srijedu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        lastDay  : '[juče u] LT',
+        lastWeek : function () {
+            var lastWeekDays = [
+                '[prošle] [nedjelje] [u] LT',
+                '[prošlog] [ponedjeljka] [u] LT',
+                '[prošlog] [utorka] [u] LT',
+                '[prošle] [srijede] [u] LT',
+                '[prošlog] [četvrtka] [u] LT',
+                '[prošlog] [petka] [u] LT',
+                '[prošle] [subote] [u] LT'
+            ];
+            return lastWeekDays[this.day()];
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past   : 'prije %s',
+        s      : 'nekoliko sekundi',
+        ss     : translator.translate,
+        m      : translator.translate,
+        mm     : translator.translate,
+        h      : translator.translate,
+        hh     : translator.translate,
+        d      : 'dan',
+        dd     : translator.translate,
+        M      : 'mjesec',
+        MM     : translator.translate,
+        y      : 'godinu',
+        yy     : translator.translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/mi.js b/public/bower_components/moment/src/locale/mi.js
new file mode 100644
index 0000000..0c105e5
--- /dev/null
+++ b/public/bower_components/moment/src/locale/mi.js
@@ -0,0 +1,55 @@
+//! moment.js locale configuration
+//! locale : Maori [mi]
+//! author : John Corrigan <robbiecloset@gmail.com> : https://github.com/johnideal
+
+import moment from '../moment';
+
+export default moment.defineLocale('mi', {
+    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('_'),
+    monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),
+    monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+    monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+    monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,
+    monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,
+    weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),
+    weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+    weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY [i] HH:mm',
+        LLLL: 'dddd, D MMMM YYYY [i] HH:mm'
+    },
+    calendar: {
+        sameDay: '[i teie mahana, i] LT',
+        nextDay: '[apopo i] LT',
+        nextWeek: 'dddd [i] LT',
+        lastDay: '[inanahi i] LT',
+        lastWeek: 'dddd [whakamutunga i] LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: 'i roto i %s',
+        past: '%s i mua',
+        s: 'te hēkona ruarua',
+        ss: '%d hēkona',
+        m: 'he meneti',
+        mm: '%d meneti',
+        h: 'te haora',
+        hh: '%d haora',
+        d: 'he ra',
+        dd: '%d ra',
+        M: 'he marama',
+        MM: '%d marama',
+        y: 'he tau',
+        yy: '%d tau'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}º/,
+    ordinal: '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/mk.js b/public/bower_components/moment/src/locale/mk.js
new file mode 100644
index 0000000..701ab65
--- /dev/null
+++ b/public/bower_components/moment/src/locale/mk.js
@@ -0,0 +1,82 @@
+//! moment.js locale configuration
+//! locale : Macedonian [mk]
+//! author : Borislav Mickov : https://github.com/B0k0
+
+import moment from '../moment';
+
+export default moment.defineLocale('mk', {
+    months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
+    monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
+    weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
+    weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
+    weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'D.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY H:mm',
+        LLLL : 'dddd, D MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay : '[Денес во] LT',
+        nextDay : '[Утре во] LT',
+        nextWeek : '[Во] dddd [во] LT',
+        lastDay : '[Вчера во] LT',
+        lastWeek : function () {
+            switch (this.day()) {
+                case 0:
+                case 3:
+                case 6:
+                    return '[Изминатата] dddd [во] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[Изминатиот] dddd [во] LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'после %s',
+        past : 'пред %s',
+        s : 'неколку секунди',
+        ss : '%d секунди',
+        m : 'минута',
+        mm : '%d минути',
+        h : 'час',
+        hh : '%d часа',
+        d : 'ден',
+        dd : '%d дена',
+        M : 'месец',
+        MM : '%d месеци',
+        y : 'година',
+        yy : '%d години'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
+    ordinal : function (number) {
+        var lastDigit = number % 10,
+            last2Digits = number % 100;
+        if (number === 0) {
+            return number + '-ев';
+        } else if (last2Digits === 0) {
+            return number + '-ен';
+        } else if (last2Digits > 10 && last2Digits < 20) {
+            return number + '-ти';
+        } else if (lastDigit === 1) {
+            return number + '-ви';
+        } else if (lastDigit === 2) {
+            return number + '-ри';
+        } else if (lastDigit === 7 || lastDigit === 8) {
+            return number + '-ми';
+        } else {
+            return number + '-ти';
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ml.js b/public/bower_components/moment/src/locale/ml.js
new file mode 100644
index 0000000..306566d
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ml.js
@@ -0,0 +1,73 @@
+//! moment.js locale configuration
+//! locale : Malayalam [ml]
+//! author : Floyd Pink : https://github.com/floydpink
+
+import moment from '../moment';
+
+export default moment.defineLocale('ml', {
+    months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
+    monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
+    weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
+    weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm -നു',
+        LTS : 'A h:mm:ss -നു',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm -നു',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
+    },
+    calendar : {
+        sameDay : '[ഇന്ന്] LT',
+        nextDay : '[നാളെ] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[ഇന്നലെ] LT',
+        lastWeek : '[കഴിഞ്ഞ] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s കഴിഞ്ഞ്',
+        past : '%s മുൻപ്',
+        s : 'അൽപ നിമിഷങ്ങൾ',
+        ss : '%d സെക്കൻഡ്',
+        m : 'ഒരു മിനിറ്റ്',
+        mm : '%d മിനിറ്റ്',
+        h : 'ഒരു മണിക്കൂർ',
+        hh : '%d മണിക്കൂർ',
+        d : 'ഒരു ദിവസം',
+        dd : '%d ദിവസം',
+        M : 'ഒരു മാസം',
+        MM : '%d മാസം',
+        y : 'ഒരു വർഷം',
+        yy : '%d വർഷം'
+    },
+    meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if ((meridiem === 'രാത്രി' && hour >= 4) ||
+                meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
+                meridiem === 'വൈകുന്നേരം') {
+            return hour + 12;
+        } else {
+            return hour;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'രാത്രി';
+        } else if (hour < 12) {
+            return 'രാവിലെ';
+        } else if (hour < 17) {
+            return 'ഉച്ച കഴിഞ്ഞ്';
+        } else if (hour < 20) {
+            return 'വൈകുന്നേരം';
+        } else {
+            return 'രാത്രി';
+        }
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/mn.js b/public/bower_components/moment/src/locale/mn.js
new file mode 100644
index 0000000..80a3c2f
--- /dev/null
+++ b/public/bower_components/moment/src/locale/mn.js
@@ -0,0 +1,96 @@
+//! moment.js locale configuration
+//! locale : Mongolian [mn]
+//! author : Javkhlantugs Nyamdorj : https://github.com/javkhaanj7
+
+import moment from '../moment';
+
+function translate(number, withoutSuffix, key, isFuture) {
+    switch (key) {
+        case 's':
+            return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';
+        case 'ss':
+            return number + (withoutSuffix ? ' секунд' : ' секундын');
+        case 'm':
+        case 'mm':
+            return number + (withoutSuffix ? ' минут' : ' минутын');
+        case 'h':
+        case 'hh':
+            return number + (withoutSuffix ? ' цаг' : ' цагийн');
+        case 'd':
+        case 'dd':
+            return number + (withoutSuffix ? ' өдөр' : ' өдрийн');
+        case 'M':
+        case 'MM':
+            return number + (withoutSuffix ? ' сар' : ' сарын');
+        case 'y':
+        case 'yy':
+            return number + (withoutSuffix ? ' жил' : ' жилийн');
+        default:
+            return number;
+    }
+}
+
+export default moment.defineLocale('mn', {
+    months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),
+    monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),
+    weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),
+    weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY-MM-DD',
+        LL : 'YYYY оны MMMMын D',
+        LLL : 'YYYY оны MMMMын D HH:mm',
+        LLLL : 'dddd, YYYY оны MMMMын D HH:mm'
+    },
+    meridiemParse: /ҮӨ|ҮХ/i,
+    isPM : function (input) {
+        return input === 'ҮХ';
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'Ò®Ó¨';
+        } else {
+            return 'ҮХ';
+        }
+    },
+    calendar : {
+        sameDay : '[Өнөөдөр] LT',
+        nextDay : '[Маргааш] LT',
+        nextWeek : '[Ирэх] dddd LT',
+        lastDay : '[Өчигдөр] LT',
+        lastWeek : '[Өнгөрсөн] dddd LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s дараа',
+        past : '%s өмнө',
+        s : translate,
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : translate,
+        hh : translate,
+        d : translate,
+        dd : translate,
+        M : translate,
+        MM : translate,
+        y : translate,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2} өдөр/,
+    ordinal : function (number, period) {
+        switch (period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return number + ' өдөр';
+            default:
+                return number;
+        }
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/mr.js b/public/bower_components/moment/src/locale/mr.js
new file mode 100644
index 0000000..8086ba2
--- /dev/null
+++ b/public/bower_components/moment/src/locale/mr.js
@@ -0,0 +1,153 @@
+//! moment.js locale configuration
+//! locale : Marathi [mr]
+//! author : Harshad Kale : https://github.com/kalehv
+//! author : Vivek Athalye : https://github.com/vnathalye
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '१',
+    '2': '२',
+    '3': '३',
+    '4': '४',
+    '5': '५',
+    '6': '६',
+    '7': '७',
+    '8': '८',
+    '9': '९',
+    '0': '०'
+},
+numberMap = {
+    '१': '1',
+    '२': '2',
+    '३': '3',
+    '४': '4',
+    '५': '5',
+    '६': '6',
+    '७': '7',
+    '८': '8',
+    '९': '9',
+    '०': '0'
+};
+
+function relativeTimeMr(number, withoutSuffix, string, isFuture)
+{
+    var output = '';
+    if (withoutSuffix) {
+        switch (string) {
+            case 's': output = 'काही सेकंद'; break;
+            case 'ss': output = '%d सेकंद'; break;
+            case 'm': output = 'एक मिनिट'; break;
+            case 'mm': output = '%d मिनिटे'; break;
+            case 'h': output = 'एक तास'; break;
+            case 'hh': output = '%d तास'; break;
+            case 'd': output = 'एक दिवस'; break;
+            case 'dd': output = '%d दिवस'; break;
+            case 'M': output = 'एक महिना'; break;
+            case 'MM': output = '%d महिने'; break;
+            case 'y': output = 'एक वर्ष'; break;
+            case 'yy': output = '%d वर्षे'; break;
+        }
+    }
+    else {
+        switch (string) {
+            case 's': output = 'काही सेकंदां'; break;
+            case 'ss': output = '%d सेकंदां'; break;
+            case 'm': output = 'एका मिनिटा'; break;
+            case 'mm': output = '%d मिनिटां'; break;
+            case 'h': output = 'एका तासा'; break;
+            case 'hh': output = '%d तासां'; break;
+            case 'd': output = 'एका दिवसा'; break;
+            case 'dd': output = '%d दिवसां'; break;
+            case 'M': output = 'एका महिन्या'; break;
+            case 'MM': output = '%d महिन्यां'; break;
+            case 'y': output = 'एका वर्षा'; break;
+            case 'yy': output = '%d वर्षां'; break;
+        }
+    }
+    return output.replace(/%d/i, number);
+}
+
+export default moment.defineLocale('mr', {
+    months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
+    monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
+    weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
+    weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm वाजता',
+        LTS : 'A h:mm:ss वाजता',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm वाजता',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
+    },
+    calendar : {
+        sameDay : '[आज] LT',
+        nextDay : '[उद्या] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[काल] LT',
+        lastWeek: '[मागील] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future: '%sमध्ये',
+        past: '%sपूर्वी',
+        s: relativeTimeMr,
+        ss: relativeTimeMr,
+        m: relativeTimeMr,
+        mm: relativeTimeMr,
+        h: relativeTimeMr,
+        hh: relativeTimeMr,
+        d: relativeTimeMr,
+        dd: relativeTimeMr,
+        M: relativeTimeMr,
+        MM: relativeTimeMr,
+        y: relativeTimeMr,
+        yy: relativeTimeMr
+    },
+    preparse: function (string) {
+        return string.replace(/[१२३४५६७८९०]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'रात्री') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'सकाळी') {
+            return hour;
+        } else if (meridiem === 'दुपारी') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'सायंकाळी') {
+            return hour + 12;
+        }
+    },
+    meridiem: function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'रात्री';
+        } else if (hour < 10) {
+            return 'सकाळी';
+        } else if (hour < 17) {
+            return 'दुपारी';
+        } else if (hour < 20) {
+            return 'सायंकाळी';
+        } else {
+            return 'रात्री';
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ms-my.js b/public/bower_components/moment/src/locale/ms-my.js
new file mode 100644
index 0000000..bd255ae
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ms-my.js
@@ -0,0 +1,75 @@
+//! moment.js locale configuration
+//! locale : Malay [ms-my]
+//! note : DEPRECATED, the correct one is [ms]
+//! author : Weldan Jamili : https://github.com/weldan
+
+import moment from '../moment';
+
+export default moment.defineLocale('ms-my', {
+    months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+    monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+    weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+    weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+    weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+    longDateFormat : {
+        LT : 'HH.mm',
+        LTS : 'HH.mm.ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY [pukul] HH.mm',
+        LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+    },
+    meridiemParse: /pagi|tengahari|petang|malam/,
+    meridiemHour: function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'pagi') {
+            return hour;
+        } else if (meridiem === 'tengahari') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === 'petang' || meridiem === 'malam') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 11) {
+            return 'pagi';
+        } else if (hours < 15) {
+            return 'tengahari';
+        } else if (hours < 19) {
+            return 'petang';
+        } else {
+            return 'malam';
+        }
+    },
+    calendar : {
+        sameDay : '[Hari ini pukul] LT',
+        nextDay : '[Esok pukul] LT',
+        nextWeek : 'dddd [pukul] LT',
+        lastDay : '[Kelmarin pukul] LT',
+        lastWeek : 'dddd [lepas pukul] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'dalam %s',
+        past : '%s yang lepas',
+        s : 'beberapa saat',
+        ss : '%d saat',
+        m : 'seminit',
+        mm : '%d minit',
+        h : 'sejam',
+        hh : '%d jam',
+        d : 'sehari',
+        dd : '%d hari',
+        M : 'sebulan',
+        MM : '%d bulan',
+        y : 'setahun',
+        yy : '%d tahun'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ms.js b/public/bower_components/moment/src/locale/ms.js
new file mode 100644
index 0000000..83ad1ac
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ms.js
@@ -0,0 +1,74 @@
+//! moment.js locale configuration
+//! locale : Malay [ms]
+//! author : Weldan Jamili : https://github.com/weldan
+
+import moment from '../moment';
+
+export default moment.defineLocale('ms', {
+    months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
+    monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
+    weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
+    weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
+    weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
+    longDateFormat : {
+        LT : 'HH.mm',
+        LTS : 'HH.mm.ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY [pukul] HH.mm',
+        LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
+    },
+    meridiemParse: /pagi|tengahari|petang|malam/,
+    meridiemHour: function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'pagi') {
+            return hour;
+        } else if (meridiem === 'tengahari') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === 'petang' || meridiem === 'malam') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 11) {
+            return 'pagi';
+        } else if (hours < 15) {
+            return 'tengahari';
+        } else if (hours < 19) {
+            return 'petang';
+        } else {
+            return 'malam';
+        }
+    },
+    calendar : {
+        sameDay : '[Hari ini pukul] LT',
+        nextDay : '[Esok pukul] LT',
+        nextWeek : 'dddd [pukul] LT',
+        lastDay : '[Kelmarin pukul] LT',
+        lastWeek : 'dddd [lepas pukul] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'dalam %s',
+        past : '%s yang lepas',
+        s : 'beberapa saat',
+        ss : '%d saat',
+        m : 'seminit',
+        mm : '%d minit',
+        h : 'sejam',
+        hh : '%d jam',
+        d : 'sehari',
+        dd : '%d hari',
+        M : 'sebulan',
+        MM : '%d bulan',
+        y : 'setahun',
+        yy : '%d tahun'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/mt.js b/public/bower_components/moment/src/locale/mt.js
new file mode 100644
index 0000000..4953fa2
--- /dev/null
+++ b/public/bower_components/moment/src/locale/mt.js
@@ -0,0 +1,51 @@
+//! moment.js locale configuration
+//! locale : Maltese (Malta) [mt]
+//! author : Alessandro Maruccia : https://github.com/alesma
+
+import moment from '../moment';
+
+export default moment.defineLocale('mt', {
+    months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),
+    monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),
+    weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),
+    weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),
+    weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Illum fil-]LT',
+        nextDay : '[Għada fil-]LT',
+        nextWeek : 'dddd [fil-]LT',
+        lastDay : '[Il-bieraħ fil-]LT',
+        lastWeek : 'dddd [li għadda] [fil-]LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'f’ %s',
+        past : '%s ilu',
+        s : 'ftit sekondi',
+        ss : '%d sekondi',
+        m : 'minuta',
+        mm : '%d minuti',
+        h : 'siegħa',
+        hh : '%d siegħat',
+        d : 'ġurnata',
+        dd : '%d ġranet',
+        M : 'xahar',
+        MM : '%d xhur',
+        y : 'sena',
+        yy : '%d sni'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}º/,
+    ordinal: '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/my.js b/public/bower_components/moment/src/locale/my.js
new file mode 100644
index 0000000..b2ba866
--- /dev/null
+++ b/public/bower_components/moment/src/locale/my.js
@@ -0,0 +1,87 @@
+//! moment.js locale configuration
+//! locale : Burmese [my]
+//! author : Squar team, mysquar.com
+//! author : David Rossellat : https://github.com/gholadr
+//! author : Tin Aung Lin : https://github.com/thanyawzinmin
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '၁',
+    '2': '၂',
+    '3': '၃',
+    '4': '၄',
+    '5': '၅',
+    '6': '၆',
+    '7': '၇',
+    '8': '၈',
+    '9': '၉',
+    '0': '၀'
+}, numberMap = {
+    '၁': '1',
+    '၂': '2',
+    '၃': '3',
+    '၄': '4',
+    '၅': '5',
+    '၆': '6',
+    '၇': '7',
+    '၈': '8',
+    '၉': '9',
+    '၀': '0'
+};
+
+export default moment.defineLocale('my', {
+    months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
+    monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
+    weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
+    weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+    weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
+
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'DD/MM/YYYY',
+        LL: 'D MMMM YYYY',
+        LLL: 'D MMMM YYYY HH:mm',
+        LLLL: 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar: {
+        sameDay: '[ယနေ.] LT [မှာ]',
+        nextDay: '[မနက်ဖြန်] LT [မှာ]',
+        nextWeek: 'dddd LT [မှာ]',
+        lastDay: '[မနေ.က] LT [မှာ]',
+        lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: 'လာမည့် %s မှာ',
+        past: 'လွန်ခဲ့သော %s က',
+        s: 'စက္ကန်.အနည်းငယ်',
+        ss : '%d စက္ကန့်',
+        m: 'တစ်မိနစ်',
+        mm: '%d မိနစ်',
+        h: 'တစ်နာရီ',
+        hh: '%d နာရီ',
+        d: 'တစ်ရက်',
+        dd: '%d ရက်',
+        M: 'တစ်လ',
+        MM: '%d လ',
+        y: 'တစ်နှစ်',
+        yy: '%d နှစ်'
+    },
+    preparse: function (string) {
+        return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    week: {
+        dow: 1, // Monday is the first day of the week.
+        doy: 4 // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/nb.js b/public/bower_components/moment/src/locale/nb.js
new file mode 100644
index 0000000..27bb88e
--- /dev/null
+++ b/public/bower_components/moment/src/locale/nb.js
@@ -0,0 +1,55 @@
+//! moment.js locale configuration
+//! locale : Norwegian Bokmål [nb]
+//! authors : Espen Hovlandsdal : https://github.com/rexxars
+//!           Sigurd Gartmann : https://github.com/sigurdga
+
+import moment from '../moment';
+
+export default moment.defineLocale('nb', {
+    months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+    monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
+    weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
+    weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY [kl.] HH:mm',
+        LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+    },
+    calendar : {
+        sameDay: '[i dag kl.] LT',
+        nextDay: '[i morgen kl.] LT',
+        nextWeek: 'dddd [kl.] LT',
+        lastDay: '[i går kl.] LT',
+        lastWeek: '[forrige] dddd [kl.] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'om %s',
+        past : '%s siden',
+        s : 'noen sekunder',
+        ss : '%d sekunder',
+        m : 'ett minutt',
+        mm : '%d minutter',
+        h : 'en time',
+        hh : '%d timer',
+        d : 'en dag',
+        dd : '%d dager',
+        M : 'en måned',
+        MM : '%d måneder',
+        y : 'ett år',
+        yy : '%d år'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ne.js b/public/bower_components/moment/src/locale/ne.js
new file mode 100644
index 0000000..38e5e82
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ne.js
@@ -0,0 +1,115 @@
+//! moment.js locale configuration
+//! locale : Nepalese [ne]
+//! author : suvash : https://github.com/suvash
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '१',
+    '2': '२',
+    '3': '३',
+    '4': '४',
+    '5': '५',
+    '6': '६',
+    '7': '७',
+    '8': '८',
+    '9': '९',
+    '0': '०'
+},
+numberMap = {
+    '१': '1',
+    '२': '2',
+    '३': '3',
+    '४': '4',
+    '५': '5',
+    '६': '6',
+    '७': '7',
+    '८': '8',
+    '९': '9',
+    '०': '0'
+};
+
+export default moment.defineLocale('ne', {
+    months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
+    monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
+    weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
+    weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'Aको h:mm बजे',
+        LTS : 'Aको h:mm:ss बजे',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, Aको h:mm बजे',
+        LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
+    },
+    preparse: function (string) {
+        return string.replace(/[१२३४५६७८९०]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'राति') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'बिहान') {
+            return hour;
+        } else if (meridiem === 'दिउँसो') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'साँझ') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 3) {
+            return 'राति';
+        } else if (hour < 12) {
+            return 'बिहान';
+        } else if (hour < 16) {
+            return 'दिउँसो';
+        } else if (hour < 20) {
+            return 'साँझ';
+        } else {
+            return 'राति';
+        }
+    },
+    calendar : {
+        sameDay : '[आज] LT',
+        nextDay : '[भोलि] LT',
+        nextWeek : '[आउँदो] dddd[,] LT',
+        lastDay : '[हिजो] LT',
+        lastWeek : '[गएको] dddd[,] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%sमा',
+        past : '%s अगाडि',
+        s : 'केही क्षण',
+        ss : '%d सेकेण्ड',
+        m : 'एक मिनेट',
+        mm : '%d मिनेट',
+        h : 'एक घण्टा',
+        hh : '%d घण्टा',
+        d : 'एक दिन',
+        dd : '%d दिन',
+        M : 'एक महिना',
+        MM : '%d महिना',
+        y : 'एक बर्ष',
+        yy : '%d बर्ष'
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/nl-be.js b/public/bower_components/moment/src/locale/nl-be.js
new file mode 100644
index 0000000..d0bde09
--- /dev/null
+++ b/public/bower_components/moment/src/locale/nl-be.js
@@ -0,0 +1,80 @@
+//! moment.js locale configuration
+//! locale : Dutch (Belgium) [nl-be]
+//! author : Joris Röling : https://github.com/jorisroling
+//! author : Jacob Middag : https://github.com/middagj
+
+import moment from '../moment';
+
+var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+    monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+var monthsRegex = /^(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;
+
+export default moment.defineLocale('nl-be', {
+    months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+    monthsShort : function (m, format) {
+        if (!m) {
+            return monthsShortWithDots;
+        } else if (/-MMM-/.test(format)) {
+            return monthsShortWithoutDots[m.month()];
+        } else {
+            return monthsShortWithDots[m.month()];
+        }
+    },
+
+    monthsRegex: monthsRegex,
+    monthsShortRegex: monthsRegex,
+    monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+    monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+    monthsParse : monthsParse,
+    longMonthsParse : monthsParse,
+    shortMonthsParse : monthsParse,
+
+    weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+    weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+    weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[vandaag om] LT',
+        nextDay: '[morgen om] LT',
+        nextWeek: 'dddd [om] LT',
+        lastDay: '[gisteren om] LT',
+        lastWeek: '[afgelopen] dddd [om] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'over %s',
+        past : '%s geleden',
+        s : 'een paar seconden',
+        ss : '%d seconden',
+        m : 'één minuut',
+        mm : '%d minuten',
+        h : 'één uur',
+        hh : '%d uur',
+        d : 'één dag',
+        dd : '%d dagen',
+        M : 'één maand',
+        MM : '%d maanden',
+        y : 'één jaar',
+        yy : '%d jaar'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+    ordinal : function (number) {
+        return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/nl.js b/public/bower_components/moment/src/locale/nl.js
new file mode 100644
index 0000000..fcd6a40
--- /dev/null
+++ b/public/bower_components/moment/src/locale/nl.js
@@ -0,0 +1,80 @@
+//! moment.js locale configuration
+//! locale : Dutch [nl]
+//! author : Joris Röling : https://github.com/jorisroling
+//! author : Jacob Middag : https://github.com/middagj
+
+import moment from '../moment';
+
+var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
+    monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
+
+var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];
+var monthsRegex = /^(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;
+
+export default moment.defineLocale('nl', {
+    months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
+    monthsShort : function (m, format) {
+        if (!m) {
+            return monthsShortWithDots;
+        } else if (/-MMM-/.test(format)) {
+            return monthsShortWithoutDots[m.month()];
+        } else {
+            return monthsShortWithDots[m.month()];
+        }
+    },
+
+    monthsRegex: monthsRegex,
+    monthsShortRegex: monthsRegex,
+    monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,
+    monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,
+
+    monthsParse : monthsParse,
+    longMonthsParse : monthsParse,
+    shortMonthsParse : monthsParse,
+
+    weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
+    weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
+    weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD-MM-YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[vandaag om] LT',
+        nextDay: '[morgen om] LT',
+        nextWeek: 'dddd [om] LT',
+        lastDay: '[gisteren om] LT',
+        lastWeek: '[afgelopen] dddd [om] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'over %s',
+        past : '%s geleden',
+        s : 'een paar seconden',
+        ss : '%d seconden',
+        m : 'één minuut',
+        mm : '%d minuten',
+        h : 'één uur',
+        hh : '%d uur',
+        d : 'één dag',
+        dd : '%d dagen',
+        M : 'één maand',
+        MM : '%d maanden',
+        y : 'één jaar',
+        yy : '%d jaar'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/,
+    ordinal : function (number) {
+        return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/nn.js b/public/bower_components/moment/src/locale/nn.js
new file mode 100644
index 0000000..ea8ca7b
--- /dev/null
+++ b/public/bower_components/moment/src/locale/nn.js
@@ -0,0 +1,52 @@
+//! moment.js locale configuration
+//! locale : Nynorsk [nn]
+//! author : https://github.com/mechuwind
+
+import moment from '../moment';
+
+export default moment.defineLocale('nn', {
+    months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
+    weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
+    weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
+    weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY [kl.] H:mm',
+        LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
+    },
+    calendar : {
+        sameDay: '[I dag klokka] LT',
+        nextDay: '[I morgon klokka] LT',
+        nextWeek: 'dddd [klokka] LT',
+        lastDay: '[I går klokka] LT',
+        lastWeek: '[Føregåande] dddd [klokka] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'om %s',
+        past : '%s sidan',
+        s : 'nokre sekund',
+        ss : '%d sekund',
+        m : 'eit minutt',
+        mm : '%d minutt',
+        h : 'ein time',
+        hh : '%d timar',
+        d : 'ein dag',
+        dd : '%d dagar',
+        M : 'ein månad',
+        MM : '%d månader',
+        y : 'eit år',
+        yy : '%d år'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/pa-in.js b/public/bower_components/moment/src/locale/pa-in.js
new file mode 100644
index 0000000..74b3126
--- /dev/null
+++ b/public/bower_components/moment/src/locale/pa-in.js
@@ -0,0 +1,116 @@
+//! moment.js locale configuration
+//! locale : Punjabi (India) [pa-in]
+//! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': 'à©§',
+    '2': '੨',
+    '3': 'à©©',
+    '4': '੪',
+    '5': 'à©«',
+    '6': '੬',
+    '7': 'à©­',
+    '8': 'à©®',
+    '9': '੯',
+    '0': '੦'
+},
+numberMap = {
+    'à©§': '1',
+    '੨': '2',
+    'à©©': '3',
+    '੪': '4',
+    'à©«': '5',
+    '੬': '6',
+    'à©­': '7',
+    'à©®': '8',
+    '੯': '9',
+    '੦': '0'
+};
+
+export default moment.defineLocale('pa-in', {
+    // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.
+    months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+    monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
+    weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
+    weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+    weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm ਵਜੇ',
+        LTS : 'A h:mm:ss ਵਜੇ',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
+    },
+    calendar : {
+        sameDay : '[ਅਜ] LT',
+        nextDay : '[ਕਲ] LT',
+        nextWeek : '[ਅਗਲਾ] dddd, LT',
+        lastDay : '[ਕਲ] LT',
+        lastWeek : '[ਪਿਛਲੇ] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s ਵਿੱਚ',
+        past : '%s ਪਿਛਲੇ',
+        s : 'ਕੁਝ ਸਕਿੰਟ',
+        ss : '%d ਸਕਿੰਟ',
+        m : 'ਇਕ ਮਿੰਟ',
+        mm : '%d ਮਿੰਟ',
+        h : 'ਇੱਕ ਘੰਟਾ',
+        hh : '%d ਘੰਟੇ',
+        d : 'ਇੱਕ ਦਿਨ',
+        dd : '%d ਦਿਨ',
+        M : 'ਇੱਕ ਮਹੀਨਾ',
+        MM : '%d ਮਹੀਨੇ',
+        y : 'ਇੱਕ ਸਾਲ',
+        yy : '%d ਸਾਲ'
+    },
+    preparse: function (string) {
+        return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
+    // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
+    meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'ਰਾਤ') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'ਸਵੇਰ') {
+            return hour;
+        } else if (meridiem === 'ਦੁਪਹਿਰ') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'ਸ਼ਾਮ') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'ਰਾਤ';
+        } else if (hour < 10) {
+            return 'ਸਵੇਰ';
+        } else if (hour < 17) {
+            return 'ਦੁਪਹਿਰ';
+        } else if (hour < 20) {
+            return 'ਸ਼ਾਮ';
+        } else {
+            return 'ਰਾਤ';
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/pl.js b/public/bower_components/moment/src/locale/pl.js
new file mode 100644
index 0000000..4a46277
--- /dev/null
+++ b/public/bower_components/moment/src/locale/pl.js
@@ -0,0 +1,117 @@
+//! moment.js locale configuration
+//! locale : Polish [pl]
+//! author : Rafal Hirsz : https://github.com/evoL
+
+import moment from '../moment';
+
+var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
+    monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
+function plural(n) {
+    return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
+}
+function translate(number, withoutSuffix, key) {
+    var result = number + ' ';
+    switch (key) {
+        case 'ss':
+            return result + (plural(number) ? 'sekundy' : 'sekund');
+        case 'm':
+            return withoutSuffix ? 'minuta' : 'minutÄ™';
+        case 'mm':
+            return result + (plural(number) ? 'minuty' : 'minut');
+        case 'h':
+            return withoutSuffix  ? 'godzina'  : 'godzinÄ™';
+        case 'hh':
+            return result + (plural(number) ? 'godziny' : 'godzin');
+        case 'MM':
+            return result + (plural(number) ? 'miesiące' : 'miesięcy');
+        case 'yy':
+            return result + (plural(number) ? 'lata' : 'lat');
+    }
+}
+
+export default moment.defineLocale('pl', {
+    months : function (momentToFormat, format) {
+        if (!momentToFormat) {
+            return monthsNominative;
+        } else if (format === '') {
+            // Hack: if format empty we know this is used to generate
+            // RegExp by moment. Give then back both valid forms of months
+            // in RegExp ready format.
+            return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
+        } else if (/D MMMM/.test(format)) {
+            return monthsSubjective[momentToFormat.month()];
+        } else {
+            return monthsNominative[momentToFormat.month()];
+        }
+    },
+    monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
+    weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
+    weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
+    weekdaysMin : 'Nd_Pn_Wt_Åšr_Cz_Pt_So'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[DziÅ› o] LT',
+        nextDay: '[Jutro o] LT',
+        nextWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[W niedzielÄ™ o] LT';
+
+                case 2:
+                    return '[We wtorek o] LT';
+
+                case 3:
+                    return '[W środę o] LT';
+
+                case 6:
+                    return '[W sobotÄ™ o] LT';
+
+                default:
+                    return '[W] dddd [o] LT';
+            }
+        },
+        lastDay: '[Wczoraj o] LT',
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[W zeszłą niedzielę o] LT';
+                case 3:
+                    return '[W zeszłą środę o] LT';
+                case 6:
+                    return '[W zeszłą sobotę o] LT';
+                default:
+                    return '[W zeszły] dddd [o] LT';
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past : '%s temu',
+        s : 'kilka sekund',
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : translate,
+        hh : translate,
+        d : '1 dzień',
+        dd : '%d dni',
+        M : 'miesiÄ…c',
+        MM : translate,
+        y : 'rok',
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/pt-br.js b/public/bower_components/moment/src/locale/pt-br.js
new file mode 100644
index 0000000..19956d1
--- /dev/null
+++ b/public/bower_components/moment/src/locale/pt-br.js
@@ -0,0 +1,53 @@
+//! moment.js locale configuration
+//! locale : Portuguese (Brazil) [pt-br]
+//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
+
+import moment from '../moment';
+
+export default moment.defineLocale('pt-br', {
+    months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+    monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+    weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+    weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+    weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D [de] MMMM [de] YYYY',
+        LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
+        LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
+    },
+    calendar : {
+        sameDay: '[Hoje às] LT',
+        nextDay: '[Amanhã às] LT',
+        nextWeek: 'dddd [às] LT',
+        lastDay: '[Ontem às] LT',
+        lastWeek: function () {
+            return (this.day() === 0 || this.day() === 6) ?
+                '[Último] dddd [às] LT' : // Saturday + Sunday
+                '[Última] dddd [às] LT'; // Monday - Friday
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'em %s',
+        past : 'há %s',
+        s : 'poucos segundos',
+        ss : '%d segundos',
+        m : 'um minuto',
+        mm : '%d minutos',
+        h : 'uma hora',
+        hh : '%d horas',
+        d : 'um dia',
+        dd : '%d dias',
+        M : 'um mês',
+        MM : '%d meses',
+        y : 'um ano',
+        yy : '%d anos'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}º/,
+    ordinal : '%dº'
+});
+
diff --git a/public/bower_components/moment/src/locale/pt.js b/public/bower_components/moment/src/locale/pt.js
new file mode 100644
index 0000000..be58129
--- /dev/null
+++ b/public/bower_components/moment/src/locale/pt.js
@@ -0,0 +1,57 @@
+//! moment.js locale configuration
+//! locale : Portuguese [pt]
+//! author : Jefferson : https://github.com/jalex79
+
+import moment from '../moment';
+
+export default moment.defineLocale('pt', {
+    months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
+    monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+    weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
+    weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
+    weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D [de] MMMM [de] YYYY',
+        LLL : 'D [de] MMMM [de] YYYY HH:mm',
+        LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[Hoje às] LT',
+        nextDay: '[Amanhã às] LT',
+        nextWeek: 'dddd [às] LT',
+        lastDay: '[Ontem às] LT',
+        lastWeek: function () {
+            return (this.day() === 0 || this.day() === 6) ?
+                '[Último] dddd [às] LT' : // Saturday + Sunday
+                '[Última] dddd [às] LT'; // Monday - Friday
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'em %s',
+        past : 'há %s',
+        s : 'segundos',
+        ss : '%d segundos',
+        m : 'um minuto',
+        mm : '%d minutos',
+        h : 'uma hora',
+        hh : '%d horas',
+        d : 'um dia',
+        dd : '%d dias',
+        M : 'um mês',
+        MM : '%d meses',
+        y : 'um ano',
+        yy : '%d anos'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}º/,
+    ordinal : '%dº',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ro.js b/public/bower_components/moment/src/locale/ro.js
new file mode 100644
index 0000000..2d4f19e
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ro.js
@@ -0,0 +1,68 @@
+//! moment.js locale configuration
+//! locale : Romanian [ro]
+//! author : Vlad Gurdiga : https://github.com/gurdiga
+//! author : Valentin Agachi : https://github.com/avaly
+
+import moment from '../moment';
+
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+    var format = {
+            'ss': 'secunde',
+            'mm': 'minute',
+            'hh': 'ore',
+            'dd': 'zile',
+            'MM': 'luni',
+            'yy': 'ani'
+        },
+        separator = ' ';
+    if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
+        separator = ' de ';
+    }
+    return number + separator + format[key];
+}
+
+export default moment.defineLocale('ro', {
+    months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
+    monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
+    weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
+    weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY H:mm',
+        LLLL : 'dddd, D MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay: '[azi la] LT',
+        nextDay: '[mâine la] LT',
+        nextWeek: 'dddd [la] LT',
+        lastDay: '[ieri la] LT',
+        lastWeek: '[fosta] dddd [la] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'peste %s',
+        past : '%s în urmă',
+        s : 'câteva secunde',
+        ss : relativeTimeWithPlural,
+        m : 'un minut',
+        mm : relativeTimeWithPlural,
+        h : 'o oră',
+        hh : relativeTimeWithPlural,
+        d : 'o zi',
+        dd : relativeTimeWithPlural,
+        M : 'o lună',
+        MM : relativeTimeWithPlural,
+        y : 'un an',
+        yy : relativeTimeWithPlural
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ru.js b/public/bower_components/moment/src/locale/ru.js
new file mode 100644
index 0000000..29046af
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ru.js
@@ -0,0 +1,175 @@
+//! moment.js locale configuration
+//! locale : Russian [ru]
+//! author : Viktorminator : https://github.com/Viktorminator
+//! Author : Menelion Elensúle : https://github.com/Oire
+//! author : Коренберг Марк : https://github.com/socketpair
+
+import moment from '../moment';
+
+function plural(word, num) {
+    var forms = word.split('_');
+    return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+}
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+    var format = {
+        'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
+        'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
+        'hh': 'час_часа_часов',
+        'dd': 'день_дня_дней',
+        'MM': 'месяц_месяца_месяцев',
+        'yy': 'год_года_лет'
+    };
+    if (key === 'm') {
+        return withoutSuffix ? 'минута' : 'минуту';
+    }
+    else {
+        return number + ' ' + plural(format[key], +number);
+    }
+}
+var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
+
+// http://new.gramota.ru/spravka/rules/139-prop : § 103
+// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
+// CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
+export default moment.defineLocale('ru', {
+    months : {
+        format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
+        standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
+    },
+    monthsShort : {
+        // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
+        format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
+        standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
+    },
+    weekdays : {
+        standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
+        format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
+        isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
+    },
+    weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+    weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
+    monthsParse : monthsParse,
+    longMonthsParse : monthsParse,
+    shortMonthsParse : monthsParse,
+
+    // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
+    monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+    // копия предыдущего
+    monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
+
+    // полные названия с падежами
+    monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
+
+    // Выражение, которое соотвествует только сокращённым формам
+    monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY г.',
+        LLL : 'D MMMM YYYY г., H:mm',
+        LLLL : 'dddd, D MMMM YYYY г., H:mm'
+    },
+    calendar : {
+        sameDay: '[Сегодня, в] LT',
+        nextDay: '[Завтра, в] LT',
+        lastDay: '[Вчера, в] LT',
+        nextWeek: function (now) {
+            if (now.week() !== this.week()) {
+                switch (this.day()) {
+                    case 0:
+                        return '[В следующее] dddd, [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[В следующий] dddd, [в] LT';
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[В следующую] dddd, [в] LT';
+                }
+            } else {
+                if (this.day() === 2) {
+                    return '[Во] dddd, [в] LT';
+                } else {
+                    return '[В] dddd, [в] LT';
+                }
+            }
+        },
+        lastWeek: function (now) {
+            if (now.week() !== this.week()) {
+                switch (this.day()) {
+                    case 0:
+                        return '[В прошлое] dddd, [в] LT';
+                    case 1:
+                    case 2:
+                    case 4:
+                        return '[В прошлый] dddd, [в] LT';
+                    case 3:
+                    case 5:
+                    case 6:
+                        return '[В прошлую] dddd, [в] LT';
+                }
+            } else {
+                if (this.day() === 2) {
+                    return '[Во] dddd, [в] LT';
+                } else {
+                    return '[В] dddd, [в] LT';
+                }
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'через %s',
+        past : '%s назад',
+        s : 'несколько секунд',
+        ss : relativeTimeWithPlural,
+        m : relativeTimeWithPlural,
+        mm : relativeTimeWithPlural,
+        h : 'час',
+        hh : relativeTimeWithPlural,
+        d : 'день',
+        dd : relativeTimeWithPlural,
+        M : 'месяц',
+        MM : relativeTimeWithPlural,
+        y : 'год',
+        yy : relativeTimeWithPlural
+    },
+    meridiemParse: /ночи|утра|дня|вечера/i,
+    isPM : function (input) {
+        return /^(дня|вечера)$/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'ночи';
+        } else if (hour < 12) {
+            return 'утра';
+        } else if (hour < 17) {
+            return 'дня';
+        } else {
+            return 'вечера';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,
+    ordinal: function (number, period) {
+        switch (period) {
+            case 'M':
+            case 'd':
+            case 'DDD':
+                return number + '-й';
+            case 'D':
+                return number + '-го';
+            case 'w':
+            case 'W':
+                return number + '-я';
+            default:
+                return number;
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/sd.js b/public/bower_components/moment/src/locale/sd.js
new file mode 100644
index 0000000..9747ad4
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sd.js
@@ -0,0 +1,89 @@
+//! moment.js locale configuration
+//! locale : Sindhi [sd]
+//! author : Narain Sagar : https://github.com/narainsagar
+
+import moment from '../moment';
+
+var months = [
+    'جنوري',
+    'فيبروري',
+    'مارچ',
+    'اپريل',
+    'مئي',
+    'جون',
+    'جولاءِ',
+    'آگسٽ',
+    'سيپٽمبر',
+    'آڪٽوبر',
+    'نومبر',
+    'ڊسمبر'
+];
+var days = [
+    'آچر',
+    'سومر',
+    'اڱارو',
+    'اربع',
+    'خميس',
+    'جمع',
+    'ڇنڇر'
+];
+
+export default moment.defineLocale('sd', {
+    months : months,
+    monthsShort : months,
+    weekdays : days,
+    weekdaysShort : days,
+    weekdaysMin : days,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd، D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /صبح|شام/,
+    isPM : function (input) {
+        return 'شام' === input;
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'صبح';
+        }
+        return 'شام';
+    },
+    calendar : {
+        sameDay : '[اڄ] LT',
+        nextDay : '[سڀاڻي] LT',
+        nextWeek : 'dddd [اڳين هفتي تي] LT',
+        lastDay : '[ڪالهه] LT',
+        lastWeek : '[گزريل هفتي] dddd [تي] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s پوء',
+        past : '%s اڳ',
+        s : 'چند سيڪنڊ',
+        ss : '%d سيڪنڊ',
+        m : 'هڪ منٽ',
+        mm : '%d منٽ',
+        h : 'هڪ ڪلاڪ',
+        hh : '%d ڪلاڪ',
+        d : 'هڪ ڏينهن',
+        dd : '%d ڏينهن',
+        M : 'هڪ مهينو',
+        MM : '%d مهينا',
+        y : 'هڪ سال',
+        yy : '%d سال'
+    },
+    preparse: function (string) {
+        return string.replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/,/g, '،');
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/se.js b/public/bower_components/moment/src/locale/se.js
new file mode 100644
index 0000000..dd10cda
--- /dev/null
+++ b/public/bower_components/moment/src/locale/se.js
@@ -0,0 +1,52 @@
+//! moment.js locale configuration
+//! locale : Northern Sami [se]
+//! authors : BÃ¥rd Rolstad Henriksen : https://github.com/karamell
+
+
+import moment from '../moment';
+
+export default moment.defineLocale('se', {
+    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('_'),
+    monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
+    weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
+    weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
+    weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'MMMM D. [b.] YYYY',
+        LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
+        LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
+    },
+    calendar : {
+        sameDay: '[otne ti] LT',
+        nextDay: '[ihttin ti] LT',
+        nextWeek: 'dddd [ti] LT',
+        lastDay: '[ikte ti] LT',
+        lastWeek: '[ovddit] dddd [ti] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : '%s geažes',
+        past : 'maŋit %s',
+        s : 'moadde sekunddat',
+        ss: '%d sekunddat',
+        m : 'okta minuhta',
+        mm : '%d minuhtat',
+        h : 'okta diimmu',
+        hh : '%d diimmut',
+        d : 'okta beaivi',
+        dd : '%d beaivvit',
+        M : 'okta mánnu',
+        MM : '%d mánut',
+        y : 'okta jahki',
+        yy : '%d jagit'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/si.js b/public/bower_components/moment/src/locale/si.js
new file mode 100644
index 0000000..ed3caf3
--- /dev/null
+++ b/public/bower_components/moment/src/locale/si.js
@@ -0,0 +1,62 @@
+//! moment.js locale configuration
+//! locale : Sinhalese [si]
+//! author : Sampath Sitinamaluwa : https://github.com/sampathsris
+
+import moment from '../moment';
+
+/*jshint -W100*/
+export default moment.defineLocale('si', {
+    months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
+    monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
+    weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
+    weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
+    weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'a h:mm',
+        LTS : 'a h:mm:ss',
+        L : 'YYYY/MM/DD',
+        LL : 'YYYY MMMM D',
+        LLL : 'YYYY MMMM D, a h:mm',
+        LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
+    },
+    calendar : {
+        sameDay : '[අද] LT[ට]',
+        nextDay : '[හෙට] LT[ට]',
+        nextWeek : 'dddd LT[à¶§]',
+        lastDay : '[ඊයේ] LT[ට]',
+        lastWeek : '[පසුගිය] dddd LT[ට]',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%sකින්',
+        past : '%sකට පෙර',
+        s : 'තත්පර කිහිපය',
+        ss : 'à¶­à¶­à·Šà¶´à¶» %d',
+        m : 'මිනිත්තුව',
+        mm : 'මිනිත්තු %d',
+        h : 'පැය',
+        hh : 'පැය %d',
+        d : 'දිනය',
+        dd : 'දින %d',
+        M : 'මාසය',
+        MM : 'මාස %d',
+        y : 'වසර',
+        yy : 'වසර %d'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2} වැනි/,
+    ordinal : function (number) {
+        return number + ' වැනි';
+    },
+    meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
+    isPM : function (input) {
+        return input === 'ප.ව.' || input === 'පස් වරු';
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours > 11) {
+            return isLower ? 'ප.ව.' : 'පස් වරු';
+        } else {
+            return isLower ? 'පෙ.ව.' : 'පෙර වරු';
+        }
+    }
+});
diff --git a/public/bower_components/moment/src/locale/sk.js b/public/bower_components/moment/src/locale/sk.js
new file mode 100644
index 0000000..3cd3ee1
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sk.js
@@ -0,0 +1,149 @@
+//! moment.js locale configuration
+//! locale : Slovak [sk]
+//! author : Martin Minka : https://github.com/k2s
+//! based on work of petrbela : https://github.com/petrbela
+
+import moment from '../moment';
+
+var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
+    monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
+function plural(n) {
+    return (n > 1) && (n < 5);
+}
+function translate(number, withoutSuffix, key, isFuture) {
+    var result = number + ' ';
+    switch (key) {
+        case 's':  // a few seconds / in a few seconds / a few seconds ago
+            return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
+        case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'sekundy' : 'sekúnd');
+            } else {
+                return result + 'sekundami';
+            }
+            break;
+        case 'm':  // a minute / in a minute / a minute ago
+            return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
+        case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'minúty' : 'minút');
+            } else {
+                return result + 'minútami';
+            }
+            break;
+        case 'h':  // an hour / in an hour / an hour ago
+            return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
+        case 'hh': // 9 hours / in 9 hours / 9 hours ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'hodiny' : 'hodín');
+            } else {
+                return result + 'hodinami';
+            }
+            break;
+        case 'd':  // a day / in a day / a day ago
+            return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
+        case 'dd': // 9 days / in 9 days / 9 days ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'dni' : 'dní');
+            } else {
+                return result + 'dňami';
+            }
+            break;
+        case 'M':  // a month / in a month / a month ago
+            return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
+        case 'MM': // 9 months / in 9 months / 9 months ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'mesiace' : 'mesiacov');
+            } else {
+                return result + 'mesiacmi';
+            }
+            break;
+        case 'y':  // a year / in a year / a year ago
+            return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
+        case 'yy': // 9 years / in 9 years / 9 years ago
+            if (withoutSuffix || isFuture) {
+                return result + (plural(number) ? 'roky' : 'rokov');
+            } else {
+                return result + 'rokmi';
+            }
+            break;
+    }
+}
+
+export default moment.defineLocale('sk', {
+    months : months,
+    monthsShort : monthsShort,
+    weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
+    weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
+    weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
+    longDateFormat : {
+        LT: 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY H:mm',
+        LLLL : 'dddd D. MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay: '[dnes o] LT',
+        nextDay: '[zajtra o] LT',
+        nextWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[v nedeľu o] LT';
+                case 1:
+                case 2:
+                    return '[v] dddd [o] LT';
+                case 3:
+                    return '[v stredu o] LT';
+                case 4:
+                    return '[vo štvrtok o] LT';
+                case 5:
+                    return '[v piatok o] LT';
+                case 6:
+                    return '[v sobotu o] LT';
+            }
+        },
+        lastDay: '[včera o] LT',
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[minulú nedeľu o] LT';
+                case 1:
+                case 2:
+                    return '[minulý] dddd [o] LT';
+                case 3:
+                    return '[minulú stredu o] LT';
+                case 4:
+                case 5:
+                    return '[minulý] dddd [o] LT';
+                case 6:
+                    return '[minulú sobotu o] LT';
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past : 'pred %s',
+        s : translate,
+        ss : translate,
+        m : translate,
+        mm : translate,
+        h : translate,
+        hh : translate,
+        d : translate,
+        dd : translate,
+        M : translate,
+        MM : translate,
+        y : translate,
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/sl.js b/public/bower_components/moment/src/locale/sl.js
new file mode 100644
index 0000000..0012e15
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sl.js
@@ -0,0 +1,164 @@
+//! moment.js locale configuration
+//! locale : Slovenian [sl]
+//! author : Robert Sedovšek : https://github.com/sedovsek
+
+import moment from '../moment';
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var result = number + ' ';
+    switch (key) {
+        case 's':
+            return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
+        case 'ss':
+            if (number === 1) {
+                result += withoutSuffix ? 'sekundo' : 'sekundi';
+            } else if (number === 2) {
+                result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';
+            } else if (number < 5) {
+                result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';
+            } else {
+                result += 'sekund';
+            }
+            return result;
+        case 'm':
+            return withoutSuffix ? 'ena minuta' : 'eno minuto';
+        case 'mm':
+            if (number === 1) {
+                result += withoutSuffix ? 'minuta' : 'minuto';
+            } else if (number === 2) {
+                result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
+            } else if (number < 5) {
+                result += withoutSuffix || isFuture ? 'minute' : 'minutami';
+            } else {
+                result += withoutSuffix || isFuture ? 'minut' : 'minutami';
+            }
+            return result;
+        case 'h':
+            return withoutSuffix ? 'ena ura' : 'eno uro';
+        case 'hh':
+            if (number === 1) {
+                result += withoutSuffix ? 'ura' : 'uro';
+            } else if (number === 2) {
+                result += withoutSuffix || isFuture ? 'uri' : 'urama';
+            } else if (number < 5) {
+                result += withoutSuffix || isFuture ? 'ure' : 'urami';
+            } else {
+                result += withoutSuffix || isFuture ? 'ur' : 'urami';
+            }
+            return result;
+        case 'd':
+            return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
+        case 'dd':
+            if (number === 1) {
+                result += withoutSuffix || isFuture ? 'dan' : 'dnem';
+            } else if (number === 2) {
+                result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
+            } else {
+                result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
+            }
+            return result;
+        case 'M':
+            return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
+        case 'MM':
+            if (number === 1) {
+                result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
+            } else if (number === 2) {
+                result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
+            } else if (number < 5) {
+                result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
+            } else {
+                result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
+            }
+            return result;
+        case 'y':
+            return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
+        case 'yy':
+            if (number === 1) {
+                result += withoutSuffix || isFuture ? 'leto' : 'letom';
+            } else if (number === 2) {
+                result += withoutSuffix || isFuture ? 'leti' : 'letoma';
+            } else if (number < 5) {
+                result += withoutSuffix || isFuture ? 'leta' : 'leti';
+            } else {
+                result += withoutSuffix || isFuture ? 'let' : 'leti';
+            }
+            return result;
+    }
+}
+
+export default moment.defineLocale('sl', {
+    months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
+    monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
+    weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
+    weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM YYYY',
+        LLL : 'D. MMMM YYYY H:mm',
+        LLLL : 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar : {
+        sameDay  : '[danes ob] LT',
+        nextDay  : '[jutri ob] LT',
+
+        nextWeek : function () {
+            switch (this.day()) {
+                case 0:
+                    return '[v] [nedeljo] [ob] LT';
+                case 3:
+                    return '[v] [sredo] [ob] LT';
+                case 6:
+                    return '[v] [soboto] [ob] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[v] dddd [ob] LT';
+            }
+        },
+        lastDay  : '[včeraj ob] LT',
+        lastWeek : function () {
+            switch (this.day()) {
+                case 0:
+                    return '[prejšnjo] [nedeljo] [ob] LT';
+                case 3:
+                    return '[prejšnjo] [sredo] [ob] LT';
+                case 6:
+                    return '[prejšnjo] [soboto] [ob] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[prejšnji] dddd [ob] LT';
+            }
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'čez %s',
+        past   : 'pred %s',
+        s      : processRelativeTime,
+        ss     : processRelativeTime,
+        m      : processRelativeTime,
+        mm     : processRelativeTime,
+        h      : processRelativeTime,
+        hh     : processRelativeTime,
+        d      : processRelativeTime,
+        dd     : processRelativeTime,
+        M      : processRelativeTime,
+        MM     : processRelativeTime,
+        y      : processRelativeTime,
+        yy     : processRelativeTime
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/sq.js b/public/bower_components/moment/src/locale/sq.js
new file mode 100644
index 0000000..1280db7
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sq.js
@@ -0,0 +1,62 @@
+//! moment.js locale configuration
+//! locale : Albanian [sq]
+//! author : Flakërim Ismani : https://github.com/flakerimi
+//! author : Menelion Elensúle : https://github.com/Oire
+//! author : Oerd Cukalla : https://github.com/oerd
+
+import moment from '../moment';
+
+export default moment.defineLocale('sq', {
+    months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
+    monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
+    weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
+    weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
+    weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
+    weekdaysParseExact : true,
+    meridiemParse: /PD|MD/,
+    isPM: function (input) {
+        return input.charAt(0) === 'M';
+    },
+    meridiem : function (hours, minutes, isLower) {
+        return hours < 12 ? 'PD' : 'MD';
+    },
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Sot në] LT',
+        nextDay : '[Nesër në] LT',
+        nextWeek : 'dddd [në] LT',
+        lastDay : '[Dje në] LT',
+        lastWeek : 'dddd [e kaluar në] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'në %s',
+        past : '%s më parë',
+        s : 'disa sekonda',
+        ss : '%d sekonda',
+        m : 'një minutë',
+        mm : '%d minuta',
+        h : 'një orë',
+        hh : '%d orë',
+        d : 'një ditë',
+        dd : '%d ditë',
+        M : 'një muaj',
+        MM : '%d muaj',
+        y : 'një vit',
+        yy : '%d vite'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/sr-cyrl.js b/public/bower_components/moment/src/locale/sr-cyrl.js
new file mode 100644
index 0000000..3b9a573
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sr-cyrl.js
@@ -0,0 +1,102 @@
+//! moment.js locale configuration
+//! locale : Serbian Cyrillic [sr-cyrl]
+//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
+
+import moment from '../moment';
+
+var translator = {
+    words: { //Different grammatical cases
+        ss: ['секунда', 'секунде', 'секунди'],
+        m: ['један минут', 'једне минуте'],
+        mm: ['минут', 'минуте', 'минута'],
+        h: ['један сат', 'једног сата'],
+        hh: ['сат', 'сата', 'сати'],
+        dd: ['дан', 'дана', 'дана'],
+        MM: ['месец', 'месеца', 'месеци'],
+        yy: ['година', 'године', 'година']
+    },
+    correctGrammaticalCase: function (number, wordKey) {
+        return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+    },
+    translate: function (number, withoutSuffix, key) {
+        var wordKey = translator.words[key];
+        if (key.length === 1) {
+            return withoutSuffix ? wordKey[0] : wordKey[1];
+        } else {
+            return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+        }
+    }
+};
+
+export default moment.defineLocale('sr-cyrl', {
+    months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),
+    monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
+    monthsParseExact: true,
+    weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),
+    weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
+    weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat: {
+        LT: 'H:mm',
+        LTS : 'H:mm:ss',
+        L: 'DD.MM.YYYY',
+        LL: 'D. MMMM YYYY',
+        LLL: 'D. MMMM YYYY H:mm',
+        LLLL: 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar: {
+        sameDay: '[данас у] LT',
+        nextDay: '[сутра у] LT',
+        nextWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[у] [недељу] [у] LT';
+                case 3:
+                    return '[у] [среду] [у] LT';
+                case 6:
+                    return '[у] [суботу] [у] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[у] dddd [у] LT';
+            }
+        },
+        lastDay  : '[јуче у] LT',
+        lastWeek : function () {
+            var lastWeekDays = [
+                '[прошле] [недеље] [у] LT',
+                '[прошлог] [понедељка] [у] LT',
+                '[прошлог] [уторка] [у] LT',
+                '[прошле] [среде] [у] LT',
+                '[прошлог] [четвртка] [у] LT',
+                '[прошлог] [петка] [у] LT',
+                '[прошле] [суботе] [у] LT'
+            ];
+            return lastWeekDays[this.day()];
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'за %s',
+        past   : 'пре %s',
+        s      : 'неколико секунди',
+        ss     : translator.translate,
+        m      : translator.translate,
+        mm     : translator.translate,
+        h      : translator.translate,
+        hh     : translator.translate,
+        d      : 'дан',
+        dd     : translator.translate,
+        M      : 'месец',
+        MM     : translator.translate,
+        y      : 'годину',
+        yy     : translator.translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/sr.js b/public/bower_components/moment/src/locale/sr.js
new file mode 100644
index 0000000..12c3f24
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sr.js
@@ -0,0 +1,102 @@
+//! moment.js locale configuration
+//! locale : Serbian [sr]
+//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
+
+import moment from '../moment';
+
+var translator = {
+    words: { //Different grammatical cases
+        ss: ['sekunda', 'sekunde', 'sekundi'],
+        m: ['jedan minut', 'jedne minute'],
+        mm: ['minut', 'minute', 'minuta'],
+        h: ['jedan sat', 'jednog sata'],
+        hh: ['sat', 'sata', 'sati'],
+        dd: ['dan', 'dana', 'dana'],
+        MM: ['mesec', 'meseca', 'meseci'],
+        yy: ['godina', 'godine', 'godina']
+    },
+    correctGrammaticalCase: function (number, wordKey) {
+        return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
+    },
+    translate: function (number, withoutSuffix, key) {
+        var wordKey = translator.words[key];
+        if (key.length === 1) {
+            return withoutSuffix ? wordKey[0] : wordKey[1];
+        } else {
+            return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
+        }
+    }
+};
+
+export default moment.defineLocale('sr', {
+    months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),
+    monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),
+    monthsParseExact: true,
+    weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),
+    weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),
+    weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat: {
+        LT: 'H:mm',
+        LTS : 'H:mm:ss',
+        L: 'DD.MM.YYYY',
+        LL: 'D. MMMM YYYY',
+        LLL: 'D. MMMM YYYY H:mm',
+        LLLL: 'dddd, D. MMMM YYYY H:mm'
+    },
+    calendar: {
+        sameDay: '[danas u] LT',
+        nextDay: '[sutra u] LT',
+        nextWeek: function () {
+            switch (this.day()) {
+                case 0:
+                    return '[u] [nedelju] [u] LT';
+                case 3:
+                    return '[u] [sredu] [u] LT';
+                case 6:
+                    return '[u] [subotu] [u] LT';
+                case 1:
+                case 2:
+                case 4:
+                case 5:
+                    return '[u] dddd [u] LT';
+            }
+        },
+        lastDay  : '[juče u] LT',
+        lastWeek : function () {
+            var lastWeekDays = [
+                '[prošle] [nedelje] [u] LT',
+                '[prošlog] [ponedeljka] [u] LT',
+                '[prošlog] [utorka] [u] LT',
+                '[prošle] [srede] [u] LT',
+                '[prošlog] [četvrtka] [u] LT',
+                '[prošlog] [petka] [u] LT',
+                '[prošle] [subote] [u] LT'
+            ];
+            return lastWeekDays[this.day()];
+        },
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'za %s',
+        past   : 'pre %s',
+        s      : 'nekoliko sekundi',
+        ss     : translator.translate,
+        m      : translator.translate,
+        mm     : translator.translate,
+        h      : translator.translate,
+        hh     : translator.translate,
+        d      : 'dan',
+        dd     : translator.translate,
+        M      : 'mesec',
+        MM     : translator.translate,
+        y      : 'godinu',
+        yy     : translator.translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ss.js b/public/bower_components/moment/src/locale/ss.js
new file mode 100644
index 0000000..7cc5f24
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ss.js
@@ -0,0 +1,81 @@
+//! moment.js locale configuration
+//! locale : siSwati [ss]
+//! author : Nicolai Davies<mail@nicolai.io> : https://github.com/nicolaidavies
+
+
+import moment from '../moment';
+
+export default moment.defineLocale('ss', {
+    months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'),
+    monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),
+    weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),
+    weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),
+    weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY h:mm A',
+        LLLL : 'dddd, D MMMM YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : '[Namuhla nga] LT',
+        nextDay : '[Kusasa nga] LT',
+        nextWeek : 'dddd [nga] LT',
+        lastDay : '[Itolo nga] LT',
+        lastWeek : 'dddd [leliphelile] [nga] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'nga %s',
+        past : 'wenteka nga %s',
+        s : 'emizuzwana lomcane',
+        ss : '%d mzuzwana',
+        m : 'umzuzu',
+        mm : '%d emizuzu',
+        h : 'lihora',
+        hh : '%d emahora',
+        d : 'lilanga',
+        dd : '%d emalanga',
+        M : 'inyanga',
+        MM : '%d tinyanga',
+        y : 'umnyaka',
+        yy : '%d iminyaka'
+    },
+    meridiemParse: /ekuseni|emini|entsambama|ebusuku/,
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 11) {
+            return 'ekuseni';
+        } else if (hours < 15) {
+            return 'emini';
+        } else if (hours < 19) {
+            return 'entsambama';
+        } else {
+            return 'ebusuku';
+        }
+    },
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'ekuseni') {
+            return hour;
+        } else if (meridiem === 'emini') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {
+            if (hour === 0) {
+                return 0;
+            }
+            return hour + 12;
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}/,
+    ordinal : '%d',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/sv.js b/public/bower_components/moment/src/locale/sv.js
new file mode 100644
index 0000000..8afce35
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sv.js
@@ -0,0 +1,61 @@
+//! moment.js locale configuration
+//! locale : Swedish [sv]
+//! author : Jens Alm : https://github.com/ulmus
+
+import moment from '../moment';
+
+export default moment.defineLocale('sv', {
+    months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
+    monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
+    weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
+    weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
+    weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY-MM-DD',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY [kl.] HH:mm',
+        LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',
+        lll : 'D MMM YYYY HH:mm',
+        llll : 'ddd D MMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[Idag] LT',
+        nextDay: '[Imorgon] LT',
+        lastDay: '[Igår] LT',
+        nextWeek: '[PÃ¥] dddd LT',
+        lastWeek: '[I] dddd[s] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'om %s',
+        past : 'för %s sedan',
+        s : 'några sekunder',
+        ss : '%d sekunder',
+        m : 'en minut',
+        mm : '%d minuter',
+        h : 'en timme',
+        hh : '%d timmar',
+        d : 'en dag',
+        dd : '%d dagar',
+        M : 'en månad',
+        MM : '%d månader',
+        y : 'ett år',
+        yy : '%d år'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(e|a)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'e' :
+            (b === 1) ? 'a' :
+            (b === 2) ? 'a' :
+            (b === 3) ? 'e' : 'e';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/sw.js b/public/bower_components/moment/src/locale/sw.js
new file mode 100644
index 0000000..ec1e543
--- /dev/null
+++ b/public/bower_components/moment/src/locale/sw.js
@@ -0,0 +1,51 @@
+//! moment.js locale configuration
+//! locale : Swahili [sw]
+//! author : Fahad Kassim : https://github.com/fadsel
+
+import moment from '../moment';
+
+export default moment.defineLocale('sw', {
+    months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
+    monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
+    weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
+    weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
+    weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[leo saa] LT',
+        nextDay : '[kesho saa] LT',
+        nextWeek : '[wiki ijayo] dddd [saat] LT',
+        lastDay : '[jana] LT',
+        lastWeek : '[wiki iliyopita] dddd [saat] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s baadaye',
+        past : 'tokea %s',
+        s : 'hivi punde',
+        ss : 'sekunde %d',
+        m : 'dakika moja',
+        mm : 'dakika %d',
+        h : 'saa limoja',
+        hh : 'masaa %d',
+        d : 'siku moja',
+        dd : 'masiku %d',
+        M : 'mwezi mmoja',
+        MM : 'miezi %d',
+        y : 'mwaka mmoja',
+        yy : 'miaka %d'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ta.js b/public/bower_components/moment/src/locale/ta.js
new file mode 100644
index 0000000..5d3d921
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ta.js
@@ -0,0 +1,121 @@
+//! moment.js locale configuration
+//! locale : Tamil [ta]
+//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
+
+import moment from '../moment';
+
+var symbolMap = {
+    '1': '௧',
+    '2': '௨',
+    '3': '௩',
+    '4': '௪',
+    '5': '௫',
+    '6': '௬',
+    '7': '௭',
+    '8': '௮',
+    '9': '௯',
+    '0': '௦'
+}, numberMap = {
+    '௧': '1',
+    '௨': '2',
+    '௩': '3',
+    '௪': '4',
+    '௫': '5',
+    '௬': '6',
+    '௭': '7',
+    '௮': '8',
+    '௯': '9',
+    '௦': '0'
+};
+
+export default moment.defineLocale('ta', {
+    months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+    monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
+    weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
+    weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
+    weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, HH:mm',
+        LLLL : 'dddd, D MMMM YYYY, HH:mm'
+    },
+    calendar : {
+        sameDay : '[இன்று] LT',
+        nextDay : '[நாளை] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[நேற்று] LT',
+        lastWeek : '[கடந்த வாரம்] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s இல்',
+        past : '%s முன்',
+        s : 'ஒரு சில விநாடிகள்',
+        ss : '%d விநாடிகள்',
+        m : 'ஒரு நிமிடம்',
+        mm : '%d நிமிடங்கள்',
+        h : 'ஒரு மணி நேரம்',
+        hh : '%d மணி நேரம்',
+        d : 'ஒரு நாள்',
+        dd : '%d நாட்கள்',
+        M : 'ஒரு மாதம்',
+        MM : '%d மாதங்கள்',
+        y : 'ஒரு வருடம்',
+        yy : '%d ஆண்டுகள்'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}வது/,
+    ordinal : function (number) {
+        return number + 'வது';
+    },
+    preparse: function (string) {
+        return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
+            return numberMap[match];
+        });
+    },
+    postformat: function (string) {
+        return string.replace(/\d/g, function (match) {
+            return symbolMap[match];
+        });
+    },
+    // refer http://ta.wikipedia.org/s/1er1
+    meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 2) {
+            return ' யாமம்';
+        } else if (hour < 6) {
+            return ' வைகறை';  // வைகறை
+        } else if (hour < 10) {
+            return ' காலை'; // காலை
+        } else if (hour < 14) {
+            return ' நண்பகல்'; // நண்பகல்
+        } else if (hour < 18) {
+            return ' எற்பாடு'; // எற்பாடு
+        } else if (hour < 22) {
+            return ' மாலை'; // மாலை
+        } else {
+            return ' யாமம்';
+        }
+    },
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'யாமம்') {
+            return hour < 2 ? hour : hour + 12;
+        } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
+            return hour;
+        } else if (meridiem === 'நண்பகல்') {
+            return hour >= 10 ? hour : hour + 12;
+        } else {
+            return hour + 12;
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/te.js b/public/bower_components/moment/src/locale/te.js
new file mode 100644
index 0000000..87613cc
--- /dev/null
+++ b/public/bower_components/moment/src/locale/te.js
@@ -0,0 +1,80 @@
+//! moment.js locale configuration
+//! locale : Telugu [te]
+//! author : Krishna Chaitanya Thota : https://github.com/kcthota
+
+import moment from '../moment';
+
+export default moment.defineLocale('te', {
+    months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
+    monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
+    weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
+    weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
+    longDateFormat : {
+        LT : 'A h:mm',
+        LTS : 'A h:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY, A h:mm',
+        LLLL : 'dddd, D MMMM YYYY, A h:mm'
+    },
+    calendar : {
+        sameDay : '[నేడు] LT',
+        nextDay : '[రేపు] LT',
+        nextWeek : 'dddd, LT',
+        lastDay : '[నిన్న] LT',
+        lastWeek : '[à°—à°¤] dddd, LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s లో',
+        past : '%s క్రితం',
+        s : 'కొన్ని క్షణాలు',
+        ss : '%d సెకన్లు',
+        m : 'ఒక నిమిషం',
+        mm : '%d నిమిషాలు',
+        h : 'à°’à°• à°—à°‚à°Ÿ',
+        hh : '%d గంటలు',
+        d : 'ఒక రోజు',
+        dd : '%d రోజులు',
+        M : 'ఒక నెల',
+        MM : '%d నెలలు',
+        y : 'ఒక సంవత్సరం',
+        yy : '%d సంవత్సరాలు'
+    },
+    dayOfMonthOrdinalParse : /\d{1,2}à°µ/,
+    ordinal : '%dà°µ',
+    meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'రాత్రి') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'ఉదయం') {
+            return hour;
+        } else if (meridiem === 'మధ్యాహ్నం') {
+            return hour >= 10 ? hour : hour + 12;
+        } else if (meridiem === 'సాయంత్రం') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'రాత్రి';
+        } else if (hour < 10) {
+            return 'ఉదయం';
+        } else if (hour < 17) {
+            return 'మధ్యాహ్నం';
+        } else if (hour < 20) {
+            return 'సాయంత్రం';
+        } else {
+            return 'రాత్రి';
+        }
+    },
+    week : {
+        dow : 0, // Sunday is the first day of the week.
+        doy : 6  // The week that contains Jan 6th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/tet.js b/public/bower_components/moment/src/locale/tet.js
new file mode 100644
index 0000000..a4e9e19
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tet.js
@@ -0,0 +1,60 @@
+//! moment.js locale configuration
+//! locale : Tetun Dili (East Timor) [tet]
+//! author : Joshua Brooks : https://github.com/joshbrooks
+//! author : Onorio De J. Afonso : https://github.com/marobo
+//! author : Sonia Simoes : https://github.com/soniasimoes
+
+import moment from '../moment';
+
+export default moment.defineLocale('tet', {
+    months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),
+    monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
+    weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),
+    weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),
+    weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[Ohin iha] LT',
+        nextDay: '[Aban iha] LT',
+        nextWeek: 'dddd [iha] LT',
+        lastDay: '[Horiseik iha] LT',
+        lastWeek: 'dddd [semana kotuk] [iha] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'iha %s',
+        past : '%s liuba',
+        s : 'minutu balun',
+        ss : 'minutu %d',
+        m : 'minutu ida',
+        mm : 'minutu %d',
+        h : 'oras ida',
+        hh : 'oras %d',
+        d : 'loron ida',
+        dd : 'loron %d',
+        M : 'fulan ida',
+        MM : 'fulan %d',
+        y : 'tinan ida',
+        yy : 'tinan %d'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/tg.js b/public/bower_components/moment/src/locale/tg.js
new file mode 100644
index 0000000..9f15e1a
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tg.js
@@ -0,0 +1,107 @@
+//! moment.js locale configuration
+//! locale : Tajik [tg]
+//! author : Orif N. Jr. : https://github.com/orif-jr
+
+import moment from '../moment';
+
+var suffixes = {
+    0: '-ум',
+    1: '-ум',
+    2: '-юм',
+    3: '-юм',
+    4: '-ум',
+    5: '-ум',
+    6: '-ум',
+    7: '-ум',
+    8: '-ум',
+    9: '-ум',
+    10: '-ум',
+    12: '-ум',
+    13: '-ум',
+    20: '-ум',
+    30: '-юм',
+    40: '-ум',
+    50: '-ум',
+    60: '-ум',
+    70: '-ум',
+    80: '-ум',
+    90: '-ум',
+    100: '-ум'
+};
+
+export default moment.defineLocale('tg', {
+    months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+    monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+    weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),
+    weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),
+    weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[Имрӯз соати] LT',
+        nextDay : '[Пагоҳ соати] LT',
+        lastDay : '[Дирӯз соати] LT',
+        nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',
+        lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'баъди %s',
+        past : '%s пеш',
+        s : 'якчанд сония',
+        m : 'як дақиқа',
+        mm : '%d дақиқа',
+        h : 'як соат',
+        hh : '%d соат',
+        d : 'як рӯз',
+        dd : '%d рӯз',
+        M : 'як моҳ',
+        MM : '%d моҳ',
+        y : 'як сол',
+        yy : '%d сол'
+    },
+    meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,
+    meridiemHour: function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === 'шаб') {
+            return hour < 4 ? hour : hour + 12;
+        } else if (meridiem === 'субҳ') {
+            return hour;
+        } else if (meridiem === 'рӯз') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === 'бегоҳ') {
+            return hour + 12;
+        }
+    },
+    meridiem: function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'шаб';
+        } else if (hour < 11) {
+            return 'субҳ';
+        } else if (hour < 16) {
+            return 'рӯз';
+        } else if (hour < 19) {
+            return 'бегоҳ';
+        } else {
+            return 'шаб';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(ум|юм)/,
+    ordinal: function (number) {
+        var a = number % 10,
+            b = number >= 100 ? 100 : null;
+        return number + (suffixes[number] || suffixes[a] || suffixes[b]);
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 1th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/th.js b/public/bower_components/moment/src/locale/th.js
new file mode 100644
index 0000000..9f8771f
--- /dev/null
+++ b/public/bower_components/moment/src/locale/th.js
@@ -0,0 +1,58 @@
+//! moment.js locale configuration
+//! locale : Thai [th]
+//! author : Kridsada Thanabulpong : https://github.com/sirn
+
+import moment from '../moment';
+
+export default moment.defineLocale('th', {
+    months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
+    monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),
+    monthsParseExact: true,
+    weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
+    weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
+    weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'H:mm',
+        LTS : 'H:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY เวลา H:mm',
+        LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'
+    },
+    meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
+    isPM: function (input) {
+        return input === 'หลังเที่ยง';
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'ก่อนเที่ยง';
+        } else {
+            return 'หลังเที่ยง';
+        }
+    },
+    calendar : {
+        sameDay : '[วันนี้ เวลา] LT',
+        nextDay : '[พรุ่งนี้ เวลา] LT',
+        nextWeek : 'dddd[หน้า เวลา] LT',
+        lastDay : '[เมื่อวานนี้ เวลา] LT',
+        lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'อีก %s',
+        past : '%sที่แล้ว',
+        s : 'ไม่กี่วินาที',
+        ss : '%d วินาที',
+        m : '1 นาที',
+        mm : '%d นาที',
+        h : '1 ชั่วโมง',
+        hh : '%d ชั่วโมง',
+        d : '1 วัน',
+        dd : '%d วัน',
+        M : '1 เดือน',
+        MM : '%d เดือน',
+        y : '1 ปี',
+        yy : '%d ปี'
+    }
+});
diff --git a/public/bower_components/moment/src/locale/tl-ph.js b/public/bower_components/moment/src/locale/tl-ph.js
new file mode 100644
index 0000000..26c4824
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tl-ph.js
@@ -0,0 +1,54 @@
+//! moment.js locale configuration
+//! locale : Tagalog (Philippines) [tl-ph]
+//! author : Dan Hagman : https://github.com/hagmandan
+
+import moment from '../moment';
+
+export default moment.defineLocale('tl-ph', {
+    months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
+    monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
+    weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
+    weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
+    weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'MM/D/YYYY',
+        LL : 'MMMM D, YYYY',
+        LLL : 'MMMM D, YYYY HH:mm',
+        LLLL : 'dddd, MMMM DD, YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: 'LT [ngayong araw]',
+        nextDay: '[Bukas ng] LT',
+        nextWeek: 'LT [sa susunod na] dddd',
+        lastDay: 'LT [kahapon]',
+        lastWeek: 'LT [noong nakaraang] dddd',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'sa loob ng %s',
+        past : '%s ang nakalipas',
+        s : 'ilang segundo',
+        ss : '%d segundo',
+        m : 'isang minuto',
+        mm : '%d minuto',
+        h : 'isang oras',
+        hh : '%d oras',
+        d : 'isang araw',
+        dd : '%d araw',
+        M : 'isang buwan',
+        MM : '%d buwan',
+        y : 'isang taon',
+        yy : '%d taon'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}/,
+    ordinal : function (number) {
+        return number;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/tlh.js b/public/bower_components/moment/src/locale/tlh.js
new file mode 100644
index 0000000..324edc6
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tlh.js
@@ -0,0 +1,113 @@
+//! moment.js locale configuration
+//! locale : Klingon [tlh]
+//! author : Dominika Kruk : https://github.com/amaranthrose
+
+import moment from '../moment';
+
+var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
+
+function translateFuture(output) {
+    var time = output;
+    time = (output.indexOf('jaj') !== -1) ?
+    time.slice(0, -3) + 'leS' :
+    (output.indexOf('jar') !== -1) ?
+    time.slice(0, -3) + 'waQ' :
+    (output.indexOf('DIS') !== -1) ?
+    time.slice(0, -3) + 'nem' :
+    time + ' pIq';
+    return time;
+}
+
+function translatePast(output) {
+    var time = output;
+    time = (output.indexOf('jaj') !== -1) ?
+    time.slice(0, -3) + 'Hu’' :
+    (output.indexOf('jar') !== -1) ?
+    time.slice(0, -3) + 'wen' :
+    (output.indexOf('DIS') !== -1) ?
+    time.slice(0, -3) + 'ben' :
+    time + ' ret';
+    return time;
+}
+
+function translate(number, withoutSuffix, string, isFuture) {
+    var numberNoun = numberAsNoun(number);
+    switch (string) {
+        case 'ss':
+            return numberNoun + ' lup';
+        case 'mm':
+            return numberNoun + ' tup';
+        case 'hh':
+            return numberNoun + ' rep';
+        case 'dd':
+            return numberNoun + ' jaj';
+        case 'MM':
+            return numberNoun + ' jar';
+        case 'yy':
+            return numberNoun + ' DIS';
+    }
+}
+
+function numberAsNoun(number) {
+    var hundred = Math.floor((number % 1000) / 100),
+    ten = Math.floor((number % 100) / 10),
+    one = number % 10,
+    word = '';
+    if (hundred > 0) {
+        word += numbersNouns[hundred] + 'vatlh';
+    }
+    if (ten > 0) {
+        word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
+    }
+    if (one > 0) {
+        word += ((word !== '') ? ' ' : '') + numbersNouns[one];
+    }
+    return (word === '') ? 'pagh' : word;
+}
+
+export default moment.defineLocale('tlh', {
+    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('_'),
+    monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+    weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+    weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[DaHjaj] LT',
+        nextDay: '[wa’leS] LT',
+        nextWeek: 'LLL',
+        lastDay: '[wa’Hu’] LT',
+        lastWeek: 'LLL',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : translateFuture,
+        past : translatePast,
+        s : 'puS lup',
+        ss : translate,
+        m : 'wa’ tup',
+        mm : translate,
+        h : 'wa’ rep',
+        hh : translate,
+        d : 'wa’ jaj',
+        dd : translate,
+        M : 'wa’ jar',
+        MM : translate,
+        y : 'wa’ DIS',
+        yy : translate
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/tr.js b/public/bower_components/moment/src/locale/tr.js
new file mode 100644
index 0000000..1eaa700
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tr.js
@@ -0,0 +1,90 @@
+
+//! moment.js locale configuration
+//! locale : Turkish [tr]
+//! authors : Erhan Gundogan : https://github.com/erhangundogan,
+//!           Burak YiÄŸit Kaya: https://github.com/BYK
+
+import moment from '../moment';
+
+var suffixes = {
+    1: '\'inci',
+    5: '\'inci',
+    8: '\'inci',
+    70: '\'inci',
+    80: '\'inci',
+    2: '\'nci',
+    7: '\'nci',
+    20: '\'nci',
+    50: '\'nci',
+    3: '\'üncü',
+    4: '\'üncü',
+    100: '\'üncü',
+    6: '\'ncı',
+    9: '\'uncu',
+    10: '\'uncu',
+    30: '\'uncu',
+    60: '\'ıncı',
+    90: '\'ıncı'
+};
+
+export default moment.defineLocale('tr', {
+    months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
+    monthsShort : 'Oca_Åžub_Mar_Nis_May_Haz_Tem_AÄŸu_Eyl_Eki_Kas_Ara'.split('_'),
+    weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
+    weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
+    weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[bugün saat] LT',
+        nextDay : '[yarın saat] LT',
+        nextWeek : '[gelecek] dddd [saat] LT',
+        lastDay : '[dün] LT',
+        lastWeek : '[geçen] dddd [saat] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s sonra',
+        past : '%s önce',
+        s : 'birkaç saniye',
+        ss : '%d saniye',
+        m : 'bir dakika',
+        mm : '%d dakika',
+        h : 'bir saat',
+        hh : '%d saat',
+        d : 'bir gün',
+        dd : '%d gün',
+        M : 'bir ay',
+        MM : '%d ay',
+        y : 'bir yıl',
+        yy : '%d yıl'
+    },
+    ordinal: function (number, period) {
+        switch (period) {
+            case 'd':
+            case 'D':
+            case 'Do':
+            case 'DD':
+                return number;
+            default:
+                if (number === 0) {  // special case for zero
+                    return number + '\'ıncı';
+                }
+                var a = number % 10,
+                    b = number % 100 - a,
+                    c = number >= 100 ? 100 : null;
+                return number + (suffixes[a] || suffixes[b] || suffixes[c]);
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/tzl.js b/public/bower_components/moment/src/locale/tzl.js
new file mode 100644
index 0000000..2a59458
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tzl.js
@@ -0,0 +1,84 @@
+//! moment.js locale configuration
+//! locale : Talossan [tzl]
+//! author : Robin van der Vliet : https://github.com/robin0van0der0v
+//! author : Iustì Canun
+
+import moment from '../moment';
+
+// After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
+// This is currently too difficult (maybe even impossible) to add.
+export default moment.defineLocale('tzl', {
+    months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
+    monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
+    weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
+    weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
+    weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
+    longDateFormat : {
+        LT : 'HH.mm',
+        LTS : 'HH.mm.ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D. MMMM [dallas] YYYY',
+        LLL : 'D. MMMM [dallas] YYYY HH.mm',
+        LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
+    },
+    meridiemParse: /d\'o|d\'a/i,
+    isPM : function (input) {
+        return 'd\'o' === input.toLowerCase();
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours > 11) {
+            return isLower ? 'd\'o' : 'D\'O';
+        } else {
+            return isLower ? 'd\'a' : 'D\'A';
+        }
+    },
+    calendar : {
+        sameDay : '[oxhi à] LT',
+        nextDay : '[demà à] LT',
+        nextWeek : 'dddd [à] LT',
+        lastDay : '[ieiri à] LT',
+        lastWeek : '[sür el] dddd [lasteu à] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'osprei %s',
+        past : 'ja%s',
+        s : processRelativeTime,
+        ss : processRelativeTime,
+        m : processRelativeTime,
+        mm : processRelativeTime,
+        h : processRelativeTime,
+        hh : processRelativeTime,
+        d : processRelativeTime,
+        dd : processRelativeTime,
+        M : processRelativeTime,
+        MM : processRelativeTime,
+        y : processRelativeTime,
+        yy : processRelativeTime
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}\./,
+    ordinal : '%d.',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
+    var format = {
+        's': ['viensas secunds', '\'iensas secunds'],
+        'ss': [number + ' secunds', '' + number + ' secunds'],
+        'm': ['\'n míut', '\'iens míut'],
+        'mm': [number + ' míuts', '' + number + ' míuts'],
+        'h': ['\'n þora', '\'iensa þora'],
+        'hh': [number + ' þoras', '' + number + ' þoras'],
+        'd': ['\'n ziua', '\'iensa ziua'],
+        'dd': [number + ' ziuas', '' + number + ' ziuas'],
+        'M': ['\'n mes', '\'iens mes'],
+        'MM': [number + ' mesen', '' + number + ' mesen'],
+        'y': ['\'n ar', '\'iens ar'],
+        'yy': [number + ' ars', '' + number + ' ars']
+    };
+    return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
+}
+
diff --git a/public/bower_components/moment/src/locale/tzm-latn.js b/public/bower_components/moment/src/locale/tzm-latn.js
new file mode 100644
index 0000000..6adf550
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tzm-latn.js
@@ -0,0 +1,50 @@
+//! moment.js locale configuration
+//! locale : Central Atlas Tamazight Latin [tzm-latn]
+//! author : Abdel Said : https://github.com/abdelsaid
+
+import moment from '../moment';
+
+export default moment.defineLocale('tzm-latn', {
+    months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+    monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
+    weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+    weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+    weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[asdkh g] LT',
+        nextDay: '[aska g] LT',
+        nextWeek: 'dddd [g] LT',
+        lastDay: '[assant g] LT',
+        lastWeek: 'dddd [g] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'dadkh s yan %s',
+        past : 'yan %s',
+        s : 'imik',
+        ss : '%d imik',
+        m : 'minuḍ',
+        mm : '%d minuḍ',
+        h : 'saɛa',
+        hh : '%d tassaɛin',
+        d : 'ass',
+        dd : '%d ossan',
+        M : 'ayowr',
+        MM : '%d iyyirn',
+        y : 'asgas',
+        yy : '%d isgasn'
+    },
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/tzm.js b/public/bower_components/moment/src/locale/tzm.js
new file mode 100644
index 0000000..ae7651d
--- /dev/null
+++ b/public/bower_components/moment/src/locale/tzm.js
@@ -0,0 +1,50 @@
+//! moment.js locale configuration
+//! locale : Central Atlas Tamazight [tzm]
+//! author : Abdel Said : https://github.com/abdelsaid
+
+import moment from '../moment';
+
+export default moment.defineLocale('tzm', {
+    months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+    monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
+    weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+    weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+    weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
+        nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
+        nextWeek: 'dddd [â´´] LT',
+        lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
+        lastWeek: 'dddd [â´´] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
+        past : 'ⵢⴰⵏ %s',
+        s : 'ⵉⵎⵉⴽ',
+        ss : '%d ⵉⵎⵉⴽ',
+        m : 'ⵎⵉⵏⵓⴺ',
+        mm : '%d ⵎⵉⵏⵓⴺ',
+        h : 'ⵙⴰⵄⴰ',
+        hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
+        d : 'ⴰⵙⵙ',
+        dd : '%d oⵙⵙⴰⵏ',
+        M : 'ⴰⵢoⵓⵔ',
+        MM : '%d ⵉⵢⵢⵉⵔⵏ',
+        y : 'ⴰⵙⴳⴰⵙ',
+        yy : '%d ⵉⵙⴳⴰⵙⵏ'
+    },
+    week : {
+        dow : 6, // Saturday is the first day of the week.
+        doy : 12  // The week that contains Jan 12th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/ug-cn.js b/public/bower_components/moment/src/locale/ug-cn.js
new file mode 100644
index 0000000..5a9a9fc
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ug-cn.js
@@ -0,0 +1,110 @@
+//! moment.js language configuration
+//! locale : Uyghur (China) [ug-cn]
+//! author: boyaq : https://github.com/boyaq
+
+import moment from '../moment';
+
+export default moment.defineLocale('ug-cn', {
+    months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+        '_'
+    ),
+    monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(
+        '_'
+    ),
+    weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(
+        '_'
+    ),
+    weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+    weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),
+    longDateFormat: {
+        LT: 'HH:mm',
+        LTS: 'HH:mm:ss',
+        L: 'YYYY-MM-DD',
+        LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',
+        LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',
+        LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'
+    },
+    meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,
+    meridiemHour: function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (
+            meridiem === 'يېرىم كېچە' ||
+            meridiem === 'سەھەر' ||
+            meridiem === 'چۈشتىن بۇرۇن'
+        ) {
+            return hour;
+        } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {
+            return hour + 12;
+        } else {
+            return hour >= 11 ? hour : hour + 12;
+        }
+    },
+    meridiem: function (hour, minute, isLower) {
+        var hm = hour * 100 + minute;
+        if (hm < 600) {
+            return 'يېرىم كېچە';
+        } else if (hm < 900) {
+            return 'سەھەر';
+        } else if (hm < 1130) {
+            return 'چۈشتىن بۇرۇن';
+        } else if (hm < 1230) {
+            return 'چۈش';
+        } else if (hm < 1800) {
+            return 'چۈشتىن كېيىن';
+        } else {
+            return 'ÙƒÛ•Ú†';
+        }
+    },
+    calendar: {
+        sameDay: '[بۈگۈن سائەت] LT',
+        nextDay: '[ئەتە سائەت] LT',
+        nextWeek: '[كېلەركى] dddd [سائەت] LT',
+        lastDay: '[تۆنۈگۈن] LT',
+        lastWeek: '[ئالدىنقى] dddd [سائەت] LT',
+        sameElse: 'L'
+    },
+    relativeTime: {
+        future: '%s كېيىن',
+        past: '%s بۇرۇن',
+        s: 'نەچچە سېكونت',
+        ss: '%d سېكونت',
+        m: 'بىر مىنۇت',
+        mm: '%d مىنۇت',
+        h: 'بىر سائەت',
+        hh: '%d سائەت',
+        d: 'بىر كۈن',
+        dd: '%d ÙƒÛˆÙ†',
+        M: 'بىر ئاي',
+        MM: '%d ئاي',
+        y: 'بىر يىل',
+        yy: '%d يىل'
+    },
+
+    dayOfMonthOrdinalParse: /\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,
+    ordinal: function (number, period) {
+        switch (period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return number + '-كۈنى';
+            case 'w':
+            case 'W':
+                return number + '-ھەپتە';
+            default:
+                return number;
+        }
+    },
+    preparse: function (string) {
+        return string.replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/,/g, '،');
+    },
+    week: {
+        // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+        dow: 1, // Monday is the first day of the week.
+        doy: 7 // The week that contains Jan 1st is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/uk.js b/public/bower_components/moment/src/locale/uk.js
new file mode 100644
index 0000000..6b18bed
--- /dev/null
+++ b/public/bower_components/moment/src/locale/uk.js
@@ -0,0 +1,146 @@
+//! moment.js locale configuration
+//! locale : Ukrainian [uk]
+//! author : zemlanin : https://github.com/zemlanin
+//! Author : Menelion Elensúle : https://github.com/Oire
+
+import moment from '../moment';
+
+function plural(word, num) {
+    var forms = word.split('_');
+    return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
+}
+function relativeTimeWithPlural(number, withoutSuffix, key) {
+    var format = {
+        'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',
+        'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
+        'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
+        'dd': 'день_дні_днів',
+        'MM': 'місяць_місяці_місяців',
+        'yy': 'рік_роки_років'
+    };
+    if (key === 'm') {
+        return withoutSuffix ? 'хвилина' : 'хвилину';
+    }
+    else if (key === 'h') {
+        return withoutSuffix ? 'година' : 'годину';
+    }
+    else {
+        return number + ' ' + plural(format[key], +number);
+    }
+}
+function weekdaysCaseReplace(m, format) {
+    var weekdays = {
+        'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
+        'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
+        'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
+    };
+
+    if (m === true) {
+        return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));
+    }
+    if (!m) {
+        return weekdays['nominative'];
+    }
+
+    var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
+        'accusative' :
+        ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
+            'genitive' :
+            'nominative');
+    return weekdays[nounCase][m.day()];
+}
+function processHoursFunction(str) {
+    return function () {
+        return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
+    };
+}
+
+export default moment.defineLocale('uk', {
+    months : {
+        'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
+        'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
+    },
+    monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
+    weekdays : weekdaysCaseReplace,
+    weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+    weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD.MM.YYYY',
+        LL : 'D MMMM YYYY р.',
+        LLL : 'D MMMM YYYY р., HH:mm',
+        LLLL : 'dddd, D MMMM YYYY р., HH:mm'
+    },
+    calendar : {
+        sameDay: processHoursFunction('[Сьогодні '),
+        nextDay: processHoursFunction('[Завтра '),
+        lastDay: processHoursFunction('[Вчора '),
+        nextWeek: processHoursFunction('[У] dddd ['),
+        lastWeek: function () {
+            switch (this.day()) {
+                case 0:
+                case 3:
+                case 5:
+                case 6:
+                    return processHoursFunction('[Минулої] dddd [').call(this);
+                case 1:
+                case 2:
+                case 4:
+                    return processHoursFunction('[Минулого] dddd [').call(this);
+            }
+        },
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : 'за %s',
+        past : '%s тому',
+        s : 'декілька секунд',
+        ss : relativeTimeWithPlural,
+        m : relativeTimeWithPlural,
+        mm : relativeTimeWithPlural,
+        h : 'годину',
+        hh : relativeTimeWithPlural,
+        d : 'день',
+        dd : relativeTimeWithPlural,
+        M : 'місяць',
+        MM : relativeTimeWithPlural,
+        y : 'рік',
+        yy : relativeTimeWithPlural
+    },
+    // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
+    meridiemParse: /ночі|ранку|дня|вечора/,
+    isPM: function (input) {
+        return /^(дня|вечора)$/.test(input);
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 4) {
+            return 'ночі';
+        } else if (hour < 12) {
+            return 'ранку';
+        } else if (hour < 17) {
+            return 'дня';
+        } else {
+            return 'вечора';
+        }
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/,
+    ordinal: function (number, period) {
+        switch (period) {
+            case 'M':
+            case 'd':
+            case 'DDD':
+            case 'w':
+            case 'W':
+                return number + '-й';
+            case 'D':
+                return number + '-го';
+            default:
+                return number;
+        }
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/ur.js b/public/bower_components/moment/src/locale/ur.js
new file mode 100644
index 0000000..56f1818
--- /dev/null
+++ b/public/bower_components/moment/src/locale/ur.js
@@ -0,0 +1,90 @@
+//! moment.js locale configuration
+//! locale : Urdu [ur]
+//! author : Sawood Alam : https://github.com/ibnesayeed
+//! author : Zack : https://github.com/ZackVision
+
+import moment from '../moment';
+
+var months = [
+    'جنوری',
+    'فروری',
+    'مارچ',
+    'اپریل',
+    'مئی',
+    'جون',
+    'جولائی',
+    'اگست',
+    'ستمبر',
+    'اکتوبر',
+    'نومبر',
+    'دسمبر'
+];
+var days = [
+    'اتوار',
+    'پیر',
+    'منگل',
+    'بدھ',
+    'جمعرات',
+    'جمعہ',
+    'ہفتہ'
+];
+
+export default moment.defineLocale('ur', {
+    months : months,
+    monthsShort : months,
+    weekdays : days,
+    weekdaysShort : days,
+    weekdaysMin : days,
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd، D MMMM YYYY HH:mm'
+    },
+    meridiemParse: /صبح|شام/,
+    isPM : function (input) {
+        return 'شام' === input;
+    },
+    meridiem : function (hour, minute, isLower) {
+        if (hour < 12) {
+            return 'صبح';
+        }
+        return 'شام';
+    },
+    calendar : {
+        sameDay : '[آج بوقت] LT',
+        nextDay : '[کل بوقت] LT',
+        nextWeek : 'dddd [بوقت] LT',
+        lastDay : '[گذشتہ روز بوقت] LT',
+        lastWeek : '[گذشتہ] dddd [بوقت] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : '%s بعد',
+        past : '%s قبل',
+        s : 'چند سیکنڈ',
+        ss : '%d سیکنڈ',
+        m : 'ایک منٹ',
+        mm : '%d منٹ',
+        h : 'ایک گھنٹہ',
+        hh : '%d گھنٹے',
+        d : 'ایک دن',
+        dd : '%d دن',
+        M : 'ایک ماہ',
+        MM : '%d ماہ',
+        y : 'ایک سال',
+        yy : '%d سال'
+    },
+    preparse: function (string) {
+        return string.replace(/،/g, ',');
+    },
+    postformat: function (string) {
+        return string.replace(/,/g, '،');
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/uz-latn.js b/public/bower_components/moment/src/locale/uz-latn.js
new file mode 100644
index 0000000..7dda237
--- /dev/null
+++ b/public/bower_components/moment/src/locale/uz-latn.js
@@ -0,0 +1,50 @@
+//! moment.js locale configuration
+//! locale : Uzbek Latin [uz-latn]
+//! author : Rasulbek Mirzayev : github.com/Rasulbeeek
+
+import moment from '../moment';
+
+export default moment.defineLocale('uz-latn', {
+    months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),
+    monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),
+    weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),
+    weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),
+    weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'D MMMM YYYY, dddd HH:mm'
+    },
+    calendar : {
+        sameDay : '[Bugun soat] LT [da]',
+        nextDay : '[Ertaga] LT [da]',
+        nextWeek : 'dddd [kuni soat] LT [da]',
+        lastDay : '[Kecha soat] LT [da]',
+        lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'Yaqin %s ichida',
+        past : 'Bir necha %s oldin',
+        s : 'soniya',
+        ss : '%d soniya',
+        m : 'bir daqiqa',
+        mm : '%d daqiqa',
+        h : 'bir soat',
+        hh : '%d soat',
+        d : 'bir kun',
+        dd : '%d kun',
+        M : 'bir oy',
+        MM : '%d oy',
+        y : 'bir yil',
+        yy : '%d yil'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 7th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/uz.js b/public/bower_components/moment/src/locale/uz.js
new file mode 100644
index 0000000..ff0f7ca
--- /dev/null
+++ b/public/bower_components/moment/src/locale/uz.js
@@ -0,0 +1,50 @@
+//! moment.js locale configuration
+//! locale : Uzbek [uz]
+//! author : Sardor Muminov : https://github.com/muminoff
+
+import moment from '../moment';
+
+export default moment.defineLocale('uz', {
+    months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
+    monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
+    weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
+    weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
+    weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'D MMMM YYYY, dddd HH:mm'
+    },
+    calendar : {
+        sameDay : '[Бугун соат] LT [да]',
+        nextDay : '[Эртага] LT [да]',
+        nextWeek : 'dddd [куни соат] LT [да]',
+        lastDay : '[Кеча соат] LT [да]',
+        lastWeek : '[Утган] dddd [куни соат] LT [да]',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'Якин %s ичида',
+        past : 'Бир неча %s олдин',
+        s : 'фурсат',
+        ss : '%d фурсат',
+        m : 'бир дакика',
+        mm : '%d дакика',
+        h : 'бир соат',
+        hh : '%d соат',
+        d : 'бир кун',
+        dd : '%d кун',
+        M : 'бир ой',
+        MM : '%d ой',
+        y : 'бир йил',
+        yy : '%d йил'
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 7  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/vi.js b/public/bower_components/moment/src/locale/vi.js
new file mode 100644
index 0000000..ad7f4b0
--- /dev/null
+++ b/public/bower_components/moment/src/locale/vi.js
@@ -0,0 +1,71 @@
+//! moment.js locale configuration
+//! locale : Vietnamese [vi]
+//! author : Bang Nguyen : https://github.com/bangnk
+
+import moment from '../moment';
+
+export default moment.defineLocale('vi', {
+    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('_'),
+    monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
+    weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+    weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
+    weekdaysParseExact : true,
+    meridiemParse: /sa|ch/i,
+    isPM : function (input) {
+        return /^ch$/i.test(input);
+    },
+    meridiem : function (hours, minutes, isLower) {
+        if (hours < 12) {
+            return isLower ? 'sa' : 'SA';
+        } else {
+            return isLower ? 'ch' : 'CH';
+        }
+    },
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM [năm] YYYY',
+        LLL : 'D MMMM [năm] YYYY HH:mm',
+        LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
+        l : 'DD/M/YYYY',
+        ll : 'D MMM YYYY',
+        lll : 'D MMM YYYY HH:mm',
+        llll : 'ddd, D MMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay: '[Hôm nay lúc] LT',
+        nextDay: '[Ngày mai lúc] LT',
+        nextWeek: 'dddd [tuần tới lúc] LT',
+        lastDay: '[Hôm qua lúc] LT',
+        lastWeek: 'dddd [tuần rồi lúc] LT',
+        sameElse: 'L'
+    },
+    relativeTime : {
+        future : '%s tá»›i',
+        past : '%s trước',
+        s : 'vài giây',
+        ss : '%d giây' ,
+        m : 'một phút',
+        mm : '%d phút',
+        h : 'một giờ',
+        hh : '%d giờ',
+        d : 'một ngày',
+        dd : '%d ngày',
+        M : 'một tháng',
+        MM : '%d tháng',
+        y : 'một năm',
+        yy : '%d năm'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}/,
+    ordinal : function (number) {
+        return number;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
+
diff --git a/public/bower_components/moment/src/locale/x-pseudo.js b/public/bower_components/moment/src/locale/x-pseudo.js
new file mode 100644
index 0000000..c50320d
--- /dev/null
+++ b/public/bower_components/moment/src/locale/x-pseudo.js
@@ -0,0 +1,59 @@
+//! moment.js locale configuration
+//! locale : Pseudo [x-pseudo]
+//! author : Andrew Hood : https://github.com/andrewhood125
+
+import moment from '../moment';
+
+export default moment.defineLocale('x-pseudo', {
+    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('_'),
+    monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),
+    monthsParseExact : true,
+    weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),
+    weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),
+    weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),
+    weekdaysParseExact : true,
+    longDateFormat : {
+        LT : 'HH:mm',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY HH:mm',
+        LLLL : 'dddd, D MMMM YYYY HH:mm'
+    },
+    calendar : {
+        sameDay : '[T~ódá~ý át] LT',
+        nextDay : '[T~ómó~rró~w át] LT',
+        nextWeek : 'dddd [át] LT',
+        lastDay : '[Ý~ést~érdá~ý át] LT',
+        lastWeek : '[L~ást] dddd [át] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'í~ñ %s',
+        past : '%s á~gó',
+        s : 'á ~féw ~sécó~ñds',
+        ss : '%d s~écóñ~ds',
+        m : 'á ~míñ~úté',
+        mm : '%d m~íñú~tés',
+        h : 'á~ñ hó~úr',
+        hh : '%d h~óúrs',
+        d : 'á ~dáý',
+        dd : '%d d~áýs',
+        M : 'á ~móñ~th',
+        MM : '%d m~óñt~hs',
+        y : 'á ~ýéár',
+        yy : '%d ý~éárs'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/,
+    ordinal : function (number) {
+        var b = number % 10,
+            output = (~~(number % 100 / 10) === 1) ? 'th' :
+            (b === 1) ? 'st' :
+            (b === 2) ? 'nd' :
+            (b === 3) ? 'rd' : 'th';
+        return number + output;
+    },
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/yo.js b/public/bower_components/moment/src/locale/yo.js
new file mode 100644
index 0000000..dcd6cd2
--- /dev/null
+++ b/public/bower_components/moment/src/locale/yo.js
@@ -0,0 +1,51 @@
+//! moment.js locale configuration
+//! locale : Yoruba Nigeria [yo]
+//! author : Atolagbe Abisoye : https://github.com/andela-batolagbe
+
+import moment from '../moment';
+
+export default moment.defineLocale('yo', {
+    months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),
+    monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),
+    weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),
+    weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),
+    weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),
+    longDateFormat : {
+        LT : 'h:mm A',
+        LTS : 'h:mm:ss A',
+        L : 'DD/MM/YYYY',
+        LL : 'D MMMM YYYY',
+        LLL : 'D MMMM YYYY h:mm A',
+        LLLL : 'dddd, D MMMM YYYY h:mm A'
+    },
+    calendar : {
+        sameDay : '[Ònì ni] LT',
+        nextDay : '[Ọ̀la ni] LT',
+        nextWeek : 'dddd [Ọsẹ̀ tón\'bọ] [ni] LT',
+        lastDay : '[AÌ€na ni] LT',
+        lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',
+        sameElse : 'L'
+    },
+    relativeTime : {
+        future : 'ní %s',
+        past : '%s kọjá',
+        s : 'ìsẹjú aayá die',
+        ss :'aayá %d',
+        m : 'ìsẹjú kan',
+        mm : 'ìsẹjú %d',
+        h : 'wákati kan',
+        hh : 'wákati %d',
+        d : 'ọjọ́ kan',
+        dd : 'ọjọ́ %d',
+        M : 'osù kan',
+        MM : 'osù %d',
+        y : 'ọdún kan',
+        yy : 'ọdún %d'
+    },
+    dayOfMonthOrdinalParse : /ọjọ́\s\d{1,2}/,
+    ordinal : 'ọjọ́ %d',
+    week : {
+        dow : 1, // Monday is the first day of the week.
+        doy : 4 // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/zh-cn.js b/public/bower_components/moment/src/locale/zh-cn.js
new file mode 100644
index 0000000..d9e6e7e
--- /dev/null
+++ b/public/bower_components/moment/src/locale/zh-cn.js
@@ -0,0 +1,102 @@
+//! moment.js locale configuration
+//! locale : Chinese (China) [zh-cn]
+//! author : suupic : https://github.com/suupic
+//! author : Zeno Zeng : https://github.com/zenozeng
+
+import moment from '../moment';
+
+export default moment.defineLocale('zh-cn', {
+    months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+    monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+    weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+    weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
+    weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY/MM/DD',
+        LL : 'YYYY年M月D日',
+        LLL : 'YYYY年M月D日Ah点mm分',
+        LLLL : 'YYYY年M月D日ddddAh点mm分',
+        l : 'YYYY/M/D',
+        ll : 'YYYY年M月D日',
+        lll : 'YYYY年M月D日 HH:mm',
+        llll : 'YYYY年M月D日dddd HH:mm'
+    },
+    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+    meridiemHour: function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === '凌晨' || meridiem === '早上' ||
+                meridiem === '上午') {
+            return hour;
+        } else if (meridiem === '下午' || meridiem === '晚上') {
+            return hour + 12;
+        } else {
+            // '中午'
+            return hour >= 11 ? hour : hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        var hm = hour * 100 + minute;
+        if (hm < 600) {
+            return '凌晨';
+        } else if (hm < 900) {
+            return '早上';
+        } else if (hm < 1130) {
+            return '上午';
+        } else if (hm < 1230) {
+            return '中午';
+        } else if (hm < 1800) {
+            return '下午';
+        } else {
+            return '晚上';
+        }
+    },
+    calendar : {
+        sameDay : '[今天]LT',
+        nextDay : '[明天]LT',
+        nextWeek : '[下]ddddLT',
+        lastDay : '[昨天]LT',
+        lastWeek : '[上]ddddLT',
+        sameElse : 'L'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(日|月|周)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            case 'd':
+            case 'D':
+            case 'DDD':
+                return number + 'æ—¥';
+            case 'M':
+                return number + '月';
+            case 'w':
+            case 'W':
+                return number + '周';
+            default:
+                return number;
+        }
+    },
+    relativeTime : {
+        future : '%s内',
+        past : '%s前',
+        s : '几秒',
+        ss : '%d ç§’',
+        m : '1 分钟',
+        mm : '%d 分钟',
+        h : '1 小时',
+        hh : '%d 小时',
+        d : '1 天',
+        dd : '%d 天',
+        M : '1 个月',
+        MM : '%d 个月',
+        y : '1 å¹´',
+        yy : '%d å¹´'
+    },
+    week : {
+        // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
+        dow : 1, // Monday is the first day of the week.
+        doy : 4  // The week that contains Jan 4th is the first week of the year.
+    }
+});
diff --git a/public/bower_components/moment/src/locale/zh-hk.js b/public/bower_components/moment/src/locale/zh-hk.js
new file mode 100644
index 0000000..9943541
--- /dev/null
+++ b/public/bower_components/moment/src/locale/zh-hk.js
@@ -0,0 +1,96 @@
+//! moment.js locale configuration
+//! locale : Chinese (Hong Kong) [zh-hk]
+//! author : Ben : https://github.com/ben-lin
+//! author : Chris Lam : https://github.com/hehachris
+//! author : Konstantin : https://github.com/skfd
+
+import moment from '../moment';
+
+export default moment.defineLocale('zh-hk', {
+    months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+    monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+    weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+    weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+    weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY/MM/DD',
+        LL : 'YYYY年M月D日',
+        LLL : 'YYYY年M月D日 HH:mm',
+        LLLL : 'YYYY年M月D日dddd HH:mm',
+        l : 'YYYY/M/D',
+        ll : 'YYYY年M月D日',
+        lll : 'YYYY年M月D日 HH:mm',
+        llll : 'YYYY年M月D日dddd HH:mm'
+    },
+    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+            return hour;
+        } else if (meridiem === '中午') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === '下午' || meridiem === '晚上') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        var hm = hour * 100 + minute;
+        if (hm < 600) {
+            return '凌晨';
+        } else if (hm < 900) {
+            return '早上';
+        } else if (hm < 1130) {
+            return '上午';
+        } else if (hm < 1230) {
+            return '中午';
+        } else if (hm < 1800) {
+            return '下午';
+        } else {
+            return '晚上';
+        }
+    },
+    calendar : {
+        sameDay : '[今天]LT',
+        nextDay : '[明天]LT',
+        nextWeek : '[下]ddddLT',
+        lastDay : '[昨天]LT',
+        lastWeek : '[上]ddddLT',
+        sameElse : 'L'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            case 'd' :
+            case 'D' :
+            case 'DDD' :
+                return number + 'æ—¥';
+            case 'M' :
+                return number + '月';
+            case 'w' :
+            case 'W' :
+                return number + '週';
+            default :
+                return number;
+        }
+    },
+    relativeTime : {
+        future : '%så…§',
+        past : '%s前',
+        s : '幾秒',
+        ss : '%d ç§’',
+        m : '1 分鐘',
+        mm : '%d 分鐘',
+        h : '1 小時',
+        hh : '%d 小時',
+        d : '1 天',
+        dd : '%d 天',
+        M : '1 個月',
+        MM : '%d 個月',
+        y : '1 å¹´',
+        yy : '%d å¹´'
+    }
+});
diff --git a/public/bower_components/moment/src/locale/zh-tw.js b/public/bower_components/moment/src/locale/zh-tw.js
new file mode 100644
index 0000000..5ad0d9c
--- /dev/null
+++ b/public/bower_components/moment/src/locale/zh-tw.js
@@ -0,0 +1,95 @@
+//! moment.js locale configuration
+//! locale : Chinese (Taiwan) [zh-tw]
+//! author : Ben : https://github.com/ben-lin
+//! author : Chris Lam : https://github.com/hehachris
+
+import moment from '../moment';
+
+export default moment.defineLocale('zh-tw', {
+    months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
+    monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
+    weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
+    weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
+    weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
+    longDateFormat : {
+        LT : 'HH:mm',
+        LTS : 'HH:mm:ss',
+        L : 'YYYY/MM/DD',
+        LL : 'YYYY年M月D日',
+        LLL : 'YYYY年M月D日 HH:mm',
+        LLLL : 'YYYY年M月D日dddd HH:mm',
+        l : 'YYYY/M/D',
+        ll : 'YYYY年M月D日',
+        lll : 'YYYY年M月D日 HH:mm',
+        llll : 'YYYY年M月D日dddd HH:mm'
+    },
+    meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
+    meridiemHour : function (hour, meridiem) {
+        if (hour === 12) {
+            hour = 0;
+        }
+        if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {
+            return hour;
+        } else if (meridiem === '中午') {
+            return hour >= 11 ? hour : hour + 12;
+        } else if (meridiem === '下午' || meridiem === '晚上') {
+            return hour + 12;
+        }
+    },
+    meridiem : function (hour, minute, isLower) {
+        var hm = hour * 100 + minute;
+        if (hm < 600) {
+            return '凌晨';
+        } else if (hm < 900) {
+            return '早上';
+        } else if (hm < 1130) {
+            return '上午';
+        } else if (hm < 1230) {
+            return '中午';
+        } else if (hm < 1800) {
+            return '下午';
+        } else {
+            return '晚上';
+        }
+    },
+    calendar : {
+        sameDay : '[今天] LT',
+        nextDay : '[明天] LT',
+        nextWeek : '[下]dddd LT',
+        lastDay : '[昨天] LT',
+        lastWeek : '[上]dddd LT',
+        sameElse : 'L'
+    },
+    dayOfMonthOrdinalParse: /\d{1,2}(日|月|週)/,
+    ordinal : function (number, period) {
+        switch (period) {
+            case 'd' :
+            case 'D' :
+            case 'DDD' :
+                return number + 'æ—¥';
+            case 'M' :
+                return number + '月';
+            case 'w' :
+            case 'W' :
+                return number + '週';
+            default :
+                return number;
+        }
+    },
+    relativeTime : {
+        future : '%så…§',
+        past : '%s前',
+        s : '幾秒',
+        ss : '%d ç§’',
+        m : '1 分鐘',
+        mm : '%d 分鐘',
+        h : '1 小時',
+        hh : '%d 小時',
+        d : '1 天',
+        dd : '%d 天',
+        M : '1 個月',
+        MM : '%d 個月',
+        y : '1 å¹´',
+        yy : '%d å¹´'
+    }
+});
diff --git a/public/bower_components/moment/src/moment.js b/public/bower_components/moment/src/moment.js
new file mode 100644
index 0000000..14e64e9
--- /dev/null
+++ b/public/bower_components/moment/src/moment.js
@@ -0,0 +1,95 @@
+//! moment.js
+//! version : 2.24.0
+//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
+//! license : MIT
+//! momentjs.com
+
+import { hooks as moment, setHookCallback } from './lib/utils/hooks';
+
+moment.version = '2.24.0';
+
+import {
+    min,
+    max,
+    now,
+    isMoment,
+    momentPrototype as fn,
+    createUTC       as utc,
+    createUnix      as unix,
+    createLocal     as local,
+    createInvalid   as invalid,
+    createInZone    as parseZone
+} from './lib/moment/moment';
+
+import {
+    getCalendarFormat
+} from './lib/moment/calendar';
+
+import {
+    defineLocale,
+    updateLocale,
+    getSetGlobalLocale as locale,
+    getLocale          as localeData,
+    listLocales        as locales,
+    listMonths         as months,
+    listMonthsShort    as monthsShort,
+    listWeekdays       as weekdays,
+    listWeekdaysMin    as weekdaysMin,
+    listWeekdaysShort  as weekdaysShort
+} from './lib/locale/locale';
+
+import {
+    isDuration,
+    createDuration              as duration,
+    getSetRelativeTimeRounding  as relativeTimeRounding,
+    getSetRelativeTimeThreshold as relativeTimeThreshold
+} from './lib/duration/duration';
+
+import { normalizeUnits } from './lib/units/units';
+
+import isDate from './lib/utils/is-date';
+
+setHookCallback(local);
+
+moment.fn                    = fn;
+moment.min                   = min;
+moment.max                   = max;
+moment.now                   = now;
+moment.utc                   = utc;
+moment.unix                  = unix;
+moment.months                = months;
+moment.isDate                = isDate;
+moment.locale                = locale;
+moment.invalid               = invalid;
+moment.duration              = duration;
+moment.isMoment              = isMoment;
+moment.weekdays              = weekdays;
+moment.parseZone             = parseZone;
+moment.localeData            = localeData;
+moment.isDuration            = isDuration;
+moment.monthsShort           = monthsShort;
+moment.weekdaysMin           = weekdaysMin;
+moment.defineLocale          = defineLocale;
+moment.updateLocale          = updateLocale;
+moment.locales               = locales;
+moment.weekdaysShort         = weekdaysShort;
+moment.normalizeUnits        = normalizeUnits;
+moment.relativeTimeRounding  = relativeTimeRounding;
+moment.relativeTimeThreshold = relativeTimeThreshold;
+moment.calendarFormat        = getCalendarFormat;
+moment.prototype             = fn;
+
+// currently HTML5 input type only supports 24-hour formats
+moment.HTML5_FMT = {
+    DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // <input type="datetime-local" />
+    DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // <input type="datetime-local" step="1" />
+    DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // <input type="datetime-local" step="0.001" />
+    DATE: 'YYYY-MM-DD',                             // <input type="date" />
+    TIME: 'HH:mm',                                  // <input type="time" />
+    TIME_SECONDS: 'HH:mm:ss',                       // <input type="time" step="1" />
+    TIME_MS: 'HH:mm:ss.SSS',                        // <input type="time" step="0.001" />
+    WEEK: 'GGGG-[W]WW',                             // <input type="week" />
+    MONTH: 'YYYY-MM'                                // <input type="month" />
+};
+
+export default moment;
diff --git a/public/bower_components/moment/templates/default.js b/public/bower_components/moment/templates/default.js
new file mode 100644
index 0000000..095a78f
--- /dev/null
+++ b/public/bower_components/moment/templates/default.js
@@ -0,0 +1,5 @@
+;(function (global, factory) {
+    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
+    typeof define === 'function' && define.amd ? define(factory) :
+    global.moment = factory()
+}(this, (function () { 'use strict';
diff --git a/public/bower_components/moment/templates/locale-header.js b/public/bower_components/moment/templates/locale-header.js
new file mode 100644
index 0000000..eadcc1d
--- /dev/null
+++ b/public/bower_components/moment/templates/locale-header.js
@@ -0,0 +1,6 @@
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../moment')) :
+   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
diff --git a/public/bower_components/moment/templates/test-header.js b/public/bower_components/moment/templates/test-header.js
new file mode 100644
index 0000000..1b208a3
--- /dev/null
+++ b/public/bower_components/moment/templates/test-header.js
@@ -0,0 +1,6 @@
+;(function (global, factory) {
+   typeof exports === 'object' && typeof module !== 'undefined'
+       && typeof require === 'function' ? factory(require('../../moment')) :
+   typeof define === 'function' && define.amd ? define(['../../moment'], factory) :
+   factory(global.moment)
+}(this, (function (moment) { 'use strict';
diff --git a/public/coba.html b/public/coba.html
new file mode 100644
index 0000000..36746ad
--- /dev/null
+++ b/public/coba.html
@@ -0,0 +1,60 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <title></title>
+    <link href="./css/app.css" rel="stylesheet" media="screen">
+    <link href="./css/bootstrap-datetimepicker.min.css" rel="stylesheet" media="screen">
+</head>
+
+<body>
+	
+	<div class="input-append date form_datetime">
+	    <input size="16" type="text" value="" readonly>
+	    <span class="add-on"><i class="icon-th"></i></span>
+	</div>
+	 
+	<script type="text/javascript">
+	    $(".form_datetime").datetimepicker({
+	        format: "dd MM yyyy - hh:ii"
+	    });
+	</script>  
+
+	<script type="text/javascript" src="./js/app.js" charset="UTF-8"></script>
+	<script type="text/javascript" src="./js/bootstrap-datetimepicker.js" charset="UTF-8"></script>
+	<script type="text/javascript" src="./js/locales/bootstrap-datetimepicker.id.js" charset="UTF-8"></script>
+	<script type="text/javascript">
+	    $('.form_datetime').datetimepicker({
+	        language:  'id',
+	        weekStart: 1,
+	        todayBtn:  1,
+			autoclose: 1,
+			todayHighlight: 1,
+			startView: 2,
+			forceParse: 0,
+	        showMeridian: 1
+	    });
+		$('.form_date').datetimepicker({
+	        language:  'id',
+	        weekStart: 1,
+	        todayBtn:  1,
+			autoclose: 1,
+			todayHighlight: 1,
+			startView: 2,
+			minView: 2,
+			forceParse: 0
+	    });
+		$('.form_time').datetimepicker({
+	        language:  'id',
+	        weekStart: 1,
+	        todayBtn:  1,
+			autoclose: 1,
+			todayHighlight: 1,
+			startView: 1,
+			minView: 0,
+			maxView: 1,
+			forceParse: 0
+	    });
+	</script>
+	
+</body>
+<html>
\ No newline at end of file
diff --git a/public/test.html b/public/test.html
new file mode 100644
index 0000000..a353df4
--- /dev/null
+++ b/public/test.html
@@ -0,0 +1,36 @@
+
+<html>
+<head>
+	<title>Test</title>
+	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
+	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script>
+	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" />	
+	<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
+
+	<!-- Latest compiled and minified CSS -->
+	<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/css/bootstrap.min.css">
+
+	<!-- jQuery library -->
+	<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+
+	<!-- Latest compiled JavaScript -->
+	<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.0/js/bootstrap.min.js"></script>
+</head>
+
+<body>
+	<div class="container">
+	    <div class="row">
+	        <div class="col-sm-6">
+	            <input type="text" class="form-control datetimepicker-input" id="datetimepicker5" data-toggle="datetimepicker" data-target="#datetimepicker5"/>
+	        </div>
+	        <script type="text/javascript">
+	            $(function () {
+	                $('#datetimepicker5').datetimepicker();
+	            });
+	        </script>
+	    </div>
+	</div>
+</body>
+
+</html>
diff --git a/resources/.DS_Store b/resources/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6
GIT binary patch
literal 6148
zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3
zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!(
z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ
zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv
j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I

literal 0
HcmV?d00001

diff --git a/resources/assets/.DS_Store b/resources/assets/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6
GIT binary patch
literal 6148
zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3
zem<@ulZcFPQ@L2!n>{z**<q8>++&mCkOWA81W14cNZ<zv;LbK1Poaz?KmsK2CSc!(
z0ynLxE!0092;Krf2c+FF_Fe*7ECH>lEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ
zLs35+`xjp>T0<F0fCPF1$Cyrb|F7^5{eNG?83~ZUUlGt@xh*qZDeu<Z%US-OSsOPv
j)R!Z4KLME7ReXlK;d!wEw5GODWMKRea10D2@KpjYNUI8I

literal 0
HcmV?d00001

diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php
index d738219..8a11187 100644
--- a/resources/views/layouts/app.blade.php
+++ b/resources/views/layouts/app.blade.php
@@ -13,6 +13,13 @@
 
     <!-- Styles -->
     <link href="{{ asset('css/app.css') }}" rel="stylesheet">
+
+    <!-- Datetime picker -->
+    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
+	<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js"></script>
+	<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" />
+    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
 </head>
 <body>
     <div id="app">
diff --git a/resources/views/mahasiswa/form_hasil_bimbingan.blade.php b/resources/views/mahasiswa/form_hasil_bimbingan.blade.php
index a7ba8d6..ab94efa 100644
--- a/resources/views/mahasiswa/form_hasil_bimbingan.blade.php
+++ b/resources/views/mahasiswa/form_hasil_bimbingan.blade.php
@@ -66,7 +66,13 @@
                     @endif
                     <div class="form-group row col-md-12">
                         <label for="tanggal_waktu" class="col-md-4 col-form-label text-md-right text-center">Waktu Bimbingan<sup>*</sup></label>
-                        <input type="datetime-local" id="tanggal_waktu" name="tanggal_waktu" class="form-control col-md-8 " value="{{$tgl}}" required>
+                        <!-- <input type="datetimelocal" id="tanggal_waktu" name="tanggal_waktu" class="form-control col-md-8 " value="{{$tgl}}" required> -->
+                        <div class="input-group date justify-content-center col-md-8" id="datetimepicker3" data-target-input="nearest" style="padding-left: 0px; padding-right: 0px;">
+                            <input type="text" id="tanggal_waktu" name="tanggal_waktu" class="form-control datetimepicker-input" value="{{$tgl}}" required>
+                            <div class="input-group-append" data-target="#datetimepicker3" data-toggle="datetimepicker">
+                                <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                            </div>
+                        </div>
                     </div>
                     <div class="form-group row col-md-12">
                         <label for="hasil_dan_diskusi" class="col-md-4 col-form-label text-md-right text-center ">Hasil dan Diskusi<sup>*</sup></label>
@@ -78,15 +84,33 @@
                     </div>
                     <div class="form-group row col-md-12">
                         <label for="waktu_bimbingan_selanjutnya" class="col-md-4 col-form-label text-md-right text-center">Waktu Bimbingan Selanjutnya</label>
-                        <input type="datetime-local" id="waktu_bimbingan_selanjutnya" name="waktu_bimbingan_selanjutnya" class="form-control col-md-8 " value="{{$tgl_selanjutnya}}">
+                        <!-- <input type="datetimelocal" id="waktu_bimbingan_selanjutnya" name="waktu_bimbingan_selanjutnya" class="form-control col-md-8 " value="{{$tgl_selanjutnya}}"> -->
+                        <div class="input-group date justify-content-center col-md-8" id="datetimepicker4" data-target-input="nearest" style="padding-left: 0px; padding-right: 0px;">
+                            <input type="text" id="waktu_bimbingan_selanjutnya" name="waktu_bimbingan_selanjutnya" class="form-control datetimepicker-input " value="{{$tgl_selanjutnya}}">
+                            <div class="input-group-append" data-target="#datetimepicker4" data-toggle="datetimepicker">
+                                <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                            </div>
+                        </div>
                     </div>
                 </div>
 
+                <script type="text/javascript">
+                    function formatDate() {
+                        var date = document.getElementById('tanggal_waktu');
+                        var day = moment(date.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss");
+                        document.getElementById('tanggal_waktu').value = day;
+
+                        var date2 = document.getElementById('waktu_bimbingan_selanjutnya');
+                        var day2 = moment(date2.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss");
+                        document.getElementById('waktu_bimbingan_selanjutnya').value = day2;
+                    }
+                </script>
+
             </form>
             <span><sup>*</sup>Wajib diisi</span>
             <div class="row justify-content-center align-items-center">
                 <button type="exit" class="btn btn-white mr-2" onclick="backpage()">Cancel</button>
-                <button type="submit" form="form-hsl-bimbingan" class="btn btn-blue ml-2">Submit</button>
+                <button type="submit" form="form-hsl-bimbingan" class="btn btn-blue ml-2" onClick="formatDate();">Submit</button>
             </div>
         </div>
     </div>
diff --git a/resources/views/manajer/detail_mahasiswa_control.blade.php b/resources/views/manajer/detail_mahasiswa_control.blade.php
index 3db9c11..18ae828 100644
--- a/resources/views/manajer/detail_mahasiswa_control.blade.php
+++ b/resources/views/manajer/detail_mahasiswa_control.blade.php
@@ -155,17 +155,16 @@
                                             <i class="material-icons font-size-18-px mr-2">check_circle</i>
                                             &nbsp Jadwal seminar topik ditetapkan oleh {{$seminarTopik->creator->name}}
                                             pada {{date("d M Y H:i:s", strtotime($seminarTopik->created_at.'UTC'))}}
-
-
                                         </div>
                                         <fieldset disabled="disabled">
                                             @endif
-                                            <form action="{{route('seminartopik-penetapan')}}" method="post">
+                                            <!-- <form action="{{route('seminartopik-penetapan')}}" method="post">
                                                 {{csrf_field()}}
+                                                
                                                 <input type="hidden" name="mahasiswa" value="{{$mahasiswa->id}}">
                                                 <div class="row justify-content-center">
                                                     <div>
-                                                        <input type="datetime-local" class="form-control" name="date"
+                                                        <input type="datetimelocal" class="form-control" name="date"
                                                                @if($seminarTopik)
                                                                value="{{date("Y-m-d\TH:i:s", strtotime($seminarTopik->schedule))}}"
                                                                 @endif
@@ -175,7 +174,38 @@
                                                         Tetapkan
                                                     </button>
                                                 </div>
-                                            </form>
+                                            </form> -->
+            
+                                                <form action="{{route('seminartopik-penetapan')}}" method="post">
+                                                    {{csrf_field()}}
+                                                    <input type="hidden" name="mahasiswa" value="{{$mahasiswa->id}}">
+                                                    <div class="row justify-content-center">            
+                                                        <div class="input-group date justify-content-center col-6" id="datetimepicker1" data-target-input="nearest">
+                                                            <input type="text" id="datetimeinput1" class=" form-control datetimepicker-input" data-target="#datetimepicker1" name="date" 
+                                                            @if($seminarTopik)
+                                                               value="{{date("m/d/Y H:i A", strtotime($seminarTopik->schedule))}}"
+                                                                @endif
+                                                            >
+                                                            <div class="input-group-append" data-target="#datetimepicker1" data-toggle="datetimepicker">
+                                                                <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                                                            </div>
+                                                        </div>
+                                                        
+                                                        <button class="btn btn-blue ml-4" onClick="formatDate();">
+                                                            Tetapkan
+                                                        </button>
+                                                        <script type="text/javascript">
+                                                            function formatDate() {
+                                                                var date = document.getElementById('datetimeinput1');
+                                                                var day = moment(date.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss");
+                                                                document.getElementById('datetimeinput1').value = day;
+                                                            }
+                                                        </script>
+                                                    </div>
+                                                </form>
+                                                 
+
+                                            
                                             @if($mahasiswa->status >= \App\Mahasiswa::STATUS_SIAP_SEMINAR_TOPIK)
                                         </fieldset>
                                     @endif
@@ -486,14 +516,30 @@
                                                 <input type="hidden" name="mahasiswa" value="{{$mahasiswa->id}}">
                                                 <div class="form-group row mt-2">
                                                     <label for="name" class="col-md-4 col-form-label text-md-right">Jadwal Seminar Proposal</label>
-                                                    <div class="col-md-6">
-                                                        <input type="datetime-local" class="form-control" name="date"
+                    
+                                                    <div class="input-group date justify-content-center col-md-6" id="datetimepicker2" data-target-input="nearest">
+                                                        <!-- <input type="datetimelocal" class="form-control" name="date"
                                                                @if($seminarProposal)
                                                                value="{{date("Y-m-d\TH:i:s", strtotime($seminarProposal->schedule))}}"
                                                                 @endif
-                                                        >
+                                                        > -->
+                                                        <input type="text" id="datetimeinput2" class="form-control datetimepicker-input" data-target="#datetimepicker2" name="date" 
+                                                                @if($seminarTopik)
+                                                                value="{{date("m/d/Y H:i A", strtotime($seminarTopik->schedule))}}"
+                                                                    @endif
+                                                                >
+                                                                <div class="input-group-append" data-target="#datetimepicker2" data-toggle="datetimepicker">
+                                                                    <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                                                                </div>
                                                     </div>
                                                 </div>
+                                                <script type="text/javascript">
+                                                    function formatDate() {
+                                                        var date = document.getElementById('datetimeinput2');
+                                                        var day = moment(date.value, "MM/DD/YYYY HH:mm A").format("YYYY-MM-DDTHH:mm:ss");
+                                                        document.getElementById('datetimeinput2').value = day;
+                                                    }
+                                                </script>
                                                 <div class="form-group row mt-2">
                                                     <label for="name" class="col-md-4 col-form-label text-md-right">Dosen Pembimbing 1</label>
                                                     <div class="col-md-6">
@@ -586,7 +632,7 @@
                                                 </div>
 
                                                 <div class="row justify-content-center">
-                                                    <button class="btn btn-blue ml-4">
+                                                    <button class="btn btn-blue ml-4" onClick="formatDate()">
                                                         Tetapkan
                                                     </button>
                                                 </div>
diff --git a/resources/views/manajer/penjadwalan.blade.php b/resources/views/manajer/penjadwalan.blade.php
index 0ce9648..71cf7eb 100644
--- a/resources/views/manajer/penjadwalan.blade.php
+++ b/resources/views/manajer/penjadwalan.blade.php
@@ -68,7 +68,13 @@
                                     <td>
                                         <input type="hidden" id="id{{$item->topic->mahasiswa_id}}" name="id{{$item->topic->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topic->mahasiswa_id}}">
                                         <input type="hidden" id="tp{{$item->topic->mahasiswa_id}}" name="tp{{$item->topic->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topic_id}}">
-                                        <input type="datetime-local" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton()">
+                                        <!-- <input type="datetimelocal" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton()"> -->
+                                        <div class="input-group date justify-content-center col-lg-12" id="datetimepicker5" data-target-input="nearest">
+                                            <input type="text" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control datetimepicker-input " value="" onkeyup="updateSaveButton()">
+                                            <div class="input-group-append" data-target="#datetimepicker5" data-toggle="datetimepicker">
+                                                <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                                            </div>
+                                        </div>
                                     </td>
                                 </tr>
                                 @php($count++)
@@ -96,7 +102,13 @@
                                             <td>
                                                 <input type="hidden" id="id{{$item->mahasiswa_id}}" name="id{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->mahasiswa_id}}">
                                                 <input type="hidden" id="tp{{$item->mahasiswa_id}}" name="tp{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->topik_id}}">
-                                                <input type="datetime-local" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="{{$tgl}}" onkeyup="updateSaveButton()">
+                                                <!-- <input type="datetimelocal" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="{{$tgl}}" onkeyup="updateSaveButton()"> -->
+                                                <div class="input-group date justify-content-center col-lg-12" id="datetimepicker6" data-target-input="nearest">
+                                                    <input type="text" id="sch{{$item->topic->mahasiswa_id}}" name="sch{{$item->topic->mahasiswa_id}}" class="form-control datetimepicker-input " value="" onkeyup="updateSaveButton()">
+                                                    <div class="input-group-append" data-target="#datetimepicker6" data-toggle="datetimepicker">
+                                                        <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                                                    </div>
+                                                </div>
                                             </td>
                                         </tr>
                                         @php($no++)
@@ -176,7 +188,13 @@
                                     <td>
                                         <input type="hidden" id="id{{$item->mahasiswa_id}}" name="id{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->mahasiswa_id}}">
                                         <input type="hidden" id="tp{{$item->mahasiswa_id}}" name="tp{{$item->mahasiswa_id}}" class="form-control col-md-8 " value="{{$item->id}}">
-                                        <input type="datetime-local" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton2()">
+                                        <!-- <input type="datetimelocal" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control col-lg-12 " value="" onkeyup="updateSaveButton2()"> -->
+                                        <div class="input-group date justify-content-center col-lg-12" id="datetimepicker7" data-target-input="nearest">
+                                            <input type="text" id="sch{{$item->mahasiswa_id}}" name="sch{{$item->mahasiswa_id}}" class="form-control datetimepicker-input " value="" onkeyup="updateSaveButton2()">
+                                            <div class="input-group-append" data-target="#datetimepicker7" data-toggle="datetimepicker">
+                                                <div class="input-group-text"><i class="fa fa-calendar"></i></div>
+                                            </div>
+                                        </div>
                                     </td>
                                 </tr>
                                 @php($count++)
@@ -352,7 +370,7 @@
             var inputs = document.getElementsByTagName('input');
             var button = document.getElementById('save2');
             for(var i = 0; i < inputs.length; i++){
-                if(inputs[i].type.toLowerCase() === 'datetime-local'){
+                if(inputs[i].type.toLowerCase() === 'text'){
                     if(inputs[i].value.toString() === ""){
                         button.classList.add('disabled');
                         button.disabled = true;
@@ -370,7 +388,7 @@
             var inputs = document.getElementsByTagName('input');
             var button = document.getElementById('save');
             for(var i = 0; i < inputs.length; i++){
-                if(inputs[i].type.toLowerCase() === 'datetime-local'){
+                if(inputs[i].type.toLowerCase() === 'text'){
                     if(inputs[i].value.toString() === ""){
                         button.classList.add('disabled');
                         button.disabled = true;
-- 
GitLab